380 likes | 405 Views
TEST CARD. Unified Modeling. An executive Overview. Coverage. History Fundamental Components Diagrams Not covered: RUP Case tools. What is it?. Language for building a system Specifying, visualizing, constructing Logical Model
E N D
TEST CARD Gopinath Ganapathy, G2 Fundamentals Inc.
Unified Modeling An executive Overview Gopinath Ganapathy, G2 Fundamentals Inc.
Coverage • History • Fundamental Components • Diagrams Not covered: • RUP • Case tools Gopinath Ganapathy, G2 Fundamentals Inc.
What is it? • Language for building a system • Specifying, visualizing, constructing • Logical Model • A common notation system (grammar) approved by OO practitioners • International standard for dev • Controlled by OMG Gopinath Ganapathy, G2 Fundamentals Inc.
Drivers • Pre-UML era: • No defined methodology/analysis • System development –manual & erratic • Complexity (software and Hardware) • Programmer, Analyst and Client agreement • Solid design : time-frames, Corporate takeover • Blueprint – circuit /architecture Gopinath Ganapathy, G2 Fundamentals Inc.
Genesis • Ivar Jacobson • OOSE 1992 • based on the concept of Objectory • Jim Rumbaugh • OMT 1993 • Modeling and Analysis of problem domain • Grady Booch • OOAD 1994 • Design, Architecting of S/W Systems (Rational 1997 – UML (0.9 to 1.2) submits to OMG) Gopinath Ganapathy, G2 Fundamentals Inc.
UML - Syntax Driven • a generic syntax for creating a logical model of any system. • syntax defined originally Rumbaugh and Booch with a common graphical representation. Later joined by Jacobson with Use Cases. • independent of any target language, software process or tool, • flexible, customizable with user defined extensions Gopinath Ganapathy, G2 Fundamentals Inc.
Unified process • All methodologies agreed for standard process to build a software • It is use case driven. • Iterative and incremental • Arch centric and language neutral • Addresses any software system in terms of • Views • Phases • Workflow Gopinath Ganapathy, G2 Fundamentals Inc.
VIEWS • Use case view • How users view a system • What they do? • requirements • Design View • Identifying problems and element of solutions • Static (Structural) • Dynamic (behavioral) • Process View • Flow of control - performance – throughput • Scalability – timing aspect • Impact analysis (by this or external) Gopinath Ganapathy, G2 Fundamentals Inc.
VIEWS - contd • Implementation view • Assembly of pieces (structural & behavioral) • Project as Physical system • Comprising source code, DB, executables,DLL, Docs • Deployment View • Distribution of System geographically • Outside the system (where it was built) Gopinath Ganapathy, G2 Fundamentals Inc.
PHASES: I Any unified system development spans 4 phases: • Inception • Scope of system (What is in & What is out) • Outline a candidate arch (baby sketch) • Estimate cost,effort,quality,schedule • Milestone: • Approval for start of development • Building high-level requirements Gopinath Ganapathy, G2 Fundamentals Inc.
PHASES: II & III • Elaboration • Capturing functional requirements • Expanding Baby sketch into full arch. • Analysis of risk, Choice of technology • Construction • Building operational system (Beta) • Built incrementally/iteratively Gopinath Ganapathy, G2 Fundamentals Inc.
PHASES: IV • Transition • Fully Functional – correcting defects • Rollout to customer • Re-correcting defects • Product Release • Milestone: • delivery/signoff • Release notes/documentaions/manuals Gopinath Ganapathy, G2 Fundamentals Inc.
WORK-FLOW • Describes the system in terms of activities sequentially (waterfall & spiral) • The work flow cuts across the phases. It super imposes with views. • Requirements • Analysis • Design • Development • Implementation • Test Gopinath Ganapathy, G2 Fundamentals Inc.
Object Oriented Analysis & Design Grady Booch Object Oriented Modeling & Design Jim Rumbaugh et al UML OOSE (A Use Case Driven Approach) Ivar Jacobson And the UML is • Comprehensive • Language/Tool Independent • Process Independent • Syntax only • Application not well understood • Graphical representation • Encompassing the features of views-phases-workflow Gopinath Ganapathy, G2 Fundamentals Inc.
Quick check • What we have seen… • What we would see… Gopinath Ganapathy, G2 Fundamentals Inc.
UML Diagram Types • Use Case Diagrams • Static Structure Diagrams • Object Diagrams • Class Diagrams • Interaction Diagrams • Sequence Diagrams • Collaboration Diagrams • State chart Diagrams • Activity Diagrams • Implementation Diagrams • Component Diagrams • Deployment Diagrams Gopinath Ganapathy, G2 Fundamentals Inc.
What is a Use case ? • Use Case: • A Use Case is a procedure by which an external actor can use the system. • Main course of action • an alternative course (an extends relationship is used) • Uses and extends relationships allow all possible procedures without duplication – a ‘normalization’ of the procedural view. Gopinath Ganapathy, G2 Fundamentals Inc.
USE CASE DIAGRAM • Show the relationships between the actors that use the system and the use cases (and also the relationship between use cases). • Basis from which to develop system tests. • A Use Case is represented by an oval - attached to at least one actor, represented by a stick man by a ‘communicates’ relationship. • A Use Case can be related to another Use Case by either a ‘uses’ or an ‘extends’ relationship. Gopinath Ganapathy, G2 Fundamentals Inc.
Simple Use Cases – Sample from FleetCS • Use case 1 • Main course of action • · The user logs on using username and password. • Alternate course of action • · If the password is wrong, he retypes or exits the portal • Use case 2 • Main course of action: • · The user clicks the e-Statement link at the portal page. • Alternate course of action: • · Null Gopinath Ganapathy, G2 Fundamentals Inc.
Simple Use Cases – Sample from FleetCS • Use case 3: • Main course of action: • The user sees the enrollment screen (pop up browser window) if he is not enrolled already. The user enters the email ID in the text box and submits the form. • Alternate course of action: • If already-enrolled user he will not see the page. • The user email ID may be pre-populated in the box if the jsp page gets it from response.xml. The user just clicks the submit button • If the user has different email ID, user types it in the text box. Gopinath Ganapathy, G2 Fundamentals Inc.
Use Case Diagram - Sample Gopinath Ganapathy, G2 Fundamentals Inc.
Static Structures • CLASS DIAGRAM • OBJECT DIAGRAM • COMPONENT DIAGRAM • USE CASE DIAGRAM (some how) Gopinath Ganapathy, G2 Fundamentals Inc.
Dynamic Structures • Sequence Diagram • State Diagram • Activity Diagram • Collaboration Diagram • Deployment Diagram So many? Too many stake holders with different aspects of the system. Gopinath Ganapathy, G2 Fundamentals Inc.
CLASS DIAGRAM • Class : • Category /group of similar properties that have common behavior • EMPLOYEE • Properties : name, age, sex, qualification, experience, address • Behavior : drawing salary, check in, check out, apply leave, resign • White board work Gopinath Ganapathy, G2 Fundamentals Inc.
Symbols Notation Gopinath Ganapathy, G2 Fundamentals Inc.
SEQUENCE DIAGRAM • Objects interaction • Use case – instant Vs generic • Symbol Set • Actual object : Rectangle with underline name • Message : Solid arrows • Return message : dashed arrows • Time – vertical progression/life line Gopinath Ganapathy, G2 Fundamentals Inc.
Object diagram & Collaboration • Real objects lay out • Relationship among objects • Name of the object: Name of the class • Collaboration diagram • extension of object diagram • Relationship of among objects at method level • Sequence diagram may be converted to be collaboration Gopinath Ganapathy, G2 Fundamentals Inc.
Activity Diagram • Decision making (branch, concurrent) • Work out: relax and shower (same time) • Wake up: eat food or go back sleep (either or) • Similar to State Diagram, Simple flow chart, good for manager • Symbol set • Dark circle – start • Oval shape – activity • Bull’s eye – stop • Arrow – connector/signal Gopinath Ganapathy, G2 Fundamentals Inc.
Quick check • What we have seen… • What we would see… Gopinath Ganapathy, G2 Fundamentals Inc.
STATE DIAGRAM • Object’s state in a particular time is captured • State changes in response to events • Symbol Set • Solid circle – start • Rounded rectangle – state • Solid arrow – transition • Bull’s eye – Stop • (white board, Ex. fax machine, library book) Gopinath Ganapathy, G2 Fundamentals Inc.
Component Diagram • Physical entity, not an arbitrary idea • Relationship of the components • Rectangle box – overlaid boxes with name of component and its sub components • Table, DLL, document • Types • Deployable : Active X, .exe, Beans • Work products: Source code, data file, table • Example : payroll, HR module Gopinath Ganapathy, G2 Fundamentals Inc.
DEPLOYMENT DIAGRAM • Hardware plays role too, PC, host, Routers, etc. • Encompassing numerous platforms for an application • Node : rectangle 3D box • Processor – can execute (server) • Device – can’t (Hub) • White board example Gopinath Ganapathy, G2 Fundamentals Inc.
Interactions Classes Operations Interaction Model Classes & Attributes Events Classes Object Model Use Case Model States Operations State Model MAIN (LOGICAL) MODEL Gopinath Ganapathy, G2 Fundamentals Inc.
User Interface Data Processor Data Manager Database External System Component Model Logical Model Business Model Deployment Model GLOBAL SYSTEM MODELING Gopinath Ganapathy, G2 Fundamentals Inc.
Q&A • Discussions Gopinath Ganapathy, G2 Fundamentals Inc.
Suggested Resources • Booch et al, UML User Guide, Pearson, 2006 • Joseph Schmuller, UML , Techmedia, 2003 • Fowler & Scott, UML Distilled, Pearson, 2006 • www.omg.org • www.rational.org • www.rational.ibm.org Gopinath Ganapathy, G2 Fundamentals Inc.
Thanx • Contact Mail: director@butp.org Fone: 431-233-1663 Site: www.butp.org Gopinath Ganapathy, G2 Fundamentals Inc.