IELM 511: Information System design

Slides:



Advertisements
Similar presentations
UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Advertisements

UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
IELM 511: Information System design Introduction Part I. ISD for well structured data – relational and other DBMS Part II. ISD for systems with non-uniformly.
Interaction Diagrams Activity Diagram State Machine Diagram
Object-Oriented Analysis and Design
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
IELM 511: Information System design Introduction Part 1. ISD for well structured data – relational and other DBMS Part 2. ISD for systems with non-uniformly.
IELM 511: Information System design Introduction Part 1. ISD for well structured data – relational and other DBMS ISD for systems with non-uniformly structured.
1 UML Component and Deployment Diagrams. Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
UML. Overview of UML Diagrams Structural : element of spec. irrespective of time Class Component Deployment Object Composite structure Package Behavioral.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Unified Modeling Language
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Class, Sequence and UML Model.  Has actors and use cases.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Information System Development Courses Figure: ISD Course Structure.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Systems Analysis & Design 7 th Edition Chapter 5.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
UML Diagrams CSC 422 Kutztown University Dr. Daniel Spiegel.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
UML (Unified Modeling Language)
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
Basic Characteristics of Object-Oriented Systems
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Evolution of UML.
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Dynamic Modeling of Banking System Case Study - II
Systems Analysis and Design With UML 2
UML Diagrams Jung Woo.
Online Shopping APP.
IELM 511: Information System design
Unified Modeling Language
Systems Analysis and Design With UML 2
Chapter 5.
Uml diagrams In ooad.
Presentation transcript:

IELM 511: Information System design Introduction Part 1. ISD for well structured data – relational and other DBMS Info storage (modeling, normalization) Info retrieval (Relational algebra, Calculus, SQL) DB integrated API’s Part 2. ISD for systems with non-uniformly structured data Basics of web-based IS (www, web2.0, …) Markup’s, HTML, XML Design tools for Info Sys: UML Part III: (one out of) API’s for mobile apps Security, Cryptography IS product lifecycles Algorithm analysis, P, NP, NPC

Agenda UML as a design and documentation tool When to use UML Common UML diagrams: - Structure diagrams -- Class; Component; Object; Composite structure; Deployment; Package - Behavior diagrams -- Activity; Use case; State machine diagrams -- Interaction diagrams: Communication; Sequence; Timing; Interaction overview Concluding remarks

When to use UML Classical system development tool: Flowcharts Problems: - Complex programs  flowchart too complex, non-planar graph - Does not provide a good ‘state-machine’ view - Procedural; cannot provide good view of objects and their interaction … Universal Modeling Language - Provides tools to describe system, components, and their interactions - Useful in design - Useful in documentation and system updates/modifications/debugs - Natural tool for Objet Oriented Programming

UML overview Graphical description of all information about a system -- Static information : diagrams to document the structure of the system -- dynamic information: diagrams that describe how the system behaves Structure Behavior Class Use case Object Activity Component State machine Interaction Deployment Sequence Composite structure Interaction overview Package Communication Timing Reference for the following: Randy Miller, EDM

Class diagram Class diagrams give an overview of the system by showing the classes and relationships between them. Most closely related to the data structure of the program Every class diagram has classes, associations, and multiplicities. This class diagram models a customer order from a retail catalog. The central class is the Order. Associated with it are the Customer making the purchase and the Payment. A Payment is one of three kinds: Cash, Check, or Credit. The order contains OrderDetails (line items), each with its associated Item. Three kinds of relationships: association -- a relationship between instances of the two classes. There is an association between two classes if an instance of one class must know about the other in order to perform its work. In a diagram, an association is a link connecting two classes. aggregation -- an association in which one class belongs to a collection. An aggregation has a diamond end pointing to the part containing the whole. In our diagram, Order has a collection of OrderDetails. generalization -- an inheritance link indicating one class is a superclass of the other. A generalization has a triangle pointing to the superclass. Payment is a superclass of Cash, Check, and Credit. An association has two ends. An end may have a role name to clarify the nature of the association. For example, an OrderDetail is a line item of each Order. A navigability arrow on an association shows which direction the association can be traversed or queried. An OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you know who "owns" the association's implementation; in this case, OrderDetail has an Item. Associations with no navigability arrows are bi-directional. The multiplicity of an association end is the number of possible instances of the class associated with a single instance of the other end. Multiplicities are single numbers or ranges of numbers. In our example, there can be only one Customer for each Order, but a Customer can have any number of Orders. This table gives the most common multiplicities. 0..1  zero or one instance. n . . m  n to m instances. 0..*  or  *  no limit on the number of instances (including none). 1  exactly one instance 1..*  at least one instance

Package diagrams Class diagrams can become very large and complex; objects (or packages) can be used to group classes into higher level entities, i.e. packages Example: a business model in which the classes are grouped into packages Packages appear as rectangles with small tabs at the top. The package name is on the tab or inside the rectangle. The dotted arrows are dependencies. One package depends on another if changes in the other could possibly force changes in the first.

Object diagrams Sometimes each instance of a class itself may have a complex structure. Object diagrams are used to illustrate the structure of one instance of an object Example: a university Department that contain lots of other Departments. class diagram an instance of this class

Component and Deployment Diagrams A component is a code module; component diagrams map directly to the program structure. Deployment diagrams show the physical configurations of software and hardware. Example: The deployment diagram below shows the relationships among software and hardware components involved in real estate transactions The physical hardware is made up of nodes. Each component belongs on a node. Components are shown as rectangles with two tabs at the upper left.

Use case diagrams Use case diagrams illustrate what the system does, i.e. what functionality it provides (an analogy is the user-guide for a device). Example: Medical clinic scenario A patient calls the clinic to make an appointment for a yearly checkup. The receptionist schedules the appointment.

Activity diagrams Activity diagrams focus on the flow of activities involved in a single process (similar to flowcharts), showing how activities are related to one another. Example: Activity: withdraw money from ATM machine Classes involved: customer, ATM, bank

State machine (statechart) diagram The state of an object depends on its current activity or condition. A statechart diagram shows the possible states of the object and the transitions that cause a change in state. Example: Log in to an online banking system (provide valid SSN + PIN  validation). States are rounded rectangles. Transitions are arrows from one state to another. Events or conditions that trigger transitions are written beside the arrows. Our diagram has two self-transition, one on Getting SSN and another on Getting PIN. The initial state (black circle) is a dummy to start the action. Final states are also dummy states that terminate the action. The action that occurs as a result of an event or condition is expressed in the form /action. While in its Validating state, the object does not wait for an outside event to trigger a transition. Instead, it performs an activity. The result of that activity determines its subsequent state.

Sequence diagrams A sequence diagram shows how operations are carried out: what messages are sent and when. Time flows from top to bottom of diagram. Example: Sequence diagram for making a hotel room booking The Reservation window sends a makeReservation() message to a HotelChain. The HotelChain then sends a makeReservation() message to a Hotel. If the Hotel has available rooms, then it makes a Reservation and a Confirmation. Each vertical dotted line is a lifeline, representing the time that an object exists. Each arrow is a message call. An arrow goes from the sender to the top of the activation bar of the message on the receiver's lifeline. The activation bar represents the duration of execution of the message. In our diagram, the Hotel issues a self call to determine if a room is available. If so, then the Hotel creates a Reservation and a Confirmation. The asterisk on the self call means iteration (to make sure there is available room for each day of the stay in the hotel). The expression in square brackets, [ ], is a condition. The diagram has a clarifying note, which is text inside a dog-eared rectangle. Notes can be put into any kind of UML diagram.

Interaction overview (collaboration) diagrams Collaboration diagrams show the interactions between objects, similar to sequence diagrams, but without the showing the timing of events. Example: interaction diagram for making a hotel room booking

Practical issues in UML use Lots of different diagrams, many different types of arrows, lines, line styles, box shapes etc.  complex, difficult to learn. Many software programs exist that allow designers to specify UML diagrams; some tools can automatically convert UML diagram specs into programs (e.g. Java code). Example: Eclipse. Summary of UML tools (free, commercial) on wikipedia.

References and Further Reading UML on wikipedia Randy Miller’s excellent introduction to UML Object Modeling Group’s UML web-page Next: IS and Secure communications