2. Topics covered
• Introduction : Software Engineering
Paradigm
• Software Process
• Computer based system
• Verification- Validation
• System Engineering Hierarchy
2
3. Introduction
Software engineering ->Software + Engineering
• Software is a collection of integrated programs.
• Carefully-organized instructions and code written
by developers on any computer languages.
• Computer programs and related documentation
such as requirements, design models and user
manuals.
• Software= Program + Documentation + Operating
procedures
3
4. Engineering
• Engineering is the application of scientific and
practical knowledge to invent, design, build,
maintain, and improve frameworks, processes,
etc.
• Software engineering encompasses a process, a
collection of methods (practice) and an array of
tools that allow professionals to build high
quality computer software.
4
5. Why is Software Engineering
required?
• To manage Large software
• For more Scalability
• Cost Management
• To manage the dynamic nature of software
• For better quality Management
5
7. Software Processes
• Software process is the set of activities/steps and associated outcome that
produce a software product.
Four key process activities
• Software specifications: The functionality of the software and constraints
on its operation must be defined.
• Software development: The software to meet the requirement must be
produced.
• Software validation: The software must be validated to ensure that it does
what the customer wants.
• Software evolution: The software must evolve to meet changing client
needs.
7
8. Computer based system
Webster's definition for a computer-based system as a set or arrangement of elements that are
organized to accomplish some predefined goal by processing information.
Computer-based system makes use of a variety of system elements:
• Software. Computer programs, data structures, and related documentation that serve to
effect the logical method, procedure, or control that is required.
• Hardware. Electronic devices that provide computing capability, the interconnectivity
devices (e.g., network switches, telecommunications devices) that enable the flow of
data, and electromechanical devices (e.g., sensors, motors, pumps) that provide external
world function.
• People. Users and operators of hardware and software.
• Database. A large, organized collection of information that is accessed via software.
Documentation. Descriptive information (e.g., hardcopy manuals, on-line help files,
Web sites) that portrays the use and/or operation of the system.
• Procedures. The steps that define the specific use of each system element or the
procedural context in which the system resides.
8
9. Verification- Validation
Verification Validation
Developing the right product or not. Developed product is right.
Verification is also known as static testing. Validation is also known as dynamic testing.
Verification includes different methods like Inspections,
Reviews, and Walkthroughs.
Validation includes testing like functional testing system
testing, integration and User acceptance testing.
It is a process of checking the work-products (not the final
product) of a development cycle to decide whether the
product meets the specified requirements.
It is a process of checking the software during or at the
end of the development cycle to decide whether the
software follow the specified business requirements.
Quality assurance comes under verification testing. Quality control comes under validation testing.
The execution of code does not happen in the verification
testing.
In validation testing, the execution of code happens.
In verification testing, we can find the bugs early in the
development phase of the product.
In the validation testing, we can find those bugs, which
are not caught in the verification process.
Verification testing is executed by the Quality assurance
team to make sure that the product is developed according
to customers' requirements.
Validation testing is executed by the testing team to test
the application.
Verification is done before the validation testing. After verification testing, validation testing takes place.
Verify that the inputs follow the outputs or not. Validate that the user accepts the product or not.
11. • System engineering encompasses a group of bottom- up and
top-down techniques to navigate the hierarchy
• Procedure usually a start with a “world view” which is the
entire business or product domain
• World view is refined to focus more fully on a specific
domain of interest
• Within a specific domain, the requirement for targeted system
elements example for software, data, hardware, and people is
analysed
• The final stage the construction and analysis design of a
targeted system element is initiated
• On the top of the hierarchy a very wide context is established
and at the bottom detailed technical activities established
11
12. • Beginning in a slightly more formal manner the world
view (WV) is composed of a group of systems in its own
right.
WV={D1,D2,D3....Dn}
• Every domain is composed of exact elements (Ej) every
of that serves some role in accomplishing the target and
objective of the domain:
Di={E1,E2,E3....Em}
• At last each element is implemented through
specifying the technical components(Ck) which
achieve the necessary function for an element.
Ej={C1,C2,C3....Ck}
12