0% found this document useful (0 votes)
14 views

SAD - Ch3 - UML and Software Development Process

Systems Analysis and Design

Uploaded by

quannm.23ce
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

SAD - Ch3 - UML and Software Development Process

Systems Analysis and Design

Uploaded by

quannm.23ce
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

SYSTEMS

ANALYSIS AND
DESIGN
Nguyen Thanh Binh, Nguyen Quang Vu, Le Viet Truong, Nguyen Thi Hanh, Vo Van
Luong, Le Thi Bich Tra
Faculty of Computer Science
UML and Software
Development Process
• Software Development Activities
• Object-Oriented Analysis and Design
• Software Development Process
• UML and Software Development Process
Main Software Development Activities
Requirements
Design
Gathering Analysis
Design the solution /
Define requirement Define the conceptual model
software plan
specification

Implementation Integration and Test


Deployment
Code the system based on Prove that the system meets
Installation and training
the design the requirements

Maintenance

Post-install review
Support docs
Active support

3
Object-Oriented Analysis and Design

Analysis emphasizes an investigation of the problem and requirements,


rather than a solution.
During object-oriented analysis, there is an emphasis on finding and
describing object or concepts in the problem domain.

If a cash register system at the supermarket is desired


How will it be used?
What are its functions?
4
Object-Oriented Analysis and Design

Design emphasizes a conceptual solution in software that fulfils the


requirements and “guides” the implementation.
During object-oriented design, there is an emphasis on defining
software objects and how they collaborate to fulfil the requirements.
Class diagram Database schema

Package diagram

Design specification of the cash register system

5
Object-Oriented Analysis and Design

6
Software development process

Software development process is a series of software development


activities that a software program goes through when developed

es
e ss
oc
t pr
en
Requirements
Specification

pm
Analysis

lo
ve
Design

de
Implementatio
n

e
Integration and

ar
Test

w
ft
Deployment

So
Maintenance

7
Ad-hoc Coding “process”
• Does not scale to large size project
• Does not scale to large development teams

8
Waterfall process
Requirements
Specification

Analysis

Sequential
Design

Implementati
on
Integration
and
Test
Deployment
• An phase is begun only when the previous has finished
• No return to previous phase Maintenance
9
Critique of Waterfall process
• Responds poorly to changes and problems
• Substantial upfront document
• Assumes fixed specification - may not be what customer wants
• Fixes come very late - costlier to fix later time

Source: Applied Software Measurement, Capers Jones, 1996.

10
Iterative and Agile Development
Processes
Facts of life

• Requirements change, changes break existing design.


• Coding up a design suggests flaws in design
• Testing identifies flaws in code - which could be design flaws
• Maintenance requires not only fixes but new features

12
Philosophy

• Embrace change
• Don’t do too much, too soon
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan

13
Early coding, early testing of partial system
in repeating cycles.
Development begins before all
requirements are defined in detail.
Feedback is used to clarify evolving
specification.
14
Benefits

• Early rather than late mitigation of high risks


• Early visible progress
• Managed complexity - the team is not overwhelmed by “analysis paralysis” or very long
and complex steps
• Early feedback, user engagement, and adaptation, leading to a redefined system that
more closely meets the real needs of the stakeholders

Less project failure, better productivity,


• Feedback can also improve development process itself

and lower defect rates

15
Agile software development methods
• Adaptive software development (ASD)
• Agile modeling
• Agile Unified Process (AUP)
• Crystal Clear Methods
• Disciplined agile delivery
• Dynamic Systems development method (DSDM)
• Extreme programming
• Feature-driven development (FDD)
• Lean software development
• Kanban
• Scrum

16
Scrum

17
UML can be used in many software development
process

es
e ss
oc
pr
+

t
en
Requirements
Specification

pm
Analysis

lo
ve
Design

de
Implementation

e
Integration and

ar
Test

w
ft
Deployment

So
Maintenance

18
UML diagrams can be applied to several
activities

Requirements Analysis Design


Use-case •

Class, object • •

Activity • ο

State • •

Interaction ο •

Component •

Deployment •

ο : possible usage
• : recommended usage

19

You might also like