Sunteți pe pagina 1din 41

Software Development Technologies

Igor Bercu | MCT, MCPD bercu.asem@gmail.com

Introduction UML

Agenda
Architectural views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Agenda
Architectural views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Many stakeholders, many views


Architecture is many things to many different interested parties
end-user

customer
project manager system analyst system engineer

developer
architect maintainer other developers

Multidimensional reality Multiple stakeholders multiple views, multiple blueprints

4+1 Architectural Views

Logical View
Developers Functionality

Implementation View
Programmers Configuration management

Use Case View


Customer, end-user Vision

Process View
System integrators Performance Scalability Throughput

Deployment View
System engineering System topology Communication Provisioning

Conceptual

Physical

Agenda
Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

What is UML?
Unified : Unification of OOAD Methods Modeling: Analyzing Requirements and Designing Objects Prior to Coding

Language: Set of Graphical Notations

OMG definition for UML:


"The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as

concrete things such as programming language statements, database


schemas, and reusable software components."

Brief History of the UML

uc Manage...

UML Elements
obj ect Class Model
cmp Serv er Components

Structural elements
actors, class, component, node
Client (from Act ors )

Account
Firew all

+ + + + + + + + + + +

billingAddress: String closed: Boolean deliveryAddress: String emailAddress: String name: String createNewAccount() : void loadAccountDetails() : void markAccountClosed() : void retrieveAccountDetails() : void submitNewAccountDetails() : void validateUser(String, String)

+ + +

AcceptRequest() : HTML Request ForwardRequest() : HTML Request ReturnResponse() : HTML Response

deployment Office Client 1

Office Client PC 1 : Desk top PC

Behavioral elements
use case, activity, state

uc Manage Users

Create Account
class Model Ov erv iew

Grouping elements
package

stm Manage Titles State


The requirements model defines the formal requirements and the use cases. Formal requirements are directly linked to use cases and scenarios in the Use Case model.

Other elements
note

act Customer Process


Book Released

Add to Shopping Bask et

Extensibility Mechanisms
obj ect Class Model

Stereotypes

enumeration OrderStatus new packed dispatched delivered closed

Tagged values
Constraints

WebDataServer :Dell PowerEdge 6650 Disk Controller = RAID 5 Disks = 3 x 120 GB Processor = 3.0 GHz RAM = 1024 Mb

WebDataServer :Dell PowerEdge 6650 pc server RAM = 1024 Mb Processor = 3.0 GHz Disks = 3 x 120 GB Disk Controller = RAID 5

obj ect Class Model


obj ect Domain Model

analysis Login
Orde r

uc Actors - I...

Account billing address: string closed: boolean delivery address: string e-mail address: string name: string

+ + + +

date: Dat e deliveryInstructions: String orderNumber: String checkForOutst andingOrders() : v oid

LoginAcount

constraints {orderNumber must be unique}

Use r

UML Diagrams
Structural Diagrams:
Class Diagram: models classes and relationships

Component Diagram: displays the high level packaged structure of the code itself.
Deployment Diagram: displays the configuration of run-time processing elements and the software components, processes, and objects that live on them.

Behavioral Diagrams:
Use Case Diagram: displays the relationship among actors and use cases. Sequence Diagram: displays the time sequence of the objects participating in the interaction. State Diagram: displays the sequences of states that an object of an interaction goes through. Activity Diagram: displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states.

UML Diagrams
Structural Diagrams

Class Diagrams

Component Diagrams

Deployment Diagrams

Behavioral Diagrams

Use Case Diagrams

Sequence Diagrams

State Diagrams

Activity Diagrams

Diagrams and Views

Logical View
Classes, interfaces, collaborations

Implementation View

Use Case View


Actors, Use cases

Components

Process View
Sequences, Activities, Tranzitions

Deployment View
Nodes

Conceptual

Physical

Agenda
Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Requirements
There are NO UML 2.0 notation for Requirements. You could use Enterprise Architect Extensions to formalize a requirement. You could uses Notes to specify Requirement Details Requirements can have relationships with other elements such as other Requirements, Use Cases etc.

custom Manage Users REQ011 - Manage User Account s

custom Manage Users REQ016 -A dd User s

REQ017 -Remove User REQ011 - Manage User Account s REQ018 - Report on User A ccount

REQ025 - Store User Det ails

REQ024 - Secure Access

REQ026 - Validate User

Actors
Actor is someone or something that interacts with the system (exchanges information with the system) Use generalization to specify an instance of one actor can communicate with the same kinds of use-case instances as an instance of uc Actors other actors.
uc Actors

Use r + password + user ID

Administrator

Client

Use r + password + user ID

Use Cases
A use case is a sequence of actions a system performs that yields an observable result of value to a particular actor. A use case describes what a system does, but it does not specify how it does it.
List Current Orders

Process Order

Storeroom Worker (from Actors) Ship Order

Use Case relationships

Use Case relationships

uc Send Messages

UC-00 7.01 Send Mess age Us er (from Actors)

UC-00 7-02 Send Exter nal E -mail

UC-00 7.03 Send Inter nal E -mail

UC-007.04 Send Fax

UC-007.05 Send SMS

Requirements implementation
Connect Functional Requirements to Use Cases using realization Use Relationship Matrix to check Requirements coverage

Agenda
SDM Overview Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

What is Domain Model?


It is a model which illustrate meaningful conceptual classes in a real-world problem domain
Identify conceptual classes or domain objects Show associations between them Indicate their attributes when appropriate

It is a model which is used to define data model and class diagrams It is a model which is developed usually by System Analyst or

Software Architect in collaboration with Business Analyst or Client


representative

A Domain Model shows:


The physical and organizational units of the domain;
obj ect Domain Model actor Us er + + password user ID + + + + + entity Account billing address: string closed: boolean delivery address: string e-mail addre ss: string name: string

Multiplications 0..1 1 * (0..*) 1..* n 0..n 1..n


Zero or one One only Zero or more One or more Only n (where n > 1) Zero to n (where n > 1) One to n (where n > 1)

obj ect Domain Model actor Us er + + password user ID + 0..* + + + + entity Account billing address: string closed: boolean delivery address: string e-mail addre ss: string name: string

(from Actors)

The relationships between these units:


Associations: has a Generalization: is a

(from Actors)

actor Administrator

actor Cli ent

(from Actors)

(from Actors)

Associations
Aggregation:
Is a special form of association that models a whole-part relationship between an aggregate (the whole) and its parts. When a class is formed as a collection of other classes, it is called an aggregation relationship between these classes.
Student 1 0..* Book

Composition:
If a class cannot exist by itself, and instead must be a member of another class, then that class has a Composition relationship with the containing class. Composition is a variation of the aggregation relationship. Composition connotes that a strong life cycle is associated between the classes.
Window 1 1 Frame

Associations
Association class
In an association between two classes, the association itself might have properties. Association class modeling element that has both association and class properties.

Reflexive association
Company * 1..* +children * Person +parents 2

Job

description: dateHired: salary: int

Agenda
SDM Overview Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Process View
Process View or Dynamic Model is defined by interaction diagrams Interaction diagrams describe how groups of objects collaborate in some behavior.
Are used to model the dynamic aspects of a system. Can be used to model one particular flow of control for a use case. Contain objects, links, and messages. Developed by Software Designer

There are three types of Interaction diagrams:


Sequence diagrams
State diagrams Activity diagrams

Sequence diagram
Is an interaction diagram that emphasizes the time ordering of messages. Use to illustrate use-case realizations. Shows how objects interact to perform the behavior of all or part of a use case. One or more sequence diagrams may illustrate the object interactions that

enact a use case.


A typical organization is to have one sequence diagram for the main flow of events and one sequence diagram for each independent sub-flow of the use case. Are particularly important to designers because they clarify the roles of objects in a flow and provide basic information for determining class responsibilities and interfaces.

uc Manage Users

Use Case Implementation

Create Account

Use Case Implementation OR Analysis classes


uc Manage Users

Logi n

analysis Login

Domain Model::Account name: string billing address: string e-mail address: string closed: boolean delivery address: string

Client (from Act ors)

LoginForm

LoginAcount

LoginData

State diagrams
A statechart diagram shows the behavior of classes in

response to external events.


are used to describe the behavior of a system. models the dynamic flow of element from state to state within a

system.
represents objects of a single class and track the different states of its objects through the system.

have one initial states, intermediate states and one or more final
states.

State diagrams
Send Compose Composed Save Send Sent Saved Transmit via Gateway [External Contact] The message is In Transit when it has left the Messenger . System for an external recipient

In Transit

Cancel

Transmit [Internal Contact] Reach Recipient Delivered Read Read

Discarded

This occurs when the message is removed from Deleted Items . Restore Delete Deleted Purge Purged Archived AccountLimitReached [HighPriority] /SendMessage

Activity Diagrams
An activity diagram illustrates the dynamic nature of a system

by modeling the flow of control from activity to activity.


An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business processes and internal operation. Because an activity diagram is a special kind of statechart diagram, it

uses some of the same modeling conventions.

Activity diagram
Create Order

Check Credit Card

Check Stock

Validate

Cancel Order

Invalid

ActivityFinal Out of Stock

Valid

In Stock

Deliver Goods

Process Credit Card

Agenda
SDM Overview Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Component diagrams
Describes the organization of the physical components in a

system.
The different high-level reusable parts of a system are represented in a Component diagram. A component is one such constituent part of a system. To representing the high-level parts, the Component diagram also captures the inter-relationships between these parts.

Represents the implementation perspective of a system.

Component diagrams

Agenda
SDM Overview Architectural Views UML Overview Requirements and Use Case Modeling Domain Model Interaction Modeling Implementation View Deployment View

Deployment diagrams

Depict the physical resources in a system


including nodes, components, and connections.

Show the hardware for your system, the software that is installed on that hardware, and the middleware used to connect the disparate machines to one another.

Deployment diagrams

216.239.46.96 : Ethernet Adaptor Web Server :Dell PowerEdge 2650 pc server RAM = 2 x 1024 MB Processor = 2 x 2.8 GHZ Disks = 4 x 80 GB Disk Controller = RAID 5

FRR01 :Intel 19510 Frame Relay Router HOES01 :Ethernet Switched Hub +Internet

216.239.46.95 : Ethernet Adaptor WebDataServer :Dell PowerEdge 6650 HOFW :WatchGuard III Firewall pc server RAM = 1024 Mb Processor = 3.0 GHz Disks = 3 x 120 GB Disk Controller = RAID 5

Thank you Questions?

S-ar putea să vă placă și