0% found this document useful (0 votes)
12 views20 pages

SAD - Ch3 - UML and Software Development Process

SAD- Ch3_UML and Software Development Process

Uploaded by

kundeeptryvl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views20 pages

SAD - Ch3 - UML and Software Development Process

SAD- Ch3_UML and Software Development Process

Uploaded by

kundeeptryvl
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

System analysis and design

SYSTEM ANALYSIS AND DESIGN


• Nguyen Thanh Binh, Nguyen Quang Vu, Le Viet Truong,
Vo Van Luong, Nguyen Ngoc Huyen Tran
• Faculty of Computer Science

1
System analysis and design

•Chapter 3

UML and Software Development Process

2
System analysis and design

UML and Software Development Process


• Software Development Activities
• Object-Oriented Analysis and Design
• Software Development Process
• UML and Software Development Process
System analysis and design

Main Software Development Activities

Requirements Gathering Analysis Design

Define requirement Define the conceptual Design the solution /


specification model software plan

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

4
System analysis and design

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?

5
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


6
Object-Oriented Analysis and Design

7
Software development process

Software development process is a series of software development


activities that a software program goes through when developed

Requirements
Specification

Analysis

Design

Implementation

Integration and
Test

Deployment

Maintenance

8
System analysis and design

Ad-hoc Coding “process”


• Does not scale to large size project
• Does not scale to large development teams

9
System analysis and design
Waterfall process

Requirements
Specification

Analysis

Sequential
Design

Implementation

Integration and
Test

Deployment
An phase is begun only when the previous has finished
No return to previous phase Maintenance
10
System analysis and design

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.


11
System analysis and design

Iterative and Agile Development Processes


System analysis and design

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

13
System analysis and design

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

14
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.
15
System analysis and design

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

16
System analysis and design

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

17
System analysis and design

Scrum

18
System analysis and design

UML can be used in many software development process

+ Requirements
Specification

Analysis

Design

Implementation

Integration and
Test

Deployment

Maintenance

19
System analysis and design

UML diagrams can be applied to several activities

Requirements Analysis Design


Use-case 
Class, object  
Activity  
State  
Interaction  
Component 
Deployment 

 : possible usage
 : recommended usage

20

You might also like