Software Engineering PowerPoint.ppt
Transcript of Software Engineering PowerPoint.ppt
-
7/27/2019 Software Engineering PowerPoint.ppt
1/16
Software Engineering
-
7/27/2019 Software Engineering PowerPoint.ppt
2/16
Why Software Engineering?
As technology advanced, so did the need to build biggerand ever more complex programs. Softwaredevelopmentreached a point where it had to bedeveloped by teams.
There had to be:- requirements, plans, detailed designs, actual building,
testing, development of efficient, intuitive user interfaces,and integration into larger systems of computers,machines, and people.
The discipline to develop software in this manner isknown as software engineering, a complex process thatitself requires many sub-processes.
-
7/27/2019 Software Engineering PowerPoint.ppt
3/16
What is Software Engineering?
The application of a systematic,
disciplined, quantifiable approach
to the development, operation, andmaintenance of software; that is,
the application of engineering to
software.
-
7/27/2019 Software Engineering PowerPoint.ppt
4/16
What is Software Engineering?
Software engineering is also defined as the
field of computer science that deals with
the building of software systems which are
so large or so complex that they are built
by a team or teams of engineers.
-
7/27/2019 Software Engineering PowerPoint.ppt
5/16
What is Software Engineering?
Usually these software systems exist in
multiple versions and are used for many
years.
During their life-time, they undergo many
changesto fix defects, to enhance
existing features, to add new features, to
remove old features or to be adapted torun in the new environment.
-
7/27/2019 Software Engineering PowerPoint.ppt
6/16
Why a structured approach to the
software development process?
Increased dependence of many organizationson their computer systems
Crises in previous developments; for example:* increasing costs of softwaredevelopment
* dissatisfaction of users and management
with the quality and suitability of software* increasing length and complexity of thesoftware.
-
7/27/2019 Software Engineering PowerPoint.ppt
7/16
Why a structured approach to the
software development process?
Requirements for standard interfaces, both to
users and other software.
Need for tighter control and management ofprocess (visibility of the process, risk
management)
Importance of the need for the involvement of
end users and management.
-
7/27/2019 Software Engineering PowerPoint.ppt
8/16
Attributes of a well-engineered
software product
The attributesof a software product are thecharacteristics displayed by the product, once itis installed and put in use.
They are notthe services provided by theproduct.
Rather, they are concerned with the productsdynamic behavior and the use made of theproduct.
-
7/27/2019 Software Engineering PowerPoint.ppt
9/16
Attributes of a well-engineered
software product
maintainability
dependability
efficiency usability
portability
availability of appropriatedocumentation
f
-
7/27/2019 Software Engineering PowerPoint.ppt
10/16
Attributes of a well-engineered
maintainability
It should be possible to evolve software to
meet the changing needs of the customer.
A ib f ll i d
-
7/27/2019 Software Engineering PowerPoint.ppt
11/16
Attributes of a well-engineered
dependability
Software dependability includes a range of
characteristics including reliability, security
and safety. Dependable software should
not cause physical or economic damage inthe event of system failure.
-
7/27/2019 Software Engineering PowerPoint.ppt
12/16
Attributes of a well-engineered
efficiency
Software should not make wasteful use of
system resources such as memory and
processor cycle.
-
7/27/2019 Software Engineering PowerPoint.ppt
13/16
Attributes of a well-engineered
usability
Software should have an appropriate user
interface and documentation
-
7/27/2019 Software Engineering PowerPoint.ppt
14/16
Attributes of a well-engineered
portability
This refers to the ability to reuse the existing code
instead of creating new code when moving
software from one environment to another.
Software portability may be achieved on threedifferent levels:
Installed program files may be transferred to another computer.
The program may be reinstalled (from the distribution files) on
another computer.
The source filesmay be compiledfor another computer.
http://en.wikipedia.org/wiki/Source_filehttp://en.wikipedia.org/wiki/Compilehttp://en.wikipedia.org/wiki/Compilehttp://en.wikipedia.org/wiki/Source_file -
7/27/2019 Software Engineering PowerPoint.ppt
15/16
Attributes of a well-engineered
availability of appropriate documentation
Computer Software that is accompanied with
written text on software documentationor
source code documentation. It either explainshow it operates or how to use it .
Types of documentation include: Requirements- Statements that identify attributes, capabilities,
characteristics, or qualities of a system. This is the
foundation for what shall be or has been implemented. Architecture/Design- Overview of software. Includes relations to an
environment and construction principles to be
used in design of software components.
Technical - Documentation of code, algorithms, interfaces, and APIs.
End User- Manuals for the end-user, system administrators and support staff.
Marketing- How to market the product and analysis of the market demand.
-
7/27/2019 Software Engineering PowerPoint.ppt
16/16
Attributes of a well-engineered
availability of appropriate documentation
Types of documentation include: Requirements- Statements that identify attributes, capabilities,
characteristics, or qualities of a system. This is the
foundation for what shall be or has been implemented.
Technical - Documentation of code, algorithms, interfaces, and APIs.
API Applications Programming Interface
End User- Manuals for the end-user, system administrators and
support staff.
Marketing- How to market the product and analysis of the market
demand.