30
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006

CS 426 Senior Projects

  • Upload
    dale

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

CS 426 Senior Projects. Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006. Outline. What is UML? UML history Why “unified”? Objects and UML UML structure UML building blocks UML common mechanisms Architecture. .Outline. What is UP? - PowerPoint PPT Presentation

Citation preview

Page 1: CS 426 Senior Projects

11

CS 426Senior Projects

Chapter 1: What is UML?Chapter 2: What is UP?

[Arlow and Neustadt, 2002]

January 26, 2006

Page 2: CS 426 Senior Projects

22

Outline.Outline.

What is UML? UML history Why “unified”? Objects and UML UML structure UML building blocks UML common mechanisms Architecture

Page 3: CS 426 Senior Projects

33

.Outline.Outline

What is UP? UP History UP Axioms UP Core Workflows UP Structure Details on UP Phases

Page 4: CS 426 Senior Projects

44

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

55

UML HistoryUML HistoryStages of UML evolution, Fig. 1.2 [Arlow & Neustadt, 2002]

Page 6: CS 426 Senior Projects

66

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 7: CS 426 Senior Projects

77

Objects and UMLObjects and UML

The main premise for using UML is that software systems can be modeled as collections of collaborating 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 8: CS 426 Senior Projects

88

UML StructureUML Structure

There are three main parts in UML structure, as indicated below,

Fig. 1.3 [Arlow & Neustadt 2002]

Page 9: CS 426 Senior Projects

99

UML Building BlocksUML Building Blocks UML is composed of three building blocks [Fig. 1.4, Arlow UML is composed of three building blocks [Fig. 1.4, Arlow

2002]:2002]: 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 10: CS 426 Senior Projects

1010

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 11: CS 426 Senior Projects

1111

UML Building Blocks: UML Building Blocks: Relationships.Relationships.

UML relationships indicate how two or more things are interconnected. Relationships apply to structural and grouping things and are of four kinds [Fig. 1.5, Arlow 2002]:

Page 12: CS 426 Senior Projects

1212

UML Building UML Building Blocks: .RelationshipsBlocks: .Relationships

Details on UML relationships can be found in other chapters of the book, as follows: [Table 1.1, Arlow & Neustadt, 2002]

Page 13: CS 426 Senior Projects

1313

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 nine types of UML diagram, three describe the

static structure of the system (the static model), and six describe the dynamic aspects of the system (the dynamic model) [see next slide]

Page 14: CS 426 Senior Projects

1414

UML Building Blocks: .DiagramsUML Building Blocks: .Diagrams

The nine types of UML diagram [Fig. 1.6, Arlow &Neustadt, 2002]

Page 15: CS 426 Senior Projects

1515

UML Common MechanismsUML Common Mechanisms UML has four common mechanisms that are applied

consistently, in different contexts, throughout UML [Fig. 1.7, Arlow 2002]

Page 16: CS 426 Senior Projects

1616

UML Common Mechanisms: UML Common Mechanisms: SpecificationsSpecifications

Specifications are textual descriptions of the semantics of UML elements. Example, Fig. 1.8 [Arlow & Neustadt, 2002]

Page 17: CS 426 Senior Projects

1717

UML Common Mechanisms: UML Common Mechanisms: AdornmentsAdornments

Adornments allow showing more information on UML elements. Example, Fig. 1.9 [Arlow & Neustadt, 2002]

Page 18: CS 426 Senior Projects

1818

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 instance [see Table 1.2 in the book] Interface and implementation [see Subsection 1.8.3.2]

Page 19: CS 426 Senior Projects

1919

UML Common Mechanisms: UML Common Mechanisms: ExtensibilityExtensibility

There are three types of mechanisms that provide support for

UML extensibility, Table 1.3 [Arlow & Neustadt, 2002]

Page 20: CS 426 Senior Projects

2020

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 21: CS 426 Senior Projects

2121

.Architecture.Architecture

The “4 +1 views” architecture, Fig. 1.11 [Arlow & Neustadt 2002]

Page 22: CS 426 Senior Projects

2222

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 2002]

Page 23: CS 426 Senior Projects

2323

UP HistoryUP History

UP evolution, Fig. 2.3 [Arlow & Neustadt, 2002]

Page 24: CS 426 Senior Projects

2424

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 25: CS 426 Senior Projects

2525

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 26: CS 426 Senior Projects

2626

.UP Core Workflows.UP Core WorkflowsFig.2.5, Arlow 2002

Page 27: CS 426 Senior Projects

2727

UP Structure.UP Structure.

Fig.2.6, Arlow 2002

Page 28: CS 426 Senior Projects

2828

.UP Structure .UP Structure

Fig.2.7, Arlow 2002

Page 29: CS 426 Senior Projects

2929

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 30: CS 426 Senior Projects

3030

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 n Table 2.1 of the book]