0% found this document useful (0 votes)
65 views18 pages

OOAD3.UML SoftwareDevelopmentProcess

The document discusses UML and software development processes. It describes common software development activities like requirements gathering, analysis, design, implementation, testing, and deployment. Analysis focuses on understanding requirements, while design emphasizes a conceptual solution. Software development processes can be ad-hoc, waterfall, or iterative/agile. Agile processes embrace change and emphasize early coding/testing in repeated cycles. UML can be used in many software processes and different UML diagrams are applicable to requirements, analysis, and design activities.

Uploaded by

Chí Công Lê
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)
65 views18 pages

OOAD3.UML SoftwareDevelopmentProcess

The document discusses UML and software development processes. It describes common software development activities like requirements gathering, analysis, design, implementation, testing, and deployment. Analysis focuses on understanding requirements, while design emphasizes a conceptual solution. Software development processes can be ad-hoc, waterfall, or iterative/agile. Agile processes embrace change and emphasize early coding/testing in repeated cycles. UML can be used in many software processes and different UML diagrams are applicable to requirements, analysis, and design activities.

Uploaded by

Chí Công Lê
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

UML and Software Development

Process
□ Software Development Activities
□ Object-Oriented Analysis and Design
□ Software Development Processes
□ UML and Software Development Processes

OOAD
55
Main Software Development Activities

Requirements
Analysis Design
Gathering
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

OOAD
56
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?

OOAD
57
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.
Database schema
Class diagram

Package diagram

Design specification of the cash register system

OOAD
58
OOAD
59
Software development process is a series of
software development activities that a software
program goes through when developed

es
ss
e
oc
pr
t
en
pm
lo
ve
de
e
ar
tw
of
S

OOAD
60
Ad-hoc Coding “process”

□ Does not scale to large size project


□ Does not scale to large development teams

OOAD
61
Waterfall process

Requirements
Specification

Analysis

Sequential
Design

Implementation

Integration and
Test

□ An phase is begun only when the previous has finished


□ No return to previous phase
OOAD
62
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.


OOAD
63
Iterative and Agile
Development Processes

OOAD
64
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

Source: ?

OOAD
65
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

Source: ?

OOAD
66
Early coding, early testing of partial system
in repeating cycles.

Development begins before all


requirements are defined in detail.

Source: ?
Feedback is used to clarify evolving
specification.
OOAD
67
Benefits

□ Early rather than late mitigation of high risks

□ Early visible progress

□ Managed complexity - the team is not overwhelmed by

Less project failure, better productivity,


“analysis paralysis” or very long and complex steps

□ Early feedback, user engagement, and adaptation, leading to a


and lower defect rates
redefined system that more closely meets the real needs of the
stakeholders

□ Feedback can also improve development process itself

OOAD
68
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
OOAD
69
Scrum

OOAD
70
UML can be used in many software development process

es
ss
e
oc
pr
t
en
+

pm
lo
ve
de
e
ar
tw
of
S

OOAD
71
UML diagrams can be applied to several activities

Requirements Analysis Design


Use-case •

Class, object • •

Activity • ο

State • •

Interaction ο •

Component •

Deployment •

ο : possible usage
• : recommended usage

OOAD
72

You might also like