Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination...
-
Upload
berenice-york -
Category
Documents
-
view
227 -
download
3
Transcript of Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination...
![Page 1: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/1.jpg)
1
Software Development Process
Yonglei Tao
![Page 2: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/2.jpg)
2
Software Development
Communication CoordinationConceptualization
Solutions• Processes and methodologies for analysis and design• UML for communication and coordination• Tools that automate or support methodology steps.
Tasks
![Page 3: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/3.jpg)
3
Software Process A software process defines a series of
activities performed to construct a software system Each activity produces some artifacts, which are
the input to other phases Each phase has a set of entrance criteria and a
set of exit criteria
![Page 4: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/4.jpg)
4
The Waterfall ModelSystem Engineering
Software Requirements Analysis
Software Design
Coding & Unit Testing
Integration & Integration Testing
Acceptance Testing
Maintenance
![Page 5: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/5.jpg)
5
Merits of the Waterfall Model Simplifies project management Supports function-oriented project
organization Each project is carried out by a pipeline of
functional teams Each functional team is specialized in one
function such as requirements analysis, design, implementation, integration and testing, and so forth
![Page 6: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/6.jpg)
6
Problems of the Waterfall Model It is inflexible to requirements change The long development duration means the
system is outdated when it is delivered Users cannot experiment with the system
to provide early feedback The customer has to wait until the entire
system is implemented and deployed to reap the benefits
The customer may lose the entire investment if the project fails
![Page 7: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/7.jpg)
7
Software Process Models Prototyping Process Model Evolutionary Process Model Spiral Process Model Unified Process Model Personal Software Process Model Team Software Process Model Agile Process Models
![Page 8: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/8.jpg)
8
Agile Processes Agile development values
individuals and interactions over processes and tools working software over comprehensive
documentation customer collaboration over contract negotiation responding to changes over following a plan
Agile processes emphasize teamwork joint application development with the user design for change rapid development and frequent delivery of small
increment in short iterations
![Page 9: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/9.jpg)
9
Agile Process Models
phas
es in
an
itera
tion
Iterations
![Page 10: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/10.jpg)
10
Some Well-Known Agile Methods Dynamic Systems Development Method
(DSDM) Feature Driven Development (FDD) Scrum Extreme Programming (XP) Crystal Clear Lean Development
![Page 11: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/11.jpg)
11
Agile versus Plan-Driven Agile methods work well for small to medium-
size projects that face frequent changes in requirements
Plan-driven approaches remain the de facto choice for large, complex systems where predictability is important
Both are needed “The challenge is to balance the two
approaches to take advantages of their strengths and compensate for their weaknesses.” – Boehm and Turner
![Page 12: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/12.jpg)
12
Process and MethodologyProcess Defines a framework of phased activities Specifies phases of WHAT Does not dictate representations of artifacts It is paradigm-independent A phase can be realized by different
methodologies
Methodology Defines steps to carry out phases of a process Describes steps of HOW Defines representations of artifacts (e.g., UML) It is paradigm-dependent Steps describe procedures, techniques, and
guidelines
![Page 13: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/13.jpg)
13
Software Design Paradigms Include a set of theories, standards, and
methods A way to organize knowledge A perspective to view a software system
Also provide notations, guiding principles, evaluation criteria, and support tools
![Page 14: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/14.jpg)
(1) Structured Analysis and Design
14
SA / SD SA uses Data Flow Diagrams (DFDs) SD uses Structure Charts
View point Functional What needs to be done
Design strategy Top-down decomposition
![Page 15: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/15.jpg)
Data Flow Diagrams
15
![Page 16: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/16.jpg)
Problem Solving
16
![Page 17: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/17.jpg)
DFD Example - Context Diagram
17
![Page 18: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/18.jpg)
Level 1 DFD
18
![Page 19: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/19.jpg)
Level 2 DFD
19
![Page 20: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/20.jpg)
Structured Design – Structure Charts
20
M
MMM 1 32
M 1,1 M 1,2
XX Y
Y
X XX
11
![Page 21: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/21.jpg)
From Analysis to Design
21
![Page 22: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/22.jpg)
Structure Chart
22
![Page 23: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/23.jpg)
A Travel Agency Booking System
23
![Page 24: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/24.jpg)
(2) Jackson System Design
24
JSP / JSD JSP does not address issues of modularity, but
JSD does View point
How input and output data are organized A program structure reflects the structure of
what to be processed Design strategy
Compositional
![Page 25: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/25.jpg)
Jackson System Programming
25
A
DCB
(a)
X
Y*
(c)
H
L Mo o
(b)
![Page 26: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/26.jpg)
Example - A Gas Station System
26
![Page 27: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/27.jpg)
Step 1: Draw a Structure Diagrams for I/O
27
![Page 28: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/28.jpg)
Step 2: Merge Structure Diagrams to Form the Program Structure Diagram
28
![Page 29: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/29.jpg)
Step 3: Allocate Operations to Elements of the Program Structure Diagram
29
![Page 30: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/30.jpg)
Steps 4 & 5: Create a Textual Description of the Program Structure Diagram
30
![Page 31: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/31.jpg)
31
(3) Object-Oriented Design A different way of viewing the world
![Page 32: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/32.jpg)
Object-Oriented Concepts Agents and communities Classes and objects Responsibilities Object interaction Computation as simulation
Using the application domain as a metaphor
32
![Page 33: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/33.jpg)
Methodology in the Textbook It is designed for beginners as well as
seasoned developers. It is aimed at educating software architects
and systems analysts. It can be applied to agile as well as plan-
driven projects. It has been applied to industrial projects Many students continue practicing the
methodology after graduation
33
![Page 34: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/34.jpg)
Methodology Overview – Planning Phase
Deriving Use Cases from Requirements
Allocating Use Cases &to Iterations
Acquiring Requirements & Domain Modeling
Business goals & needs Current situation
Requirements
Abstract & high level use cases, use case diagrams
Use case-iteration allocation matrix
Producing an Architecture Design
Software architecture34
![Page 35: Software Development Process Yonglei Tao 1. 2 Software Development Communication Coordination Conceptualization Solutions Processes and methodologies.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e0b5503460f94af3cba/html5/thumbnails/35.jpg)
AccommodatingRequirements Change
Methodology Overview – Iterative Phase
Deriving Design Class Diagram
Actor-System Interaction Modeling & UI Design
Domain Modeling
Behavioral Design
TDD, Integration, & Deployment
Iteration use cases
Domain model
Expanded use cases & UI design
Behavior diagrams
Design class diagram
Domain model
Use case-iteration allocation matrix
Software architecture
35