se introduction
TRANSCRIPT
-
7/31/2019 SE Introduction
1/57
1
-
7/31/2019 SE Introduction
2/57
2
-
7/31/2019 SE Introduction
3/57
3
-
7/31/2019 SE Introduction
4/57
4
-
7/31/2019 SE Introduction
5/57
5
-
7/31/2019 SE Introduction
6/57
6
-
7/31/2019 SE Introduction
7/57
7
-
7/31/2019 SE Introduction
8/57
8
-
7/31/2019 SE Introduction
9/57
9
-
7/31/2019 SE Introduction
10/57
10
-
7/31/2019 SE Introduction
11/57
11
-
7/31/2019 SE Introduction
12/57
12
-
7/31/2019 SE Introduction
13/57
13
-
7/31/2019 SE Introduction
14/57
14
-
7/31/2019 SE Introduction
15/57
15
-
7/31/2019 SE Introduction
16/57
16
-
7/31/2019 SE Introduction
17/57
17
-
7/31/2019 SE Introduction
18/57
18
-
7/31/2019 SE Introduction
19/57
19
-
7/31/2019 SE Introduction
20/57
20
Review
V&V
actions tobe carried
out
(entry criteria) (exit criteria)
inputs
ProjectControl info
info for
management
outputs
-
7/31/2019 SE Introduction
21/57
21
-
7/31/2019 SE Introduction
22/57
22
-
7/31/2019 SE Introduction
23/57
23
-
7/31/2019 SE Introduction
24/57
24
-
7/31/2019 SE Introduction
25/57
25
-
7/31/2019 SE Introduction
26/57
26
systemengineering
AnalysisProject planning
design
code
testing &integration
Installation &
maintenance
-software part of some larger system-establish requirements for all elements of the system; assign some
to software
-understand information domain, functions, performance
and interfacing. Project plans made
-translate requirements into s/w architecture, data structures
and procedural details. A detailed design step can be added
-programming
-test logic and function interfaces
-deployment; make changes for
-Errors, performance-changes in requirement
-
7/31/2019 SE Introduction
27/57
27
-
7/31/2019 SE Introduction
28/57
28
Problemdefinition
Feasibilitystudy
Analysis Systemdesign
Detaileddesign
Implemen-tation
Mainten-ance
Total accumulated cost
-
7/31/2019 SE Introduction
29/57
29
-
7/31/2019 SE Introduction
30/57
30
-
7/31/2019 SE Introduction
31/57
31
-
7/31/2019 SE Introduction
32/57
32
-
7/31/2019 SE Introduction
33/57
33
Requirementsgathering
Quick
design buildprototype
evaluate &refine
Engineerproduct
-
7/31/2019 SE Introduction
34/57
34
-
7/31/2019 SE Introduction
35/57
35
-
7/31/2019 SE Introduction
36/57
36
Evolutionary Development model [SE-7, Fig 4.2]
ValidationFinal
version
DevelopmentIntermediate
versions
Specification Initialversion
Outline
description
Concurrent
activities
-
7/31/2019 SE Introduction
37/57
37
Evolutionary Development..
Main characteristics:
The phases of the software construction are interleaved
Feedback from the user is used throughout the entire process
The software product is refined through many versions
Types of evolutionary development:
Exploratory development
Throw-away prototyping
-
7/31/2019 SE Introduction
38/57
38
Evolutionary Development
Advantages:
Deals constantly with changes
Provides quickly an initial version of the system
Involves all development teams
Disadvantages:
Quick fixes may be involved
Invisible process, not well-supported by documentation
The systems structure can be corrupted by continuous change
-
7/31/2019 SE Introduction
39/57
39
Evolutionary Development
Disadvantages [contd]:
Special tools and techniques may be necessary
The client may have the impression the first version is very close to the final
product and thus be less patient
Applicability:
When requirements are not well understood
When the client and the developer agree on a rapid prototype that will be
thrown away
Good for small and medium-sized software systems
-
7/31/2019 SE Introduction
40/57
40
Component-based Software Engineering
Requirementsspecification Componentanalysis
Developmentand integration
System designwith reuse
Requirementsmodification
Systemvalidation
-
7/31/2019 SE Introduction
41/57
41
Component-based Software Engineering..
Main characteristics:
Makes intensive use of existing reusable components
The focus is on integrating the components rather than on creatingthem from the scratch
-
7/31/2019 SE Introduction
42/57
42
Component-based Software Engineering.
Advantages:
Reduces considerably the software to be developed in-house
Allows faster delivery
In principle, more reliable systems, due to using previously tested
components
-
7/31/2019 SE Introduction
43/57
43
Component-based Software Engineering
Disadvantages:
Compromises in requirements are needed
Less control over the systems evolution
Applicability:
When there is a pool of existing components that could satisfy the
requirements of the new product
Emerging trend: integration of web services from a range of suppliers
-
7/31/2019 SE Introduction
44/57
44
1. Determine objectives,Alternatives, constraints
2. Evaluate alternatives,identify and handle risks
4. Plan next step 3. Develop the software
-
7/31/2019 SE Introduction
45/57
45
-
7/31/2019 SE Introduction
46/57
46
-
7/31/2019 SE Introduction
47/57
47
Spiral Model
Main characteristics:
Also a hybrid model that support process iteration
The process is represented as a spiral, each loop in the spiral representing a process
phase Four sectors per loop: objective setting, risk assessment and reduction, development
and validation, planning
Risk is explicitly taken into consideration
-
7/31/2019 SE Introduction
48/57
48
Spiral Model
Advantages:
Risk reduction mechanisms are in place
Supports iteration and reflects real-world practices
Systematic approach
Disadvantages:
Requires expertise in risk evaluation and reduction
Complex, relatively difficult to follow strictly
Applicable only to large systems
Applicability:
Internal development of large systems
-
7/31/2019 SE Introduction
49/57
49
The Rational Unified Process
Phase iteration
Incept ion Elaborat ion Const ruct ion Transit ion
-
7/31/2019 SE Introduction
50/57
50
-
7/31/2019 SE Introduction
51/57
51
-
7/31/2019 SE Introduction
52/57
52
Classification of CASE technology [SE-7, Fig 4.14]
Single-methodworkbenches
General-purposeworkbenches
Multi-methodworkbenches
Language-specificworkbenches
Programming Test ingAnalysis anddesign
Integratedenvironments
Process-centredenvironments
Filecomparators
CompilersEditors
EnvironmentsWorkbenchesTools
CASEtechnology
-
7/31/2019 SE Introduction
53/57
53
-
7/31/2019 SE Introduction
54/57
54
-
7/31/2019 SE Introduction
55/57
55
-
7/31/2019 SE Introduction
56/57
56
-
7/31/2019 SE Introduction
57/57