Inicio
Explorar
Enviar búsqueda
Cargar
Iniciar sesión
Registrarse
Publicidad
Check these out next
Case stydy cs701
Dinkar Mishra
Fundamentals of Software Engineering
Madhar Khan Pathan
M02 Uml Overview
Dang Tuan
Uml intro
Preeti Mishra
Uml
anwitat
Uml
anwitat
Uml
Vishwa Mohan
Modeling software with UML
6020 peaks
1
de
44
Top clipped slide
lecture 3.ppt
19 de Mar de 2023
•
0 recomendaciones
0 recomendaciones
×
Sé el primero en que te guste
ver más
•
3 vistas
vistas
×
Total de vistas
0
En Slideshare
0
De embebidos
0
Número de embebidos
0
Descargar ahora
Descargar para leer sin conexión
Denunciar
Software
lec 3
Tik Tok
Seguir
Publicidad
Publicidad
Publicidad
Recomendados
02_IT4557.pptx
johnmichael314688
1 vista
•
57 diapositivas
Cs 1023 lec 10 uml (week 3)
stanbridge
759 vistas
•
70 diapositivas
Introduction to UML
Emertxe Information Technologies Pvt Ltd
39.9K vistas
•
71 diapositivas
Unified Modeling Language
Debajyoti Biswas
4.3K vistas
•
38 diapositivas
graph
Dipa Mokashi
290 vistas
•
70 diapositivas
FSD MICRO PROJECT UML PPT.pptx
ThorOdinson55
18 vistas
•
16 diapositivas
Más contenido relacionado
Similar a lecture 3.ppt
(20)
Case stydy cs701
Dinkar Mishra
•
19 vistas
Fundamentals of Software Engineering
Madhar Khan Pathan
•
66 vistas
M02 Uml Overview
Dang Tuan
•
2.1K vistas
Uml intro
Preeti Mishra
•
1.5K vistas
Uml
anwitat
•
71 vistas
Uml
anwitat
•
84 vistas
Uml
Vishwa Mohan
•
2.3K vistas
Modeling software with UML
6020 peaks
•
136 vistas
Cs8592 ooad unit 1
VADUGANATHAND1
•
119 vistas
Cs8592 ooad unit 1
MAYILVELKUMARPONNUSA
•
34 vistas
Uml Presentation
anasz3z3
•
1.4K vistas
Lecture 3 cst205 cst281-oop
ktuonlinenotes
•
54 vistas
UML Basics
Serdar Temiz
•
1.8K vistas
uml2-1214558329929112-8.ppt
AleksandarUrdarevski
•
2 vistas
Darshan sem4 140703_ooad_2014 (diagrams)
Gajeshwar Bahekar
•
13.7K vistas
UML and Case study
Mihika-QA
•
692 vistas
UML- Unified Modeling Language
Shahzad
•
16.3K vistas
Uml Presentation
mewaseem
•
44.9K vistas
Intoduction to uml
Mahesh Bhalerao
•
1.5K vistas
1. introduction to uml
PRABU M
•
159 vistas
Último
(20)
Dare to Lead: Brave Work. Tough Conversations. Whole Hearts.
denisehawkins7
•
0 vistas
Introduction to Databases
Muhammad Jahanzaib
•
0 vistas
The Hawthorne Legacy (The Inheritance Games, #2)
megedwards5
•
0 vistas
How to Catch a Mermaid
denisehawkins7
•
0 vistas
Woodland Dance! (Boynton on Board)
megedwards5
•
0 vistas
Conversational AI Management Simplified: Introducing E.D.D.I with Quarkus
Gregor Jarisch
•
0 vistas
From Blood and Ash (Blood and Ash, #1)
megedwards5
•
0 vistas
Multi-Vendor Marketplace Platform
ChetnaPatil34
•
0 vistas
Bad Dad Jokes 2022 Box Calendar - Daily Humor Desktop
samuelburbank1
•
0 vistas
Viral: The Search for the Origin of COVID-19
denisehawkins7
•
0 vistas
Automatic System for Detection and Classification of Brain Tumors
Fatma Sayed
•
0 vistas
What Happened To You?: Conversations on Trauma, Resilience, and Healing
denisehawkins7
•
0 vistas
Burn After Writing (Celestial)
denisehawkins7
•
0 vistas
Untamed
megedwards5
•
0 vistas
7 Steps To Create A Cloud Strategy (1).pdf
Polyxer Systems
•
0 vistas
In the Weeds: Around the World and Behind the Scenes with Anthony Bourdain
denisehawkins7
•
0 vistas
Disney Dreams Collection Thomas Kinkade Studios Disney Princess Coloring Book
samuelburbank1
•
0 vistas
Dog Man: Fetch-22 (Dog Man, #8)
samuelburbank1
•
0 vistas
Data Structures & Algorithms
Muhammad Jahanzaib
•
0 vistas
Woke Up This Morning: The Definitive Oral History of The Sopranos
denisehawkins7
•
0 vistas
Publicidad
lecture 3.ppt
© SERG Software Design
(UML) Software Design Static Modeling using the Unified Modeling Language (UML) Material based on [Booch99, Rambaugh99, Jacobson99, Fowler97, Brown99]
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling
with UML
© SERG Overview: modeling
with UML • What is modeling? • What is UML? • Use case diagrams • Class diagrams • Sequence diagrams • Activity diagrams
© SERG What is
modeling? • Modeling consists of building an abstraction of reality. • Abstractions are simplifications because: – They ignore irrelevant details and – They only represent the relevant details. • What is relevant or irrelevant depends on the purpose of the model.
© SERG Example: street
map
© SERG Why model
software? Why model software? • Software is getting increasingly more complex – Windows XP > 40 million lines of code – A single programmer cannot manage this amount of code in its entirety. • Code is not easily understandable by developers who did not write it • We need simpler representations for complex systems – Modeling is a mean for dealing with complexity
© SERG What is
UML? • UML (Unified Modeling Language) – An emerging standard for modeling object-oriented software. – Resulted from the convergence of notations from three leading object-oriented methods: • OMT (James Rumbaugh) Object Modeling Technique • OOSE (Ivar Jacobson) Object Oriented Software Engineering • Booch (Grady Booch) • Reference: “The Unified Modeling Language User Guide”, Addison Wesley, 1999. • Supported by several CASE tools – Rational ROSE – TogetherJ
© SERG UML: First
Pass • You can model 80% of most problems by using about 20 % UML • We teach you those 20%
© SERG UML First
Pass • Use case Diagrams – Describe the functional behavior of the system as seen by the user. • Class diagrams – Describe the static structure of the system: Objects, Attributes, Associations • Sequence diagrams – Describe the dynamic behavior between actors and the system and between objects of the system • Statechart diagrams – Describe the dynamic behavior of an individual object (essentially a finite state automaton) • Activity Diagrams – Model the dynamic behavior of a system, in particular the workflow (essentially a flowchart)
© SERG UML first
pass: Use case diagrams WatchUser WatchRepairPerson ReadTime SetTime ChangeBattery Actor Use case Package Watch Use case diagrams represent the functionality of the system from user’s point of view
© SERG UML first
pass: Class diagrams 1 2 push() release() 1 1 blinkIdx blinkSeconds() blinkMinutes() blinkHours() stopBlinking() referesh() LCDDisplay 1 Time now 1 Watch Class Association Multiplicity Attribute Operations state PushButton Class diagrams represent the structure of the system
© SERG UML first
pass: Sequence diagram :LCDDisplay blinkHours() blinkMinutes() refresh() commitNewTime() :Time incrementMinutes() stopBlinking() :Watch pressButton1(& 2) pressButton2() pressButtons1And2() pressButton1() :WatchUser Object Message Activation Sequence diagrams represent the behavior as interactions Actor Lifeline
© SERG UML first
pass: Statechart diagrams for objects with interesting dynamic behavior BlinkHours BlinkMinutes IncrementHrs IncrementMin. BlinkSeconds IncrementSec. StopBlinking [button1&2Pressed] [button1Pressed] [button2Pressed] [button2Pressed] [button2Pressed] [button1Pressed] [button1&2Pressed] [button1&2Pressed] State Initial state Final state Transition Event Represent behavior as states and transitions
© SERG Use Case
Diagrams • Used during requirements elicitation to represent external behavior • Actors represent roles, that is, a type of user of the system • Use cases represent a sequence of interaction for a type of functionality • The use case model is the set of all use cases. It is a complete description of the functionality of the system and its environment Passenger PurchaseTicket
© SERG Actors • An
actor models an external entity which communicates with the system: – User – External system – Physical environment • An actor has a unique name and an optional description. • Examples: – Passenger: A person in the train – GPS satellite: Provides the system with GPS coordinates Passenger
© SERG Use Case A
use case represents a class of functionality provided by the system as an event flow. A use case consists of: • Unique name • Participating actors • Entry conditions • Flow of events • Exit conditions • Special requirements PurchaseTicket
© SERG Use Case
Diagram: Example Name: Purchase ticket Participating actor: Passenger Entry condition: • Passenger standing in front of ticket distributor. • Passenger has sufficient money to purchase ticket. Exit condition: • Passenger has ticket. Event flow: 1. Passenger selects the number of zones to be traveled. 2. Distributor displays the amount due. 3. Passenger inserts money, of at least the amount due. 4. Distributor returns change. 5. Distributor issues ticket. Anything missing? Exceptional cases!
© SERG The <<extends>>
Relationship • <<extends>> relationships represent exceptional or seldom invoked cases. • The exceptional event flows are factored out of the main event flow for clarity. • Use cases representing exceptional flows can extend more than one use case. • The direction of a <<extends>> relationship is to the extended use case Passenger PurchaseTicket TimeOut <<extends>> NoChange <<extends>> OutOfOrder <<extends>> Cancel <<extends>>
© SERG The <<includes>>
Relationship • <<includes>> relationship represents behavior that is factored out of the use case. • <<includes>> behavior is factored out for reuse, not because it is an exception. • The direction of a <<includes>> relationship is to the using use case (unlike <<extends>> relationships). Passenger PurchaseSingleTicket PurchaseMultiCard NoChange <<extends>> Cancel <<extends>> <<includes>> CollectMoney <<includes>>
© SERG Use Case
Diagrams: Summary • Use case diagrams represent external behavior • Use case diagrams are useful as an index into the use cases • Use case descriptions provide meat of model, not the use case diagrams. • All use cases need to be described for the model to be useful.
© SERG Software Design
(UML) Class Operations Person name : String address : Address birthdate : Date ssn : Id eat sleep work play Operations describe the class behavior and appear in the third compartment. Class Name Class Attributes Class Operations An attribute is a named property of a class that describes the object being modeled.In the class diagram, attributes appear in the second compartment just below the name-compartment. The name of the class is the only required tag in the graphical representation of a class. It always appears in the top-most compartment.
© SERG Software Design
(UML) Relationships In UML, object interconnections (logical or physical), are modeled as relationships. There are three kinds of relationships in UML: • dependencies • generalizations • associations
© SERG Software Design
(UML) Dependency Relationships CourseSchedule add(c : Course) remove(c : Course) Course A dependency indicates a semantic relationship between two or more elements. The dependency from CourseSchedule to Course exists because Course is used in both the add and remove operations of CourseSchedule.
© SERG Software Design
(UML) Generalization Relationships Person A generalization connects a subclass to its superclass. It denotes an inheritance of attributes and behavior from the superclass to the subclass and indicates a specialization in the subclass of the more general superclass. Student
© SERG Software Design
(UML) Generalization Relationships (Cont’d) Student UML permits a class to inherit from multiple superclasses, although some programming languages (e.g., Java) do not permit multiple inheritance. TeachingAssistant Employee
© SERG Software Design
(UML) Association Relationships If two classes in a model need to communicate with each other, there must be link between them. An association denotes that link. Instructor Student
© SERG Software Design
(UML) Association Relationships (Cont’d) We can indicate the multiplicity of an association by adding multiplicity adornments to the line denoting the association. The example indicates that a Student has one or more Instructors: Instructor Student 1..*
© SERG Software Design
(UML) Association Relationships (Cont’d) The example indicates that every Instructor has one or more Students: Instructor Student 1..*
© SERG Software Design
(UML) Association Relationships (Cont’d) We can also indicate the behavior of an object in an association (i.e., the role of an object) using rolenames. Instructor Student 1..* 1..* learns from teaches
© SERG Software Design
(UML) Association Relationships (Cont’d) We can also name the association. Team Student membership 1..* 1..*
© SERG Software Design
(UML) Association Relationships (Cont’d) We can specify dual associations. Team Student member of 1..* president of 1 1..* 1..*
© SERG Software Design
(UML) Association Relationships (Cont’d) We can constrain the association relationship by defining the navigability of the association. Here, a Router object requests services from a DNS object by sending messages to (invoking the operations of) the server. The direction of the association indicates that the server has no knowledge of the Router. Router DomainNameServer
© SERG Software Design
(UML) Association Relationships (Cont’d) A class can have a self association. LinkedListNode next previous
© SERG Software Design
(UML) Association Relationships (Cont’d) We can model objects that contain other objects by way of special associations called aggregations and compositions. An aggregation specifies a whole-part relationship between an aggregate (a whole) and a constituent part, where the part can exist independently from the aggregate. Aggregations are denoted by a hollow-diamond adornment on the association. Car Engine Transmission
© SERG Software Design
(UML) Association Relationships (Cont’d) A composition indicates a strong ownership and coincident lifetime of parts by the whole (i.e., they live and die as a whole). Compositions are denoted by a filled-diamond adornment on the association. Window Scrollbar Titlebar Menu 1 1 1 1 1 1 .. *
© SERG Software Design
(UML) Software Design Dynamic Modeling using the Unified Modeling Language (UML)
© SERG Software Design
(UML) State Machine An object must be in some specific state at any given time during its lifecycle. An object transitions from one state to another as the result of some event that affects it. You may create a state diagram for any class, collaboration, operation, or use case in a UML model . There can be only one start state in a state diagram, but there may be many intermediate and final states.
© SERG Software Design
(UML) State Machine start state final state simple state concurrent composite state sequential composite state
© SERG Software Design
(UML) State Machine selecting verifying downloading checking schedule download course offerings make a course selection verify selection check schedule select another course make a different selection unscheduled scheduled sign schedule
© SERG Software Design
(UML) Collaboration Diagram A collaboration diagram emphasizes the relationship of the objects that participate in an interaction. Unlike a sequence diagram, you don’t have to show the lifeline of an object explicitly in a collaboration diagram. The sequence of events are indicated by sequence numbers preceding messages. Object identifiers are of the form objectName : className, and either the objectName or the className can be omitted, and the placement of the colon indicates either an objectName: , or a :className.
© SERG Software Design
(UML) Collaboration Diagram : Order Entry Window : Order : Order Line :Delivery Item : Stock Item :Reorder Item 1: prepare() 2*: prepare() 3: check() 4: [check == true] remove() 6: new 7: [check == true] new 5: needToReorder() [Fowler,97] Self-Delegation Object Message Sequence Number
© SERG Software Design
(UML) Activity Diagram An activity diagram is essentially a flowchart, showing the flow of control from activity to activity. Use activity diagrams to specify, construct, and document the dynamics of a society of objects, or to model the flow of control of an operation. Whereas interaction diagrams emphasize the flow of control from object to object, activity diagrams emphasize the flow of control from activity to activity. An activity is an ongoing non-atomic execution within a state machine. - The UML User Guide, [Booch,99]
© SERG Software Design
(UML) [Fowler,97] Receive Order Authorize Payment Check Line Item Cancel Order Assign to Order Reorder Item Dispatch Order [failed] [succeeded] [in stock] * for each line item on order [need to reorder] [stock assigned to all line items and payment authorized] Synchronization Condition Multiple Trigger
© SERG Software Design
(UML) References [Booch99] Booch, Grady, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison Wesley, 1999 [Rambaugh99] Rumbaugh, James, Ivar Jacobson, Grady Booch, The Unified Modeling Language Reference Manual, Addison Wesley, 1999 [Jacobson99] Jacobson, Ivar, Grady Booch, James Rumbaugh, The Unified Software Development Process, Addison Wesley, 1999 [Fowler, 1997] Fowler, Martin, Kendall Scott, UML Distilled (Applying the Standard Object Modeling Language), Addison Wesley, 1997. [Brown99] First draft of these slides were created by James Brown.
Publicidad