Download - CS 426 Senior Projects
![Page 1: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/1.jpg)
CS 426Senior Projects
Chapter 1: What is UML?Chapter 2: What is UP?
[Arlow and Neustadt, 2005]
January 24, 2011
![Page 2: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/2.jpg)
22/32/32
Outline.Outline.
What is UML? UML history MDA – the future of UML Why “unified”? Objects and UML UML structure UML building blocks UML common mechanisms Architecture
![Page 3: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/3.jpg)
33/32/32
.Outline.Outline
What is UP? UP History UP Axioms UP Core Workflows UP Structure Details on UP Phases
![Page 4: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/4.jpg)
4/324/32
What is UML?What is UML?
The UML (Unified Modeling Language) is a general purpose visual modeling language for systems Usually associated with OO software systems, but with wider
application than that Incorporates modern best practices in modeling techniques
and software engineering Designed to be supported by CASE tools It is not a methodology, but a notation that can be used in
various software development methodologies Not tied to any methodology or specific lifecycle; however the lifecycle; however the
preferred methodpreferred method for using UML is the UP ( for using UML is the UP (Unified ProcessUnified Process))
![Page 5: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/5.jpg)
55/32/32
UML HistoryUML HistoryStages of UML evolution, Fig. 1.2 [Arlow & Neustadt, 2005]
![Page 6: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/6.jpg)
6/326/32
MDA – the future of UMLMDA – the future of UML
Model driven architecture (MDA) is based on the idea that models can drive the production of executable software environments
![Page 7: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/7.jpg)
77/32/32
UML: Why “unified”?UML: Why “unified”?
UML unification encompasses the following: Development lifecycle: UML can be used from
requirements engineering to implementation Application domains: UML has been used in a profusion of
applications, of various types Implementation languages and platforms: UML is
language and platform independent Development processes: UP is only one of the processes
supported by UML Its own internal concepts: UML is based on a set of
concepts that have been applied consistently throughout the notation’s development
![Page 8: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/8.jpg)
88/32/32
Objects and UMLObjects and UML
The main premise for using UML is that software systems can be modeled as collections of interacting objects
There are two major, complementary parts in a UML model:Static structure = constituent objects + their
relationshipsDynamic behaviour = functionality provided
by the collaborating objects
![Page 9: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/9.jpg)
99/32/32
UML StructureUML Structure
There are three main parts in UML structure, as indicated below,
Fig. 1.4 [Arlow & Neustadt 2005]
![Page 10: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/10.jpg)
1010/32/32
UML Building BlocksUML Building Blocks UML is composed of three building blocks [Fig. 1.5, Arlow UML is composed of three building blocks [Fig. 1.5, Arlow
2005]:2005]: Things, or modeling elements (modeling constructs)Things, or modeling elements (modeling constructs) Relationships, that specify how things relate Relationships, that specify how things relate
semanticallysemantically Diagrams, that provide views into UML models and Diagrams, that provide views into UML models and
show collections of interrelated thingsshow collections of interrelated things
![Page 11: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/11.jpg)
1111/32/32
UML Building Blocks: ThingsUML Building Blocks: Things
UML things, or modeling elements, can be classified as: Structural things, e.g., class, interface, use case,
component, node (the “nouns” of a UML model) Behavioural things, such as interactions and state
machines (the “verbs” of a UML model) Grouping things, e.g. package, which gathers related
modeling elements Annotational things, e.g., the “sticky note” that can be
appended to any modeling construct
![Page 12: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/12.jpg)
1212/32/32
UML Building Blocks: RelationshipsUML Building Blocks: Relationships UML relationships indicate how two or more things are
interconnected. Relationships apply to structural and grouping things and are as follows [Table 1.1, Arlow & Neustadt 2005]:
![Page 13: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/13.jpg)
1313/32/32
UML Building Blocks: Diagrams..UML Building Blocks: Diagrams..
A UML model is a repository of all things and relationships created to describe the structure and behavior of the system under development
Diagrams provide views (or windows) into this model Diagrams also provide mechanisms for entering
information into the model There are 13 types of UML diagram, 6 of them describing
the static structure of the system (the static model), and 7 the dynamic aspects of the system (the dynamic model) [see next slide]
![Page 14: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/14.jpg)
14/3214/32
UML Building Blocks: .Diagrams.UML Building Blocks: .Diagrams.
Types of UML diagrams [Fig. 1.6, Arlow & Neustadt, 2005]
![Page 15: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/15.jpg)
1515/32/32
UML Building Blocks: ..DiagramsUML Building Blocks: ..DiagramsUML syntax for diagram [Fig. 1.7, Arlow & Neustadt, 2005] &diagram with implied frame [Fig. 1.8, Arlow & Neustadt, 2005]
![Page 16: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/16.jpg)
1616/32/32
UML Common MechanismsUML Common Mechanisms UML has four common mechanisms that are applied
consistently, in different contexts, throughout UML [Fig. 1.9, Arlow 2005]
![Page 17: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/17.jpg)
1717/32/32
UML Common Mechanisms: UML Common Mechanisms: SpecificationsSpecifications
Specifications are textual descriptions of the semantics of UML elements. Example, Fig. 1.10 [Arlow & Neustadt, 2005]
![Page 18: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/18.jpg)
1818/32/32
UML Common Mechanisms: UML Common Mechanisms: AdornmentsAdornments
Adornments allow showing more information on UML elements. Example, Fig. 1.11 [Arlow & Neustadt, 2005]
![Page 19: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/19.jpg)
1919/32/32
UML Common Mechanisms: UML Common Mechanisms: Common DivisionsCommon Divisions
Common divisions are ways of thinking about the world (for modeling purposes)
Common divisions in UML are of two types: Classifiers and instances [see Table 1.2 in the book] Interface and implementation
![Page 20: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/20.jpg)
2020/32/32
UML Common Mechanisms: UML Common Mechanisms: ExtensibilityExtensibility
There are three types of mechanisms that provide support for
UML extensibility, Table 1.3 [Arlow & Neustadt, 2005]
![Page 21: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/21.jpg)
2121/32/32
Architecture.Architecture. The system architecture is “the organizational structure of the
system, including its decomposition into parts, their connectivity, interaction, mechanisms and the guiding principles that inform the design of a system.” [Rumbaugh 1998]
There is a typical “4+1 views” architecture of a system defined by UML: Logical view, captures the vocabulary of the problem domain using classes
and objects Process view, depicts the threads and processes of the system as active
classes Implementation view, shows the physical code base of the system in terms
of components Deployment view, models the physical deployment of components onto
computational nodes Use case view, captures the requirements of the system using a set of use
cases. This is the view “+1” to which all other views connect.
![Page 22: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/22.jpg)
2222/32/32
.Architecture.Architecture
The “4 +1 views” architecture, Fig. 1.13 [Arlow & Neustadt 2005]
![Page 23: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/23.jpg)
2323/32/32
What is UP?What is UP?
A software development process (SDP) or software engineering process (SEP) defines the who, what, when, and how of developing software
The Unified Software Development Process (USDP) or, in short, the Unified Process (UP) is an industry standard process created by the authors of UML
Fig 2.2 [Arlow & Neustadt 2005]
![Page 24: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/24.jpg)
2424/32/32
UP HistoryUP History
UP evolution, Fig. 2.3 [Arlow & Neustadt, 2005]
![Page 25: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/25.jpg)
2525/32/32
UP FoundersUP Founders
Grady Booch Video: why engineering? Video: the promise, the limits, the beauty of software Video: smarter products for a smarter planet
Ivar Jacobson Jim Rumbaugh
![Page 26: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/26.jpg)
2626/32/32
UP AxiomsUP Axioms
Use case and risk driven Architecture centric Iterative and incremental
Each iteration contains all the elements of a regular software development project: planning, analysis, design, construction, integration, testing, internal or external release
![Page 27: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/27.jpg)
2727/32/32
UP Core Workflows.UP Core Workflows.
Requirements: Determining what the system should do Analysis: Refining and structuring the requirements Design: Defining system architecture to satisfy
requirements Implementation: Building the software Testing: Verifying that the implementation is correct
A baseline is the result of an iteration, a partially complete version of the final system. An iteration is the difference between two
consecutive baselines.
![Page 28: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/28.jpg)
2828/32/32
.UP Core Workflows.UP Core WorkflowsFig.2.5 [Arlow & Neustadt,
2005]
![Page 29: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/29.jpg)
2929/32/32
UP Structure.UP Structure.
Fig.2.6 [Arlow & Neustadt, 2005]
![Page 30: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/30.jpg)
3030/32/32
.UP Structure .UP Structure
Fig.2.7 [Arlow & Neustadt, 2005]
![Page 31: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/31.jpg)
3131/32/32
UP: Details on Phases.UP: Details on Phases.
Each of the four phases of UP (inception, elaboration, construction, transition) has: A goal A focus of activity One or more core workflows A milestone, with a number of conditions of satisfaction
Details of the above for Inception are given next. The remaining three phases are described in Subsection 2.9 of the textbook
![Page 32: CS 426 Senior Projects](https://reader036.vdocuments.site/reader036/viewer/2022062422/56812d36550346895d9234be/html5/thumbnails/32.jpg)
3232/32/32
UP: .Details on PhasesUP: .Details on Phases
InceptionGoal: Get the project off the groundTasks:
Assess feasibilityCreate a strong business caseCapture essential requirements Identify critical tasks
Focus: Requirements specification and analysis
Milestone: Life-cycle objectives [see conditions of satisfaction in Table 2.1 of the book]