SlideShare a Scribd company logo
1 of 23
Chapter 6
View Alignment Techniques
and Method Customization
(Part I)
Object-Oriented Technology
From Diagram to Code with Visual Paradigm for UML
2
Objectives
 After you have read this chapter, you should be able
to
 Appreciate the benefits of using a method for
software development.
 Understand the limitations of current software
development methods.
 Understand the framework of View Alignment
Techniques.
 Apply the View Alignment Techniques to
customize and create a method.
 Use the Activity Analysis Approach effectively for
developing workflow-oriented and activity
intensive software systems.
3
What Is Software Development
Method?
 A software development method consists of a
complete set of activities needed to transform users’
requirements into a consistent set of artifacts that
represent a software product.
 Typically, a software development method specifies a
series of stages that encompass requirements
gathering, design, development, testing, delivery,
maintenance and enhancement of a system, and
helps the developer build software systems in a
reliable and consistent way.
 In general, software development methods allow the
building of models from model elements that
constitute the fundamental concepts for representing
systems or phenomena.
4
Components of Software
Development Methods (cont’d)
 Representation. A set of recommended
representation (notation), e.g., the Unified Modeling
Language (UML)) consisting of one or more forms of
a notation that can be used to model both the
structure of the initial problem (requirements) and
the intended solution, using one or more viewpoints
(models) and different levels of abstraction.
 Process. It provides a framework from which a
comprehensive plan for software development should
be established. This development plan consists of a
specific ordered set of tasks aimed at producing
software solutions, e.g. Unified Process.
5
Components of Software
Development Methods (cont’d)
 Techniques. They are heuristics, guidelines and
procedures that help designers develop the software
development plan for their project. In other words,
they help customize the process framework for the
system being developed, such as defining the order
of tasks to be carried out within the process,
selecting the models and their perspective to be
focused at the optimum level of abstraction.
6
Components of Software
Development Methods
 A software development method primarily comprises
three components:
 a process,
 a representation system or a modeling notation, and
 techniques, heuristics, steps or procedures
7
Why Traditional Software
Methods Didn’t Work Miracles?
 There is no universal method that can be
readily applied to all problems in any
circumstances without the need for
customization.
 Demarco points out that to ensure success
the project team should tailor the method to
needs of the individual project rather than
attempt force-fitting the project into the
Methodology.
 Spolsky’s story
8
Hurdles in Applying the
Object-oriented Approach
 The UML provides an extremely rich set of
notations for representing systems. Booch
suggests that 80% of software projects use
only about 20% of the UML notation.
 To the designer, it would be rather difficult to
decide which subset of UML notation should
be used for the project at hand.
9
Hurdles in Applying the Object-
oriented Approach (cont’d)
Use Case Diagram
Class Diagram
Component Diagram
Object Diagram
Activity Diagram
State Diagram
Deployment Diagram
Collaboration
Diagram
Sequence Diagram
Models
10
Hurdles in Applying the Object-
oriented Approach (cont’d)
 Designers are often confronted with many
questions throughout the development life
cycle, and the following are some typical ones:
 What models are required to represent the system?
 How do I apply the selected models to perform
the development work?
 Which model should I use first, and which model(s)
should follow next?
 How can I ensure that the models of the system
are consistent?
11
Current Object-oriented
Development Approaches
 The Unified Modeling Language is now the de
facto standard graphical language for
representing systems in the software industry.
 The Unified Process is a widely used software
development process. In the Unified Process,
a system is built incrementally through a
number of iterations in which the designer
may perform requirements capturing, analysis,
design, implementation and testing tasks.
12
Unified Process
 The iterations are divided into four
phases: inception, elaboration,
construction and transition
13
Unified Process (cont’d)
 Each phase has a different focus:
 Inception Phase. This phase focuses on establishing the
business case, defining the scope of the system and
estimating the amount of resources including time required
to complete the project.
 Elaboration Phase. In this phase, the core architecture of the
system is developed incrementally. Risks are resolved
according to priorities, and the scope of the system is
refined.
 Construction Phase. In this phase, low risk elements of the
system are implemented and tested incrementally. The
system is prepared for deployment.
 Transition Phase. Beta release of the system is deployed to
the end users. Bug fixes and other tasks such as refining the
system are performed.
14
Unified Process (cont’d)
 The work activities of the Unified Process in the same
subject area are categorized as a workflow (some
authors call it a discipline).
15
Techniques
 As mentioned earlier, the techniques part is the most difficult
component of the entire software development method.
 Jacobson considers that teamwork should be the thing that glues
the representation and process components together but offers
very little details on how we can customize or create a method
to solve our problem.
 Nonetheless, he does provide some hints on which model(s)
should be used in each workflow.
 Each of these models associated with a workflow is elaborated
by a sub-figure indicating the types of diagrams likely to be used.
16
Techniques (cont’d)
Use Case
Model
Requirements
Analysis
Design
Implementation
Test
Each workflow is associated
with one or more models.
Analysis
Model
Design
Model
Deployment
Model
Implementation
Model
Test Model
17
Techniques (cont’d)
Use Case
Model
Analysis
Model
Implementation
Model
Test Model
Deployment
Model
Design
Model
Sequence Diagram
Use Case Diagram
State Diagram
Activity Diagram
Collaboration Diagram
Component
Diagram
Deployment
Diagram
Class
Diagram
Object
Diagram
18
Techniques (cont’d)
Use Case
Model
Analysis
Model
Implementation
Model
Test Model
Deployment
Model
Design
Model
Object DiagramClass Diagram
Sequence Diagram
Collaboration Diagram
State Diagram
Activity Diagram
Use Case
Diagram
Component
Diagram
Deployment
Diagram
19
Techniques (cont’d)
Class
Diagram
Object
Diagram
Use Case
Diagram
Use Case
Model
Analysis
Model
Implementation
Model
Test Model
Deployment
Model
Design
Model
State
Diagram
Activity
Diagram
Sequence Diagram
Collaboration Diagram
Component Diagram
Deployment Diagram
20
Techniques (cont’d)
 Despite these hints, little clue is provided on the
selection of the right model (UML diagram) to start
with and the order in which these models (UML
diagrams) should be developed.
 Still don’t know how to develop the required UML
models.
21
Traceability and Models
Consistency
 Another frequently asked question in developing
models is “how do we ensure the models we have
created are consistent?”
 <<trace>> is one of the often used stereotypes in
Rambaugh, Booch and Jacobson’s publication entitled
The Unified Software Development Process.
 Jacobson emphasizes many times in this book on the
traceability between a model and its subsequent
realization models, but there is little hint as to how
we can actually ensure traceability among the models.
22
Traceability and Models
Consistency (cont’d)
Analysis Model Design Model
<<trace>> <<trace>>
Use Case Use Case
use case realizations
23
Need for Method Customization
 There is no universally applicable design method.
 There are many different factors that would affect
our design decisions:
 the competence and skill levels and the prior experience of
the software development team
 different application domains also require different focuses
or impose special constraints
 lifecycle factors: time to market, expected life span, planned
future releases
 technological factors: programming languages, development
tools, databases, middleware, communication, distribution,
etc.

More Related Content

What's hot

Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
koolkampus
 

What's hot (20)

Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Static analysis
Static analysisStatic analysis
Static analysis
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Design notation
Design notationDesign notation
Design notation
 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
software cost factor
software cost factorsoftware cost factor
software cost factor
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
 
Programming team structure
Programming team structureProgramming team structure
Programming team structure
 
ADO CONTROLS - Database usage
ADO CONTROLS - Database usageADO CONTROLS - Database usage
ADO CONTROLS - Database usage
 
software engineering
software engineeringsoftware engineering
software engineering
 
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
FUNCTION DEPENDENCY  AND TYPES & EXAMPLEFUNCTION DEPENDENCY  AND TYPES & EXAMPLE
FUNCTION DEPENDENCY AND TYPES & EXAMPLE
 

Viewers also liked

MLC Cover Report V8b PDF
MLC Cover Report V8b PDFMLC Cover Report V8b PDF
MLC Cover Report V8b PDF
Peter Troniseck
 
INNOVATIVE COMMUNICATION STRATEGY
INNOVATIVE COMMUNICATION STRATEGYINNOVATIVE COMMUNICATION STRATEGY
INNOVATIVE COMMUNICATION STRATEGY
Soumajit Nag
 
Ppt 3d arrow process data flow network diagram powerpoint template business t...
Ppt 3d arrow process data flow network diagram powerpoint template business t...Ppt 3d arrow process data flow network diagram powerpoint template business t...
Ppt 3d arrow process data flow network diagram powerpoint template business t...
SlideTeam.net
 
Eliptic Partial DIfferential Equation
Eliptic Partial DIfferential EquationEliptic Partial DIfferential Equation
Eliptic Partial DIfferential Equation
Fajar Perdana
 

Viewers also liked (15)

çAnkırı pegasus ucuz uçak bileti telefon
çAnkırı pegasus ucuz  uçak bileti telefonçAnkırı pegasus ucuz  uçak bileti telefon
çAnkırı pegasus ucuz uçak bileti telefon
 
Letter Writing invitation-letter
Letter Writing invitation-letterLetter Writing invitation-letter
Letter Writing invitation-letter
 
Høyre presentasjon
Høyre presentasjonHøyre presentasjon
Høyre presentasjon
 
Communication skills
Communication skillsCommunication skills
Communication skills
 
Digiculturidad
DigiculturidadDigiculturidad
Digiculturidad
 
MLC Cover Report V8b PDF
MLC Cover Report V8b PDFMLC Cover Report V8b PDF
MLC Cover Report V8b PDF
 
MY RESUME
MY RESUMEMY RESUME
MY RESUME
 
INNOVATIVE COMMUNICATION STRATEGY
INNOVATIVE COMMUNICATION STRATEGYINNOVATIVE COMMUNICATION STRATEGY
INNOVATIVE COMMUNICATION STRATEGY
 
Kabaddi
KabaddiKabaddi
Kabaddi
 
OpenMinTeD - Repositories in the centre of new scientific knowledge
OpenMinTeD - Repositories in the centre of new scientific knowledgeOpenMinTeD - Repositories in the centre of new scientific knowledge
OpenMinTeD - Repositories in the centre of new scientific knowledge
 
Ppt 3d arrow process data flow network diagram powerpoint template business t...
Ppt 3d arrow process data flow network diagram powerpoint template business t...Ppt 3d arrow process data flow network diagram powerpoint template business t...
Ppt 3d arrow process data flow network diagram powerpoint template business t...
 
Eliptic Partial DIfferential Equation
Eliptic Partial DIfferential EquationEliptic Partial DIfferential Equation
Eliptic Partial DIfferential Equation
 
Universal pitch deck template by PitchStock.com
Universal pitch deck template by PitchStock.comUniversal pitch deck template by PitchStock.com
Universal pitch deck template by PitchStock.com
 
Els assignment presentation
Els assignment presentationEls assignment presentation
Els assignment presentation
 
Tort reflective journal
Tort reflective journalTort reflective journal
Tort reflective journal
 

Similar to View Alignment Techniques

Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 
Difference Between Agile And Waterfall Model
Difference Between Agile And Waterfall ModelDifference Between Agile And Waterfall Model
Difference Between Agile And Waterfall Model
Tammy Moncrief
 
System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )
Jennifer Wright
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
koolkampus
 

Similar to View Alignment Techniques (20)

MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESMODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICES
 
Jar chapter 1
Jar chapter 1Jar chapter 1
Jar chapter 1
 
Comparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available MethodologyComparing Various SDLC Models On The Basis Of Available Methodology
Comparing Various SDLC Models On The Basis Of Available Methodology
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Ooad lab manual(original)
Ooad lab manual(original)Ooad lab manual(original)
Ooad lab manual(original)
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Chapter1
Chapter1Chapter1
Chapter1
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Software models
Software modelsSoftware models
Software models
 
Difference Between Agile And Waterfall Model
Difference Between Agile And Waterfall ModelDifference Between Agile And Waterfall Model
Difference Between Agile And Waterfall Model
 
software Processes
software Processessoftware Processes
software Processes
 
Unit 1 sepm process models
Unit 1 sepm process modelsUnit 1 sepm process models
Unit 1 sepm process models
 
se02_SW_Process.ppt
se02_SW_Process.pptse02_SW_Process.ppt
se02_SW_Process.ppt
 
System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )System Development Life Cycle ( Sdlc )
System Development Life Cycle ( Sdlc )
 
‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process‘O’ Model for Component-Based Software Development Process
‘O’ Model for Component-Based Software Development Process
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Ch01
Ch01Ch01
Ch01
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 

More from JIGAR MAKHIJA

More from JIGAR MAKHIJA (20)

Php gd library
Php gd libraryPhp gd library
Php gd library
 
Php pattern matching
Php pattern matchingPhp pattern matching
Php pattern matching
 
Php cookies
Php cookiesPhp cookies
Php cookies
 
Php functions
Php functionsPhp functions
Php functions
 
Php sessions
Php sessionsPhp sessions
Php sessions
 
Php server variables
Php server variablesPhp server variables
Php server variables
 
Db function
Db functionDb function
Db function
 
C++ version 1
C++  version 1C++  version 1
C++ version 1
 
C++ Version 2
C++  Version 2C++  Version 2
C++ Version 2
 
SAP Ui5 content
SAP Ui5 contentSAP Ui5 content
SAP Ui5 content
 
Solution doc
Solution docSolution doc
Solution doc
 
Overview on Application protocols in Internet of Things
Overview on Application protocols in Internet of ThingsOverview on Application protocols in Internet of Things
Overview on Application protocols in Internet of Things
 
125 green iot
125 green iot125 green iot
125 green iot
 
Msp430 g2 with ble(Bluetooth Low Energy)
Msp430 g2 with ble(Bluetooth Low Energy)Msp430 g2 with ble(Bluetooth Low Energy)
Msp430 g2 with ble(Bluetooth Low Energy)
 
Embedded system lab work
Embedded system lab workEmbedded system lab work
Embedded system lab work
 
Presentation on iot- Internet of Things
Presentation on iot- Internet of ThingsPresentation on iot- Internet of Things
Presentation on iot- Internet of Things
 
Oracle
OracleOracle
Oracle
 
Learn Japanese -Basic kanji 120
Learn Japanese -Basic kanji 120Learn Japanese -Basic kanji 120
Learn Japanese -Basic kanji 120
 
Letters (complaints & invitations)
Letters (complaints & invitations)Letters (complaints & invitations)
Letters (complaints & invitations)
 
Communication skills Revised PPT
Communication skills Revised PPTCommunication skills Revised PPT
Communication skills Revised PPT
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 

Recently uploaded (20)

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 

View Alignment Techniques

  • 1. Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML
  • 2. 2 Objectives  After you have read this chapter, you should be able to  Appreciate the benefits of using a method for software development.  Understand the limitations of current software development methods.  Understand the framework of View Alignment Techniques.  Apply the View Alignment Techniques to customize and create a method.  Use the Activity Analysis Approach effectively for developing workflow-oriented and activity intensive software systems.
  • 3. 3 What Is Software Development Method?  A software development method consists of a complete set of activities needed to transform users’ requirements into a consistent set of artifacts that represent a software product.  Typically, a software development method specifies a series of stages that encompass requirements gathering, design, development, testing, delivery, maintenance and enhancement of a system, and helps the developer build software systems in a reliable and consistent way.  In general, software development methods allow the building of models from model elements that constitute the fundamental concepts for representing systems or phenomena.
  • 4. 4 Components of Software Development Methods (cont’d)  Representation. A set of recommended representation (notation), e.g., the Unified Modeling Language (UML)) consisting of one or more forms of a notation that can be used to model both the structure of the initial problem (requirements) and the intended solution, using one or more viewpoints (models) and different levels of abstraction.  Process. It provides a framework from which a comprehensive plan for software development should be established. This development plan consists of a specific ordered set of tasks aimed at producing software solutions, e.g. Unified Process.
  • 5. 5 Components of Software Development Methods (cont’d)  Techniques. They are heuristics, guidelines and procedures that help designers develop the software development plan for their project. In other words, they help customize the process framework for the system being developed, such as defining the order of tasks to be carried out within the process, selecting the models and their perspective to be focused at the optimum level of abstraction.
  • 6. 6 Components of Software Development Methods  A software development method primarily comprises three components:  a process,  a representation system or a modeling notation, and  techniques, heuristics, steps or procedures
  • 7. 7 Why Traditional Software Methods Didn’t Work Miracles?  There is no universal method that can be readily applied to all problems in any circumstances without the need for customization.  Demarco points out that to ensure success the project team should tailor the method to needs of the individual project rather than attempt force-fitting the project into the Methodology.  Spolsky’s story
  • 8. 8 Hurdles in Applying the Object-oriented Approach  The UML provides an extremely rich set of notations for representing systems. Booch suggests that 80% of software projects use only about 20% of the UML notation.  To the designer, it would be rather difficult to decide which subset of UML notation should be used for the project at hand.
  • 9. 9 Hurdles in Applying the Object- oriented Approach (cont’d) Use Case Diagram Class Diagram Component Diagram Object Diagram Activity Diagram State Diagram Deployment Diagram Collaboration Diagram Sequence Diagram Models
  • 10. 10 Hurdles in Applying the Object- oriented Approach (cont’d)  Designers are often confronted with many questions throughout the development life cycle, and the following are some typical ones:  What models are required to represent the system?  How do I apply the selected models to perform the development work?  Which model should I use first, and which model(s) should follow next?  How can I ensure that the models of the system are consistent?
  • 11. 11 Current Object-oriented Development Approaches  The Unified Modeling Language is now the de facto standard graphical language for representing systems in the software industry.  The Unified Process is a widely used software development process. In the Unified Process, a system is built incrementally through a number of iterations in which the designer may perform requirements capturing, analysis, design, implementation and testing tasks.
  • 12. 12 Unified Process  The iterations are divided into four phases: inception, elaboration, construction and transition
  • 13. 13 Unified Process (cont’d)  Each phase has a different focus:  Inception Phase. This phase focuses on establishing the business case, defining the scope of the system and estimating the amount of resources including time required to complete the project.  Elaboration Phase. In this phase, the core architecture of the system is developed incrementally. Risks are resolved according to priorities, and the scope of the system is refined.  Construction Phase. In this phase, low risk elements of the system are implemented and tested incrementally. The system is prepared for deployment.  Transition Phase. Beta release of the system is deployed to the end users. Bug fixes and other tasks such as refining the system are performed.
  • 14. 14 Unified Process (cont’d)  The work activities of the Unified Process in the same subject area are categorized as a workflow (some authors call it a discipline).
  • 15. 15 Techniques  As mentioned earlier, the techniques part is the most difficult component of the entire software development method.  Jacobson considers that teamwork should be the thing that glues the representation and process components together but offers very little details on how we can customize or create a method to solve our problem.  Nonetheless, he does provide some hints on which model(s) should be used in each workflow.  Each of these models associated with a workflow is elaborated by a sub-figure indicating the types of diagrams likely to be used.
  • 16. 16 Techniques (cont’d) Use Case Model Requirements Analysis Design Implementation Test Each workflow is associated with one or more models. Analysis Model Design Model Deployment Model Implementation Model Test Model
  • 17. 17 Techniques (cont’d) Use Case Model Analysis Model Implementation Model Test Model Deployment Model Design Model Sequence Diagram Use Case Diagram State Diagram Activity Diagram Collaboration Diagram Component Diagram Deployment Diagram Class Diagram Object Diagram
  • 18. 18 Techniques (cont’d) Use Case Model Analysis Model Implementation Model Test Model Deployment Model Design Model Object DiagramClass Diagram Sequence Diagram Collaboration Diagram State Diagram Activity Diagram Use Case Diagram Component Diagram Deployment Diagram
  • 19. 19 Techniques (cont’d) Class Diagram Object Diagram Use Case Diagram Use Case Model Analysis Model Implementation Model Test Model Deployment Model Design Model State Diagram Activity Diagram Sequence Diagram Collaboration Diagram Component Diagram Deployment Diagram
  • 20. 20 Techniques (cont’d)  Despite these hints, little clue is provided on the selection of the right model (UML diagram) to start with and the order in which these models (UML diagrams) should be developed.  Still don’t know how to develop the required UML models.
  • 21. 21 Traceability and Models Consistency  Another frequently asked question in developing models is “how do we ensure the models we have created are consistent?”  <<trace>> is one of the often used stereotypes in Rambaugh, Booch and Jacobson’s publication entitled The Unified Software Development Process.  Jacobson emphasizes many times in this book on the traceability between a model and its subsequent realization models, but there is little hint as to how we can actually ensure traceability among the models.
  • 22. 22 Traceability and Models Consistency (cont’d) Analysis Model Design Model <<trace>> <<trace>> Use Case Use Case use case realizations
  • 23. 23 Need for Method Customization  There is no universally applicable design method.  There are many different factors that would affect our design decisions:  the competence and skill levels and the prior experience of the software development team  different application domains also require different focuses or impose special constraints  lifecycle factors: time to market, expected life span, planned future releases  technological factors: programming languages, development tools, databases, middleware, communication, distribution, etc.

Editor's Notes

  1. 16/11/2001