All Models - Of Se
-
Upload
sujitkarande -
Category
Documents
-
view
230 -
download
0
Transcript of All Models - Of Se
-
8/4/2019 All Models - Of Se
1/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1
Software Engineering
Software Engineering is the science and art of
building significant software systems that are:
1) on time
2) on budget
3) with acceptable performance
4) with correct operation.
-
8/4/2019 All Models - Of Se
2/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 2
The economies of all developed nations are
dependent on software.
More and more systems are software controlled.
Software engineering is concerned with theories,
methods and tools for professional software
development.
Software engineering expenditure represents asignificant fraction of the GNP of developed
countries.
Software Engineering
-
8/4/2019 All Models - Of Se
3/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 3
Software costs often dominate system costs. The
costs of software on a PC are often greater than
the hardware cost.
Software costs more to maintain than it does todevelop.
Software engineering is concerned with cost-
effective software development.
Software Costs
-
8/4/2019 All Models - Of Se
4/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 4
Software Products
Generic products: Stand-alone systems which are produced by a development
organization and sold on the open market to any customer.
Customized products: Systems which are commissioned by a specific customer and
developed specially by some contractor.
-
8/4/2019 All Models - Of Se
5/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 5
Software Product Attributes
Maintainability
Dependability
Efficiency
Usability
-
8/4/2019 All Models - Of Se
6/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 6
Importance of Product Characteristics
The relative importance of these characteristics
depends on the product and the environment in
which it is to be used.
In some cases, some attributes may dominate In safety-critical real-time systems, key attributes may be
dependability and efficiency.
Costs tend to rise exponentially if very high
levels of any one attribute are required.
-
8/4/2019 All Models - Of Se
7/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 7
Efficiency Costs
Cost
Efficiency
-
8/4/2019 All Models - Of Se
8/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 8
The Software Process
Structured set of activities required to develop a
software system Specification
Design Validation
Evolution
Activities vary depending on the organization
and the type of system being developed. Must be explicitly modeled if it is to be
managed.
-
8/4/2019 All Models - Of Se
9/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 9
Engineering Process Model
Specification: Set out the requirements and
constraints on the system.
Design: Produce a model of the system.
Manufacture: Build the system.
Test: Check the system meets the required
specifications.
Install: Deliver the system to the customer andensure it is operational.
Maintain: Repair faults in the system as they
are discovered.
-
8/4/2019 All Models - Of Se
10/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 10
Software Engineering is Different
Normally, specifications are incomplete.
Very blurred distinction between specification,
design and manufacture.
No physical realization of the system for testing.
Software does not wear out - maintenance
does not mean component replacement.
-
8/4/2019 All Models - Of Se
11/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 11
Generic Software Process Models
Waterfall Separate and distinct phases of specification and development
Evolutionary Specification and development are interleaved
Formal Transformation A mathematical system model is formally transformed to an
implementation
Reuse-based The system is assembled from existing components
-
8/4/2019 All Models - Of Se
12/23Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 12
Waterfall Process ModelRequirements
definition
System andsoftware design
Implementationand unit testing
Integration and
system testing
Operation andmaintenance
-
8/4/2019 All Models - Of Se
13/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 13
Evolutionary Process Model
ValidationFinal
version
DevelopmentIntermediate
versions
SpecificationInitial
version
Outline
description
Concurr entactivities
-
8/4/2019 All Models - Of Se
14/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 14
Process Model Problems
Waterfall High risk for new systems because of specification and
design problems.
Low risk for well-understood developments using familiar
technology.
Prototyping Low risk for new applications because specification and
program stay in step.
High risk because of lack of process visibility.
Transformational High risk because of need for advanced technology and
staff skills.
-
8/4/2019 All Models - Of Se
15/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 15
Hybrid Process Models
Large systems are usually made up of several
sub-systems.
The same process model need not be used for
all subsystems.
Prototyping for high-risk specifications.
Waterfall model for well-understood
developments.
-
8/4/2019 All Models - Of Se
16/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 16
Spiral Process Model
Riskanalysis
Riskanalysis
Riskanalysis
Riskanalysis Proto-
type 1
Prototype 2Prototype 3
Opera-
tionalprotoype
Concept ofOperation
Simulations, models, benchmarks
S/Wrequirements
Requirementvalidation
DesignV&V
Productdesign Detailed
design
Code
Unit tes t
IntegrationtestAcceptance
testService Develop, verifynext-level p roduct
Evaluate alternativesidentify, resolve risks
Determine objectivesalternatives and
constraints
Plan next phase
Integrationand test plan
Developmentplan
Requirements planLife-cycle plan
REVIEW
-
8/4/2019 All Models - Of Se
17/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 17
Spiral Model Advantages
Focuses attention on reuse options.
Focuses attention on early error elimination.
Puts quality objectives up front.
Integrates development and maintenance.
Provides a framework for hardware/software
development.
-
8/4/2019 All Models - Of Se
18/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 18
Spiral Model Problems
Contractual development often specifies
process model and deliverables in advance.
Requires risk assessment expertise.
-
8/4/2019 All Models - Of Se
19/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 19
Process Visibility
Software systems are intangible so managers
need documents to assess progress.
Waterfall model is still the most widely used
model.
-
8/4/2019 All Models - Of Se
20/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 20
Waterfall Model Documents
Activity Output documents
Requirements analysis Feasibility study, Outline requirements
Requirements definition Requirements document
System specification Functional specification, Acceptance test plan
Draft user manualArchitectural design Architectural specification, System test plan
Interface design Interface specification, Integration test plan
Detailed design Design specification, Unit test plan
Coding Program code
Unit testing Unit test report
Module testing Module test report
Integration testing Integration test report, Final user manual
System testing System test report
Acceptance testing Final system plus documentation
-
8/4/2019 All Models - Of Se
21/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 21
Process Model Visibility
Proces s model Proces s visibility
Waterfall model Good visibility, each activity produces somedeliverable
Evolutionary
development
Poor visibility, uneconomic to produce
documents during rapid iterationFormaltransformations
Good visibility, documents must be producedfrom each phase for the process to continue
Reuse-orienteddevelopment
Moderate visibility, it may be artificial toproduce documents describing reuse and
reusable components.Spiral model Good visibility, each segment and each ring
of the spiral should produce some document.
-
8/4/2019 All Models - Of Se
22/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 22
Professional Responsibility
Software engineers should not just be concerned
with technical considerations. They have wider
ethical, social and professional responsibilities.
No clear rights and wrongs about many of theseissues: Development of military systems
Whistle blowing
-
8/4/2019 All Models - Of Se
23/23
Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 23
Ethical Issues
Confidentiality
Competence
Intellectual property rights
Computer misuse