Software Engineering 1 The Life Cicle of Software Lesson 5.
-
Upload
ernest-watson -
Category
Documents
-
view
217 -
download
0
Transcript of Software Engineering 1 The Life Cicle of Software Lesson 5.
![Page 1: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/1.jpg)
Software Engineering 1
Software EngineeringSoftware Engineering
The Life Cicle of SoftwareLesson 5
![Page 2: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/2.jpg)
Software Engineering 2
0. Feasibility Study
1. Project Planning and Management
2. Risk Analysis
3. Requirements Analysis
4. Design Analysis
5. Software Implementation
6. V&V (Verification & Validation)
7. Maintness
The Life Cycle of Software
![Page 3: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/3.jpg)
Software Engineering 3
The Life Cycle of Software
1. Project Planning and Management
Cost, time and effort definitionTo show these informations we use: Gantt
Chart
![Page 4: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/4.jpg)
Software Engineering 4
The Life Cycle of Software
t0= Kickoff-Meeting tF= Software Derivable
Jan Feb Mar Apr May Jun Jul Aug
T1:= V&V
T4:= Requirements Analysis
T3:= Architectural Analysis
T2:= Software Implementation
a Dependency
= Milestone with
deliverable
![Page 5: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/5.jpg)
Software Engineering 5
The Life Cycle of Software
The Gantt Chart is made by Project Manager in the first phases
BUT
Gantt Chart is updated by Project Manager during the project
To make a Gantt Chart we use Microsoft Project
![Page 6: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/6.jpg)
Software Engineering 6
The Life Cycle of Software
Project Manager must update the Gantt Chart when:
• a developer changes work
• unexpected problems in the development
• …
![Page 7: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/7.jpg)
Software Engineering 7
The Life Cycle of Software
Some solutions for the updating:
• increase resource allocation (overtime – it does not always work…)
• assign more resources to certain tasks (it does not always work)
• try and break task dependencies (e.g. 80%, …)
• make it a parallel process by splitting the system in independent tasks
• … or end the project 20 days late
![Page 8: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/8.jpg)
Software Engineering 8
The Life Cycle of Software
t0= Kickoff-Meeting tF= Software Derivable
Jan Feb Mar Apr May Jun Jul Aug
T1:= V&V
T4:= Requirements Analysis
T3:= Architectural Analysis
T2:= Software Implementation
a Dependency
= Milestone with
deliverable
![Page 9: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/9.jpg)
Software Engineering 9
The Life Cycle of Software
t0= Kickoff-Meeting tF= Software Derivable
Jan Feb Mar Apr May Jun Jul Aug
T1:= V&V
T4:= Requirements Analysis
T3:= Architectural Analysis
T2:= Software Implementation
try and break task
dependencies
= Milestone with
deliverable
![Page 10: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/10.jpg)
Software Engineering 10
The Life Cycle of Software
t0= Kickoff-Meeting tF= Software Derivable
Jan Feb Mar Apr May Jun Jul Aug
T1:= V&V
T4:= Requirements Analysis
T3:= Architectural Analysis
T2:= Software Implementation
a Dependency
= Milestone with
deliverable
![Page 11: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/11.jpg)
Software Engineering 11
The Life Cycle of Software
t0= Kickoff-Meeting tF= Software Derivable
Jan Feb Mar Apr May Jun Jul Aug
T1:= V&V
T4:= Requirements Analysis
T3A:= A part of Architectural Analysis
T2A:= A part Software Implementation
parallel process
= Milestone with
deliverable
T2BT3B
![Page 12: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/12.jpg)
Software Engineering 12
The Life Cycle of Software
Project Planning and Management deliverable (made by user and software provider):
• Gantt Chart
• a table with more information about activities, developers, …
![Page 13: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/13.jpg)
Software Engineering 13
2. Risk Analysis
The Life Cycle of Software
• How can we avoid adverse event (planned or unplanned)?
• What can we do when an adverse event impact?
![Page 14: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/14.jpg)
Software Engineering 14
The Life Cycle of Software
Risk Analisys deliverable:
• a document with a list of adverse event and it’s solutions
![Page 15: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/15.jpg)
Software Engineering 15
The Life Cycle of Software
3. Requirements Analysis:(what the system should
do)
Functionals Requirements
NONFunctionals
Requirements
![Page 16: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/16.jpg)
Software Engineering 16
The Life Cycle of Software
Functionals Requirements
What the customer requires
![Page 17: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/17.jpg)
Software Engineering 17
The Life Cycle of Software
NONFunctionals
Requirements
Constraints of the system
![Page 18: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/18.jpg)
Software Engineering 18
Functionals Requirements:the services that the customer requires
The Life Cycle of Software
![Page 19: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/19.jpg)
Software Engineering 19
NON-Functionals Requirements:• system properties and constraints
(e.g. reliability, response time and
storage requirements)
• a particular programming language
• development method
The Life Cycle of Software
![Page 20: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/20.jpg)
Software Engineering 20
Requirements Analysis deliverable:
1. DSP (Checklist): requirements document
2. Test Planning: to check the requirements
3. User Manual
The Life Cycle of Software
![Page 21: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/21.jpg)
Software Engineering 21
Requirements Analysis component:
1. DSP (Checklist):natural language and Use Case Diagrams
2. Test Planning:natural language anda set of pair <input data, output data>
3. User Manual:natural language and snapshot of the interface
The Life Cycle of Software
![Page 22: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/22.jpg)
Software Engineering 22
Problems with natural language:
• functional and non-functional requirements tend to be mixed-up
• different requirements may be expressed together
• the analysis is difficult to understand
The Life Cycle of Software
![Page 23: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/23.jpg)
Software Engineering 23
4. Design Analysis(how the system should implement the requirements)
• design analysis define the system’s architecture
• requirements and design are inseparable
The Life Cycle of Software
![Page 24: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/24.jpg)
Software Engineering 24
The Life Cycle of Software
LogicalArchitecture
PhysicalArchitecture
StructuralBehaviour
How the modulesare structured
How the modules are implemented
How the modulesinteract
![Page 25: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/25.jpg)
Software Engineering 25
The Life Cycle of Software
Logical Architecture: an example
InterfaceUser Software Storage
![Page 26: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/26.jpg)
Software Engineering 26
The Life Cycle of Software
Physical Architecture : an example
PC Internet Server
![Page 27: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/27.jpg)
Software Engineering 27
Design Analysis deliverable:
many UML Diagrams with different detail
• Class Diagram
• Sequence Diagram
• Interaction Diagram
• Deployment Diagram
• …
The Life Cycle of Software
![Page 28: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/28.jpg)
Software Engineering 28
5. Software ImplementationWrite the code (e.g. Java. C++, …)
The Life Cycle of Software
Notice:only in sub-activity of this activity
the code is written!!!
![Page 29: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/29.jpg)
Software Engineering 29
Software Implementationdeliverables:
o source code of the systemo document with some preliminary tests
The Life Cycle of Software
![Page 30: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/30.jpg)
Software Engineering 30
6. V&V (Verification & Validation)
Make the test defined in the Requirerment Analysis
and some other test
Some of test are make by the developersOther test are make by other programmers
The Life Cycle of Software
![Page 31: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/31.jpg)
Software Engineering 31
The Life Cycle of Software
Several types of test:
• test (during the implementation)• unit test (after the implementation)• integration test• system test• -Test• -Test
![Page 32: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/32.jpg)
Software Engineering 32
The Life Cycle of Software
-Test
A version of the System tested by the users inside the Software Factory
V&V deliverable:
![Page 33: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/33.jpg)
Software Engineering 33
The Life Cycle of Software
-Test
A version of the System tested by some other users
V&V deliverable:
![Page 34: Software Engineering 1 The Life Cicle of Software Lesson 5.](https://reader030.fdocuments.us/reader030/viewer/2022032802/56649e175503460f94b02668/html5/thumbnails/34.jpg)
Software Engineering 34
The Life Cycle of Software
7. Maintness
• remove new bugs
• implement the change of requirements
• implement new requirements