Professional Documents
Culture Documents
Lesson2 PDF
Lesson2 PDF
Lesson 2
1/4/2012
CPSC-4360, Lesson 2
SE definitions
Quality of Good Software
Activities and associated stages
1/4/2012
Structured Analysis
Object-Oriented Method
CPSC-4360, Lesson 2
Waterfall Model
Evolutionary Models
Incremental Model
Spiral Model
Unified Process
Overview of UML
1/4/2012
History
4 + 1 View models
Using UML in UP
CPSC-4360, Lesson 2
Specification.
Development.
Validation.
Evolution.
1/4/2012
Waterfall Model.
Evolutionary Model.
CPSC-4360, Lesson 2
Waterfall Model
1/4/2012
CPSC-4360, Lesson 2
Waterfall Model
Defined a number of phases, e.g.,
requirement phase, design phase, etc.
The phases correspond to the four stages of
the fundamental software process activities
(lecture 1).
Assumption behind the model:
1/4/2012
CPSC-4360, Lesson 2
Waterfall Model
In theory:
In practice:
1/4/2012
1/4/2012
CPSC-4360, Lesson 2
1/4/2012
1/4/2012
CPSC-4360, Lesson 2
10
Evolutionary Model
Outline
description
1/4/2012
Specification
Initial
version
Development
Intermediate
versions
Validation
Final
version
CPSC-4360, Lesson 2
11
Evolutionary Model
Exploratory Development:
Throwaway prototyping:
1/4/2012
CPSC-4360, Lesson 2
12
1/4/2012
CPSC-4360, Lesson 2
13
1/4/2012
CPSC-4360, Lesson 2
14
Incremental Model
Develop
Increment
Split into
increments
Validate
Increment
Design
System
Architecture
Integrate
Increment
Validate
System
Final
System
1/4/2012
CPSC-4360, Lesson 2
15
Incremental Model
1/4/2012
CPSC-4360, Lesson 2
16
Incremental Model
Prioritizes the services to be provided by the
system.
Maps these requirements to Increment based
on priority.
Freezes requirement for the current Increment.
1/4/2012
17
Early utilization:
1/4/2012
CPSC-4360, Lesson 2
18
AGILE method:
1/4/2012
CPSC-4360, Lesson 2
19
Spiral Model
1/4/2012
CPSC-4360, Lesson 2
20
Spiral Model
This process is represented as a spiral rather
than as a sequence of activities with
backtracking.
Each loop = One Iteration = A process phase.
Each Loop passes through 4 quadrants (90):
Objective Setting.
Risk Assessment and Reduction.
Development and Validation.
Planning.
1/4/2012
CPSC-4360, Lesson 2
21
Spiral Model
Risk Driven:
Flexible:
1/4/2012
22
Unified Process
1/4/2012
CPSC-4360, Lesson 2
23
Unified Process
1/4/2012
CPSC-4360, Lesson 2
24
Inception:
Elaboration:
Construction:
Transition:
1/4/2012
25
Reuse-Oriented Development:
Aspect-Oriented Development.
Agent-Oriented Software Development.
1/4/2012
CPSC-4360, Lesson 2
26
A visual language to
1/4/2012
CPSC-4360, Lesson 2
27
Not executable.
However, there exist tools to translate into code
(skeleton), but the programmer still needs to do the
bulk of work.
However, there are tools that implement the UML
standard, e.g., ArgoUML, Visual Paradigm,
RationalRose.
1/4/2012
CPSC-4360, Lesson 2
28
1/4/2012
CPSC-4360, Lesson 2
29
System
Design
View
Implementation
View
Use Case
View
Deployment
Process
View
View
1/4/2012
CPSC-4360, Lesson 2
30
Audience:
Usage:
1/4/2012
CPSC-4360, Lesson 2
31
Elevator System
1/4/2012
32
Design View
Audience:
Usage:
1/4/2012
CPSC-4360, Lesson 2
33
Implementation View
Audience:
Usage:
1/4/2012
executable files,
libraries of code,
databases.
34
Process View
Audience:
Usage:
Relatively undeveloped.
1/4/2012
CPSC-4360, Lesson 2
35
Deployment View
Audience:
Usage:
Non-Functional.
Describes physical components that are deployed
in the physical environment:
Relatively Undeveloped.
1/4/2012
CPSC-4360, Lesson 2
36
UML Terminology
Model:
Model element:
Diagram:
1/4/2012
CPSC-4360, Lesson 2
37
1/4/2012
CPSC-4360, Lesson 2
38
1/4/2012
CPSC-4360, Lesson 2
39
Static:
Dynamic:
Implementation:
1/4/2012
Component diagram
Deployment diagram
CPSC-4360, Lesson 2
40
UML
UML model
specifies
Abstract view of
Java
Source code
specifies
Abstract view of
Executing program
Run time
Compile time
1/4/2012
Object structures
CPSC-4360, Lesson 2
41
UML Models
Both documentation (UML model) and Source code can
be described as compile-time artifacts.
Object structures: Programmers in object-oriented
languages (e.g., Java, C++) tend to use abstract models of
program execution which talk in terms of objects being
created and destroyed as a program runs.
Executing program: describes the effect the program has
on computers processor and memory when the program is
running.
The upper and below parts refer to design and
programming.
The left and right parts refer to compile-time and run-time.
1/4/2012
CPSC-4360, Lesson 2
42
1/4/2012
CPSC-4360, Lesson 2
43
1/4/2012
CPSC-4360, Lesson 2
44
1/4/2012
CPSC-4360, Lesson 2
45
1/4/2012
CPSC-4360, Lesson 2
46
1/4/2012
CPSC-4360, Lesson 2
47
2.
3.
4.
1/4/2012
CPSC-4360, Lesson 2
48
Summary
Waterfall Model
Evolutionary Models
Incremental Model
Spiral Model
Unified Process
Overview of UML
1/4/2012
History
4 + 1 View models
Using UML in UP
CPSC-4360, Lesson 2
49
Reading Suggestions
1/4/2012
CPSC-4360, Lesson 2
50
Coming up next
1/4/2012
CPSC-4360, Lesson 2
51
1/4/2012
CPSC-4360, Lesson 2
52