GETI 2101 : Information Systems

Size: px
Start display at page:

Download "GETI 2101 : Information Systems"

Transcription

1 GETI 2101 : Information Systems IBM Essentials of Visual Modeling with UML 2.0 Principles of Visual Modeling IBM

2 Objectives Describe the importance of visual modeling and the role of Model Driven Architecture. Define the four principles of visual modeling. Explain what the Unified Modeling Language (UML) represents. Define the type of process that best relates to the UML. IBM The Importance of Modeling IBM

3 Who Should Model in Business System? Business Analyst / Project Managers Requirements and Business Models UML/RUP Web pages Web Content Developer Software Engineer Programming Languages and Architectures Database Models Database Designer IBM Software Project Management Process Time Organization by phases helps minimize the risks of resource allocation. IBM

4 Major Milestones: Business Decision Points Scope and Business Case agreement Architecture baselined Product sufficiently mature for customers Customer acceptance or end of life time Inception Elaboration Construction Transition Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release IBM Project Management Organized into Disciplines Discipline: a collection of activities that are all related to a major area of concern. The disciplines are: Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration & Change Management Project Management Environment IBM

5 What Is a Model? A model is a simplification of reality. IBM Why Model? Modeling achieves four aims: Helps you to visualize a system as you want it to be. Permits you to specify the structure or behavior of a system. Gives you a template that guides you in constructing a system. Documents the decisions you have made. You build models of complex systems because you cannot comprehend such a system in its entirety. You build models to better understand the system you are developing. IBM

6 The Importance of Modeling Less Important More Important Paper Airplane Fighter Jet IBM Software Teams Often Do Not Model Many software teams build applications approaching the problem like they were building paper airplanes Start coding from project requirements Work longer hours and create more code Lacks any planned architecture Doomed to failure Modeling is a common thread to successful projects IBM

7 Model Driven Architecture (MDA) An approach to using models in software development Separate the specification of the operation of a system from the details of the way that system uses the capabilities of its platform. specifying a system independently of the platform that supports it specifying platforms choosing a particular platform for the system transforming the system specification into one for a particular platform IBM MDA Viewpoints Computational Independent Model (CIM) Focus is on environment of the system and requirements for the system Platform Independent Model (PIM) Focus is on system operation, independent of platform Platform Specific Model (PSM) Focus is on detailed usage of system on specific platform IBM

8 Four Principles of Modeling The model you create influences how the problem is attacked. Every model may be expressed at different levels of precision. The best models are connected to reality. No single model is sufficient. IBM Principle 1: The Choice of Model is Important The models you create profoundly influence how a problem is attacked and how a solution is shaped. In software, the models you choose greatly affect your world view. Each world view leads to a different kind of system. Process Model Deployment Model Design Model IBM

9 Principle 2: Levels of Precision May Differ Every model may be expressed at different levels of precision. The best kinds of models let you choose your degree of detail, depending on: Who is viewing the model. Why they need to view it. View for Customers View for Designers IBM Principle 3: The Best Models Are Connected to Reality All models simplify reality. A good model reflects potentially fatal characteristics. IBM

10 Principle 4: No Single Model Is Sufficient No single model is sufficient. Every non-trivial system is best approached through a small set of nearly independent models. Create models that can be built and studied separately, but are still interrelated. Logical View Implementation View Analysts/Designers Structure Use-Case View End-user Functionality Programmers Software management Process View System integrators Performance, scalability, throughput Deployment View System engineering System topology, delivery, installation, communication IBM What Is the UML? The UML is a language for Visualizing Specifying Constructing Documenting the artifacts of a softwareintensive system. IBM

11 The UML Is a Language for Visualizing Communicating conceptual models to others is prone to error unless everyone involved speaks the same language. There are things about a software system you can t understand unless you build models. An explicit model facilitates communication. IBM Visual Modeling with Unified Modeling Language Allows multiple views Provides precise syntax and semantics Sequence Diagrams Use-Case Diagrams Class Diagrams Static Diagrams Object Diagrams Communication Diagrams Models Component Diagrams Dynamic Diagrams Statechart Diagrams Activity Diagrams Deployment Diagrams IBM

12 The UML Is a Language for Specifying The UML builds models that are precise, unambiguous, and complete. IBM The UML Is a Language for Constructing UML models can be directly connected to a variety of programming languages. Maps to Java, C++, Visual Basic, and so on Tables in a RDBMS or persistent store in an OODBMS Permits forward engineering Permits reverse engineering IBM

13 Æ Á ¹ ¼- ëçñ º ±â»ç ëàú äã»çñ Ù. È-ÀÏ ü ÀÚ Â Àоî  ¹ ¼-ÀÇ Á º ÇØ ç ¹ ¼- ü ¼³Á À» äã»çñ Ù. È- é ü  ÀоîµéÀΠüµé ëçø ÀÌ º Î Á ÄÀ» ½ÃÄÑ È- é º ÁØ Ù. 1: Doc view request ( ) 1: Doc view request ( ) 9: sortbyname ( ) L 2: fetchdoc( ) 9: sortbyname ( ) 2: fetchdoc( ) 7: readfile ( ) 5: readdoc ( ) 3: create ( ) 6: filldocument ( ) 4: create ( ) 8: fillfile ( ) 4: create ( ) 8: fillfile ( ) 3: create ( ) 6: filldocument ( ) 5: readdoc ( ) 7: readfile ( ) FileMgr fetchdoc( ) sortbyname( ) rep Repository (from Persistence) name : char * = 0 readdoc( ) readfile( ) FileList add( ) delete( ) read( ) File DocumentList add( ) delete( ) flist 1 GrpFile read( ) open( ) create( ) fillfile( ) Document name : int docid : int numfield : int get( ) open( ) close( ) read( ) sortfilelist( ) create( ) filldocument( ) read() fill the code.. Openning Reading add file [ numberoffile==max ] / flag OFF close file Closing close file add file Writing Window95 ¹ ¼- ü Å óàì¾ðæ.exe Windows NT Windows NT ¹ ¼- ü Áø.EXE Windows95 IBM Mainframe µ ÀÌÅ º À̽º¼-¹ö Solaris ÀÀ ë¼-¹ö.exe Windows95 ¹ ¼- ü ¾ÖÇà Alpha UNIX ISO Norm for Business System Engineering Use-Case Diagram Class Diagram Statechart Diagram ISO/IEC 19501:2005 Use Case 1 Actor A Use Case 2 Actor B Use Case 3 Communication mainwnd : MainWnd Diagram FileManager Repository DocumentList Deployment Diagram gfile : GrpFile Document user : Clerk filemgr : FileMgr GraphicFile File FileList repository : Repository document : Document user mainwnd filemgr : FileMgr document : Document Sequence Diagram gfile repository Component Diagram Forward and Reverse Engineering Business System IBM History of the UML UML 2.0 (2004) UML 1.5 (March, 03) UML Partners Expertise UML 1.1 (Sept. 97) UML 1.0 (Jan. 97) UML 0.9 (June 96) and UML 0.91 (Oct. 96) Unified Method 0.8 (OOPSLA 95) Public Feedback Booch 93 OMT - 2 OOSE Other Methods Booch 91 OMT - 1 IBM

14 Inputs to the UML Rumbaugh Booch Jacobson Meyer Before and after conditions Harel State charts Fusion Operation descriptions, message numbering Embley Singleton classes, High-level view Gamma, et.al Frameworks, patterns, notes Wirfs-Brock Responsibilities Shlaer- Mellor Object lifecycles Selic, Gullekson, Ward ROOM (Real-Time Object-Oriented Modeling) Odell Classification IBM A Language Is Not Enough to Build a System Team- Based Development Modeling Language Unified Process IBM

15 What Type of Process Most Benefits the UML? The UML is largely process independent. A process fully benefits from the UML when the process is: Use-case driven Architecture centric Iterative and incremental IBM A Use-Case Driven Process Use cases defined for a system are the basis for the entire development process. Benefits of use cases: Concise, simple, and understandable by a wide range of stakeholders. Help synchronize the content of different models. Check Balance Customer Withdraw Money IBM

16 An Architecture-Centric Process A system s architecture is used as a primary artifact for conceptualizing, constructing, managing, and evolving the system under development. Benefits: Intellectual control over a project to manage its complexity and to maintain system integrity. Effective basis for large-scale reuse. A basis for project management. Assistance in component-based development. IBM An Iterative and Incremental Process Critical risks are resolved before making large investments. Initial iterations enable early user feedback. Testing and integration are continuous. Objective milestones focus on the short term. Progress is measured by assessing implementations. Partial implementations can be deployed. IBM

17 Iterative Development Iteration 1 Iteration 2 Iteration 3 R AD I D T R AD I D R T AD I D T T I M E Earliest iterations address greatest risks. Each iteration produces an executable release, an additional increment of the system. Each iteration includes integration and test. IBM Review What is a model? What are the viewpoints of MDA? Describe each one. What are the four principles of modeling? Describe each one. What is the UML? Describe each of its four benefits. What process characteristics best fit the UML? Describe each characteristic. What is an iteration? IBM

18 Essentials of Visual Modeling with UML 2.0 Business Modeling / Requirements IBM Objectives Describe system behavior and show how to capture it in a model. Demonstrate how to read and interpret: A use-case diagram An activity diagram IBM

19 What Is System Behavior? System behavior is how a system acts and reacts. It comprises the actions and activities of a system. System behavior is captured in use cases. Use cases describe the interactions between the system and (parts of) its environment. IBM What Is a Use-Case Model? A model that describes a system s functional requirements in terms of use cases. A model of the system s intended functions (use cases) and its environment (actors). View Report Card Register for Courses Student Login IBM

20 Major Concepts in Use-Case Modeling An actor represents anything that interacts with the system. A use case describes a sequence of events, performed by the system, that yields an observable result of value to a particular actor. Actor Use Case IBM What Is an Actor? Actors represent roles a user of the system can play. They can represent a human, a machine, or another system. They can actively interchange information with the system. They can be a giver of information. They can be a passive recipient of information. Actors are not part of the system. Actors are EXTERNAL. Actor IBM

21 What Is a Use Case? Defines a set of use-case instances, where each instance is a sequence of actions a system performs that yields an observable result of value to a particular actor. A use case models a dialogue between one or more actors and the system A use case describes the actions the system takes to deliver something of value to the actor Use Case IBM Use Cases and Actors A use case models a dialog between actors and the system. A use case is initiated by an actor to invoke a certain functionality in the system. Association Use Case Actor IBM

22 How Would You Read This Diagram? View Report Card Register for Courses Course Catalog Maintain Professor Information Student Login Maintain Student Information Registrar Select Courses to Teach Close Registration Professor Submit Grades Billing System IBM Documenting Use Cases A document is created for each use case Details the functionality the system must provide to the actor Typical contents How the use case starts and ends Normal events Alternate events Exceptional events IBM

23 Maintain Curriculum Flow of Events This use case begins when the Registrar logs onto the Registration System and enters his/her password. The system verifies that the password is valid (E-1) and prompts the Registrar to select the current semester or a future semester (E-2). The Registrar enters the desired semester. The system prompts the professor to select the desired activity: ADD, DELETE, REVIEW, or QUIT. If the activity selected is ADD, the S-1: Add a Course subflow is performed. If the activity selected is DELETE, the S-2: Delete a Course subflow is performed. If the activity selected is REVIEW, the S-3: Review Curriculum subflow is performed. If the activity selected is IBM 2005 QUIT, 45 the use case ends. What Is an Activity Diagram? An activity diagram in the use-case model can be used to capture the activities and actions performed in a use case. It is essentially a flow chart, showing flow of control from one activity or action to another. Flow of Events This use case starts when the Registrar requests that the system close registration. 1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Registrar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress. 2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the course offering for each schedule that contains it. Activity 2 Activity 1 Activity 3 IBM

24 What Is an Activity? A specification of behavior expressed as a flow of execution via sequencing of subordinate units. Subordinate units include nested activities and ultimately individual actions. May contain boolean expression constraints when the activity is invoked or exited Activity 2 <<Precondition>> Boolean constraint Activity 4 Activity 5 <<Postcondition>> Boolean constraint IBM Example: Activity Diagram Concurrent Threads Guard Condition Check Schedule Select Course [ add course ] [ delete course ] Check Pre-requisites [ checks completed ] [ checks failed ] Decision Delete Course Activity/Action Synchronization Bar (Fork) Synchronization Bar (Join) Assign to Course Resolve Conflicts Transition Update Schedule IBM

25 Swimlanes: Responsabilities from Actors Registrar Create curriculum Professor Create catalog Select courses to teach Place catalog in bookstore Mail catalog to students Open registration [ Registration time period expired ] Close registration IBM Review What is system behavior? What is a use-case model? What are its benefits? What is an actor? A use case? What is an activity diagram? IBM

26 Essentials of Visual Modeling with UML 2.0 Analysis and Design (Class Diagrams) IBM Objectives Describe the static view of the system and show how to capture it in a model. Demonstrate how to read and interpret a class diagram. Model an association and aggregation and show how to model it in a class diagram. Model generalization on a class diagram. IBM

27 What Is a Class Diagram? Static view of a system CloseRegistrationForm + open() + close registration() Student + get tuition() + add schedule() + get schedule() + delete schedule() + has pre-requisites() - semester Schedule + commit() + select alternate() + remove offering() + level() + cancel() + get cost() + delete() + submit() + save() + any conflicts?() + create with offerings() + update with new selections() CloseRegistrationController + is registration open?() + close registration() Professor -name - employeeid : UniqueId - hiredate -status - discipline - maxload + submitfinalgrade() + acceptcourseoffering() + setmaxload() + takesabbatical() + teachclass() IBM Class Diagrams A class diagram shows the existence of classes and their relationships in the logical view of a system A class is a collection of objects with common structure, common behavior, common relationships and common semantics A class is drawn as a rectangle with three compartments Classes should be named using the vocabulary of the domain IBM

28 Attributes The structure of a class is represented by its attributes Attributes may be found by examining class definitions, the problem requirements, and by applying domain knowledge Each course offering has a number, location and time CourseOffering number location time IBM Operations The behavior of a class is represented by its operations RegistrationManager addcourse(student,course) IBM

29 Class Diagram Usage When modeling the static view of a system, class diagrams are typically used in one of three ways, to model: The vocabulary of a system Collaborations A logical database schema IBM Example: Class Diagram Is there a better way to organize class diagrams? RegisterForCoursesForm LoginForm RegistrationController CloseRegistrationForm Schedule CloseRegistrationController Student Professor Course CourseOffering CourseCatalogSystem BillingSystem IBM

30 Review: What Is a Package? A general purpose mechanism for organizing elements into groups. A model element that can contain other model elements. A package can be used: To organize the model under development As a unit of configuration management University Artifacts IBM Example: Registration Package Registration CloseRegistrationForm CloseRegistrationController RegisterForCoursesForm RegistrationController IBM

31 What Is an Association? The semantic relationship between two or more classifiers that specifies connections among their instances. A structural relationship specifying that objects of one thing are connected to objects of another thing. Student Schedule Course IBM What Is Multiplicity? Multiplicity is the number of instances one class relates to ONE instance of another class. For each association, there are two multiplicity decisions to make, one for each end of the association. For each instance of Professor, many Course Offerings may be taught. For each instance of Course Offering, there may be either one or zero Professor as the instructor. Professor instructor * CourseOffering IBM

32 Multiplicity Indicators Unspecified Exactly One Zero or More Zero or More One or More 1 0..* * 1..* Zero or One (optional value) Specified Range Multiple, Disjoint Ranges , 4..6 IBM Example: Multiplicity RegisterForCoursesForm 1 1 RegistrationController Student 1 0..* Schedule 0..* 0..4 CourseOffering IBM

33 Where Are We? Class diagrams Class relationships Association Aggregation Generalization IBM What Is an Aggregation? A special form of association that models a whole-part relationship between the aggregate (the whole) and its parts. An aggregation is an is a part-of relationship. Multiplicity is represented like other associations. Whole 1 Part 0..1 IBM

34 Example: Aggregation RegisterForCoursesForm 1 1 RegistrationController Student 1 0..* Schedule 0..* 0..4 CourseOffering IBM What Is Generalization? A relationship among classes where one class shares the structure and/or behavior of one or more classes. Defines a hierarchy of abstractions where a subclass inherits from one or more superclasses. Single inheritance Multiple inheritance Is an is a kind of relationship. IBM

35 Example: Single Inheritance One class inherits from another. Superclass (parent) - balance -name -number Ancestor Account + withdraw() + createstatement() Generalization Relationship Subclasses (children) Savings Checking Descendents IBM Example: Multiple Inheritance A class can inherit from several other classes. FlyingThing Animal Multiple Inheritance Airplane Helicopter Bird Wolf Horse Use multiple inheritance only when needed and always with caution! IBM

36 Review What does a class diagram represent? What benefits do packages provide to the model? Define association, aggregation, and generalization. How do you find associations? What is multiplicity? What information does multiplicity provide the modeler? IBM Essentials of Visual Modeling with UML 2.0 Analysis and Design (Interaction Diagrams) IBM

37 Objectives Describe dynamic behavior and show how to capture it in a model. Demonstrate how to read and interpret: A sequence diagram A communication diagram Explain the similarities and differences between communication and sequence diagrams. IBM Objects Need to Collaborate Objects are useless unless they can collaborate to solve a problem. Each object is responsible for its own behavior and status. No one object can carry out every responsibility on its own. How do objects interact with each other? They interact through messages. IBM

38 Objects Interact with Messages A message shows how one object asks another object to perform some activity. Message getcourseofferings(forsemester) : Car buyer :RegistrationController :CourseCatalogSystem IBM What is an Interaction Diagram? Generic term that applies to several diagrams that emphasize object interactions Sequence Diagram Communication Diagram Specialized Variants Timing Diagram Interaction Overview Diagram IBM

39 Interaction Diagrams Sequence Diagram Time oriented view of object interaction Sequence Diagrams Communication Diagram Structural view of messaging objects Communication Diagrams IBM Interaction Diagrams Timing Diagram Time constraint view of messages involved in an interaction Timing Diagrams Interaction Overview Diagram High level view of interaction sets combined into logic sequence Interaction Overview Diagrams IBM

40 What Is a Sequence Diagram? A sequence diagram is an interaction diagram that emphasizes the time ordering of messages. The diagram shows: The objects participating in the interaction. The sequence of messages exchanged. Sequence Diagram IBM Sequence Diagram Contents: Objects :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem Anonymous Objects Named Object Lifelines IBM

41 Sequence Diagram Contents: Actor :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog Actor instances IBM Sequence Diagram Contents: Messages :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 4: get course offerings( ) 5: display course offerings( ) Reflexive Messages 6: display blank schedule( ) Message IBM

42 Sequence Diagram Contents: Execution Occurrence :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 5: display course offerings( ) 4: get course offerings( ) 6: display blank schedule( ) Execution Occurrence IBM Sequence Diagram Contents: Event Occurrence :RegisterForCoursesForm :RegistrationController SWTSU Catalog : CourseCatalogSystem : Student : Course Catalog 1: create schedule( ) 2: get course offerings( ) 3: get course offerings(for Semester) 5: display course offerings( ) 4: get course offerings( ) 6: display blank schedule( ) Event Occurrence IBM

43 Messages The behavior of a class is represented by its operations Interaction may be found by examining operations in class diagrams registration form registration manager RegistrationManager 3: Add student to Math 101 addcourse(student,course) IBM Interaction and Relationships Interaction must correspond to relationships If two objects must talk there must be a pathway for communication RegistrationManager Registration Manager Math 101: Course 3: add student to Math 101 Course IBM

44 What Is a Communication Diagram? A communication diagram emphasizes the organization of the objects that participate in an interaction. The communication diagram shows: The objects participating in the interaction. Links between the objects. Messages passed between the objects. Communication Diagrams IBM Example: Communication Diagram 5: display course offerings( ) 6: display blank schedule( ) 1: create schedule( ) : RegisterForCoursesForm : Course Catalog : Student 2: get course offerings( ) 4: get course offerings( ) 3: get course offerings(forsemester) : RegistrationController : CourseCatalogSystem IBM

45 Communication Diagrams Contents: Objects : RegisterForCoursesForm Objects : RegistrationController SWTSU Catalog : CourseCatalogSystem IBM Communication Diagram Contents: Actors : RegisterForCoursesForm : Student : Course Catalog Actors : RegistrationController SWTSU Catalog : CourseCatalogSystem IBM

46 Communication Diagram Contents: Links and Messages Messages 5: display course offerings( ) 6: display blank schedule( ) 1: create schedule( ) : RegisterForCoursesForm Links : Course Catalog : Student 2: get course offerings( ) 4: get course offerings( ) 3: get course offerings(forsemester) : RegistrationController : CourseCatalogSystem IBM Sequence and Communication Diagram Similarities Semantically equivalent Can convert one diagram to the other without losing any information Model the dynamic aspects of a system Model a use-case scenario IBM

47 Sequence and Communication Diagram Differences Sequence diagrams Show the explicit sequence of messages Show execution occurrence Better for visualizing overall flow Better for real-time specifications and for complex scenarios Communication diagrams Show relationships in addition to interactions Better for visualizing patterns of communication Better for visualizing all of the effects on a given object Easier to use for brainstorming sessions IBM Review What is the purpose of an interaction diagram? What is a sequence diagram? A communication diagram? What is a timing diagram? An interaction overview diagram? What are the similarities between sequence and communication diagrams? What are the differences between sequence and communication diagrams? IBM

48 Essentials of Visual Modeling with UML 2.0 Analysis and Design (State Machine Diagrams) IBM Objectives Demonstrate how to read and interpret a: State machine diagram IBM

49 Example: Professor There are a sequence of events before an instructor becomes a University professor. Assistant professor (achieves tenure by producing a number of quality publications) Tenure/Associate professor Professor (based on seniority) IBM What Are State Machine Diagrams? A state machine diagram models dynamic behavior. It specifies the sequence of states in which an object can exist: The events and conditions that cause the object to reach those states The actions that take place when those states are reached Assistant Professor Tenured IBM

50 Special States The initial state is the state entered when an object is created. An initial state is mandatory. Only one initial state is permitted. The initial state is represented as a solid circle. A final state indicates the end of life for an object. A final state is optional. A final state is indicated by a bull s eye. More than one final state may exist. Applied IBM What Are Events? An event is the specification of a significant occurrence that has a location in time and space. An event is an occurrence of a stimulus that can trigger a state transition. Example: Successful publication of numerous papers Assistant Professor Event Tenured IBM

51 What Are Transitions? A transition is a change from an originating state to a successor state as a result of some stimulus. The successor state could possibly be the originating state. A transition may take place in response to an event. Transitions can be labeled with event names. Assistant Professor maxpapers Tenured Transition Event Name IBM Example: State Machine Hired Applied accepted H Assistant Professor maxpapers rejected Tenured seniority retired Professor H takesabbatical return Hiatus IBM

52 State Transition Diagram Add student[ count < 10 ] Initialization do: Initialize course Add Student / Set count = 0 Open entry: Register student exit: Increment count Cancel Cancel [ count = 10 ] Canceled do: Notify registered students Cancel Closed do: Finalize course IBM Essentials of Visual Modeling with UML 2.0 Implementation (Component Diagrams) IBM

53 What Is a Component Diagram? A diagram that shows the organizations and dependencies among components <<component>> ComponentA <<component>> ComponentB <<component>> ComponentC <<component>> ComponentD IBM What Is a Component? A modular part of a system that hides its implementation behind a set of external interfaces. Part of a logical or physical system <<component>> <<component>> ComponentName Component Name IBM

54 The Physical World Component diagrams illustrate the organizations and dependencies among software components Billing.exe Register.exe People.dll Course.dll IBM Essentials of Visual Modeling with UML 2.0 Implementation (Deployment Diagrams) IBM

55 What Is a Deployment Diagram? The deployment diagram shows: Configuration of processing nodes at run-time Communication links between these nodes Deployed artifacts that reside on them IBM What Is a Connector? A connector represents a: Communication mechanism Physical medium Software protocol <<100-T Ethernet>> <<client workstation>> Kiosk <<application server>> Server Connector <<RS-232>> <<client workstation>> Console IBM

56 Example: Deployment Diagram <<client workstation>> PC <<Campus LAN>> <<Campus LAN>> 1 1 <<application server>> Registration Server 1 <<Campus LAN>> 1 <<legacy RDBMS>> Course Catalog <<legacy>> Billing System IBM Review Define state. How do you determine the classes with significant state? What is a state machine diagram? Describe the different parts of the diagram. What is a component diagram? What is the purpose of a deployment diagram? IBM

57 Essentials of Software Project Mangement Rational Unified Process IBM Objectives Understand Business software project looking at: Symptoms and root causes Iterative Develpment An introduction to Rational Unified Process IBM

58 Symptoms of Software Development Problems User or business needs not met Requirements churn Modules don t integrate Hard to maintain Late discovery of flaws Poor quality or end-user experience Poor performance under load No coordinated team effort Build-and-release issues IBM Trace Symptoms to Root Causes Symptoms Root Causes Best Practices Needs not met Requirements churn Modules don t fit Hard to maintain Late discovery Poor quality Poor performance Colliding developers Build-and-release Insufficient requirements Ambiguous communications Brittle architectures Overwhelming complexity Undetected inconsistencies Poor testing Subjective assessment Waterfall development Uncontrolled change Insufficient automation Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change IBM

59 Waterfall Development Characteristics Waterfall Process Requirements Analysis Design Code and Unit Test Subsystem Integration System Test Delays confirmation of critical risk resolution Measures progress by assessing work-products that are poor predictors of time-to-completion Delays and aggregates integration and testing Precludes early deployment Frequently results in major unplanned iterations IBM Iterative Development Produces Executables Requirements Planning Management Environment Analysis & Design Implementation Test Evaluation Each iteration results in an executable release. Deployment IBM

60 Risk Profiles Waterfall Risk Risk Risk Reduction Iterative Risk Time IBM Test Each Iteration Iteration 1 Iteration 2 Iteration 3 Iteration 4 UML Model and Implementation Test Suite 1 Test Suite 2 Test Suite 3 Test Suite 4 Tests IBM

61 Achieving Best Practices Through a Process Iterative approach Guidance for activities and artifacts Process focus on architecture Use cases which drive design and implementation Models which abstract the system IBM History of RUP Tree browser upgraded for enhanced capabilities of creating customized My RUP tree Improved Process for independent testing Rational Process Workbench Major addition of content Performance Testing Business Modeling Configuration & Change Mgt Rational Unified Process 2003 Rational Unified Process 2002 Rational Unified Process 2001 Rational Unified Process 2000 Rational Unified Process Rational Unified Process Rational Objectory Process Introduction of RUP Platform providing a configurable process framework Major addition of tool mentors Project Management UML 1.3 RealTime Objectory UI Design Data Engineering UML 1.1 Requirements Test Process Rational Objectory Process Rational Approach Objectory Process 3.8 IBM OMT Booch UML 1.0

62 Role of UML in RUP Rational Unified Process was developed hand-in-hand with the UML. Many artifacts in Rational Unified Process have a UML representation. Rational Unified Process also includes guidelines for UML concepts. IBM RUP Organization RUP is organized: By time Phases and iterations By content Disciplines IBM

63 RUP Organization By Time Inception Elaboration Construction Transition time Rational Unified Process has four phases: Inception: Define the scope of project Elaboration: Plan project, specify features, baseline architecture Construction: Build the product Transition: Transition the product into end-user community IBM RUP Organization By Content RUP content is organized into disciplines. A discipline is a collection of activities that are all related to a major area of concern. The disciplines are: Business Modeling Requirements Analysis & Design Implementation Test Deployment Configuration & Change Management Project Management Environment IBM

64 Bringing It All Together: The Iterative Approach time content In an iteration, you walk through all disciplines. Disciplines group related activities. IBM Major Milestones: Business Decision Points Scope and Business Case agreement Architecture baselined Product sufficiently mature for customers Customer acceptance or end of life Inception Elaboration Construction Transition time Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release IBM

65 Inception Phase: Objectives Establish project scope and boundary conditions Determine the use cases and primary scenarios that will drive the major design trade-offs Demonstrate a candidate architecture against some of the primary scenarios Estimate the overall cost and schedule Identify potential risks (the sources of unpredictability) Prepare the supporting environment for the project IBM Inception Phase: Evaluation Criteria Stakeholder concurrence on scope definition and cost/schedule estimates Agreement that the right set of requirements has been captured and that there is a shared understanding of these requirements Agreement that the cost/schedule estimates, priorities, risks, and development process are appropriate All risks have been identified and a mitigation strategy exists for each Milestone: Lifecycle Objectives (LCO) IBM

66 Elaboration Phase: Objectives Define, validate and baseline the architecture as rapidly as is practical Baseline the vision Refine support environment Baseline a detailed plan for the Construction phase Demonstrate that the baseline architecture will support the vision at a reasonable cost in a reasonable period of time IBM Elaboration Phase: Evaluation Criteria Product Vision and requirements are stable. Architecture is stable. Key test and evaluation approaches are proven; major risk elements have been addressed and resolved. Iteration plans for Construction phase are of sufficient detail and fidelity to allow work to proceed, and are supported by credible estimates. All stakeholders agree that current vision can be met if the current plan is executed to develop the complete system, in the context of the current architecture. Actual resource expenditures versus planned expenditures are acceptable. Milestone: Lifecycle Architecture (LCA) IBM

67 Construction Phase: Objectives Complete the software product for transition to production Minimize development costs by optimizing resources and avoiding unnecessary scrap and rework Achieve adequate quality as rapidly as is practical Achieve useful versions (alpha, beta, and other test releases) as rapidly as possible IBM Construction Phase: Evaluation Criteria The evaluation criteria for the Construction phase involve the answers to these questions: Is this product release stable and mature enough to be deployed in the user community? Are all the stakeholders ready for the product s transition into the user community? Are actual resource expenditures versus planned still acceptable? Milestone: Initial Operational Capability (IOC) IBM

68 Transition Phase: Objectives Achieve user self-supportability Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision Achieve final product baseline in a rapid and cost-effective manner IBM Transition Phase: Evaluation Criteria The primary evaluation criteria for the Transition phase involve the answers to these questions: Is the user satisfied? Are actual resources expenditures versus planned expenditures acceptable? Milestone: Product release ( GA ) IBM

69 What Is an Iteration? In an iteration, you walk through all disciplines. Iteration: A distinct sequence of activities with a baselined plan and evaluation criteria resulting in a release (internal or external). IBM Changing Focus of Phases Over Time Planned (Business) Decision Points Scope and Business Case agreement (Understand the problem) Architecture baselined (Understand the solution) Product sufficiently mature for customers to use (Have a solution) Acceptance or end of life Inception Elaboration Construction Transition Preliminary Iteration Architecture Iteration Architecture Iteration Development Iteration Development Iteration Development Iteration Transition Iteration Transition Iteration Planned (Technical) Visibility Points IBM

70 Changing Focus of Iterations Over Time Iteration 1 Iteration 2 Iteration 3 Req Design Impl Test Deploy Time IBM Duration of an Iteration An iteration begins with planning and requirements and ends with an internal or external release. Ideally an iteration should run from two to six weeks, depending on your project size and complexity. Factors that affect duration of an iteration: Size, stability and maturity of organization Familiarity with the iterative process Size of project Technical simplicity of project Level of automation used to manage code, distribute information, perform testing IBM

71 Number of Iterations Rule of thumb: Use 6 ± 3 iterations Phase Low Medium High Inception Elaboration Construction Transition Total IBM Conditions that Increase the Number of Iterations Inception Working with new functionality Unknown business environment Highly volatile scope Make-buy decisions Construction Lots of code to write and verify New technology or development tools Elaboration Working with new system environment (new architectural features) Untested architectural elements Need for system prototypes Transition Need for alphas and betas Conversions of customer base Incremental delivery to customers IBM

72 One Iteration Complete Planned Iteration Work Assess Iteration Start Iteration Using Iteration Plan Consider risks Add Change Control Boardapproved changes Artifact: Iteration Assessment Adjust Objectives Continue Adjust Remaining Plan Stop Adjust Target Product Project Stopped Reduce risk Accept change Steer project Plan Next Iteration Start Next Iteration Artifact: Iteration Plan IBM RUP Disciplines RUP has disciplines. Artifacts from each discipline evolve over the iterative process. IBM

73 Core RUP Elements: Roles, Activities, Artifacts Project Manager Identify and Assess Risks Vision Risk List Roles perform activities which have input and output artifacts. Example: The Project Manager role performs the Identify and Assess Risks activity, which uses the Vision artifact as input and produces the Risk List artifact as output. IBM Core RUP Element: Role A role defines the behavior and responsibilities of an individual, or a set of individuals working together as a team. Team members can wear different hats : each member can play more than one role one role can be played by more than one member IBM

74 Roles Are Used for Resource Planning Resource Role Activities Paul Mary Joe Sylvia Stefan Designer Requirements Specifier System Analyst Implementer Architect Define Operations Detail a Use Case Find Actors and Use Cases Perform Unit Tests Identify Design Mechanisms Each individual in the project is assigned to one or several roles. IBM Some RUP Roles Project Manager Business Analyst System Analyst Business Process Analyst System Architect Database Designer System Designer Network Architect Software Engineer Web Engineer Technical Writer IBM

75 Core RUP Element: Activity A piece of work a role performs Granularity of a few hours to a few days Repeated as necessary in each iteration IBM Artifact A document, model, or model element produced, modified, or used by a process The responsibility of roles Likely to be subject to configuration control May contain other artifacts Iteration Plan Storyboard Use Case Model Project Measurements Developer Test Business Goal Test Environment Configuration Iteration Assessment Analysis Model Architectural Proof-of-Concept Workspace Tools User-Interface Prototype Business Use Case Model IBM

76 Disciplines Produce and Share Models Various disciplines produce Models Business Modeling Analysis & Design Requirements Implementation Input To Realized By Business Use- Case Model B B B B Business Object Model Use-Case Model Automated By Realized By Design Model Implemented By Implementation Model Deployment each of those models is Assessed Verified By Test Validated By IBM Business Modeling Discipline Purpose Understand problems in target organization and identify potential improvements Ensure customer and end user have common understanding of target organization Derive system requirements to support target organization Understand structure and dynamics of organization in which system is to be deployed This discipline uses an approach very similar to that of system development IBM

77 Requirements Discipline Purpose Establish and maintain agreement with the customers and other stakeholders on what the system should do Provide system developers with a better understanding of the system requirements Define the boundaries of (delimit) the system Provide a basis for planning the technical contents of iterations Provide a basis for estimating cost and time to develop the system Define a user-interface for the system, focusing on the needs and goals of the users IBM Analysis & Design Discipline Purpose: Transform the requirements into a design of the system-to-be Evolve a robust architecture for the system Adapt the design to match the implementation environment Primary artifact is the Design Model. IBM

78 Implementation Discipline Purpose: Implement classes and objects in terms of components and source code Define the organization of the components in terms of implementation subsystems Test the developed components as units Create an executable system Primary artifact is Implementation Model. IBM Test Discipline Purpose: Finding and documenting defects in software quality Generally advising about perceived software quality Proving the validity of the assumptions made in design and requirement specifications through concrete demonstration Validating the software product functions as designed Validating that the requirements have been implemented appropriately The Test discipline: Focuses primarily on the evaluation or assessment of quality realized through a number of core practices Acts in many respects as a service provider to the other disciplines IBM

79 Deployment Discipline Purpose: Manage the activities associated with ensuring that the software product is available for its end users, such as: Product deployment Testing at the installation and target sites Beta testing Creating end-user support material Creating user training material Releasing to customer (in the form of shrinkwrapped package, download site, etc.) IBM Project Management Discipline Purpose: Provide a framework for managing software-intensive projects. Provide practical guidelines for planning, staffing, executing, and monitoring projects. Provide a framework for managing risk. Main artifacts are: Project Plan Risk Management Plan Business Case Iteration Plans IBM

80 Configuration & Change Management Discipline Purpose: controls change to, and maintains the integrity of, a project s artifacts. IBM Environment Discipline Purpose: Focuses on the activities necessary to configure the process for a project. Defines what improvements are realistic under the project s circumstances: Current process Current tools Current staff skills and capabilities for change Current problems and possible improvement objectives IBM

EECE 310: Software Engineering

EECE 310: Software Engineering T H E U N I V E R S I T Y O F B R I T I S H C O L U M B I A EECE 310: Software Engineering A Brief Introduction to the UML adapted form Philippe Kruchten s slides 1 Outline Purpose & genesis Reminder on

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Representing System Architecture

Representing System Architecture Representing System Architecture Logical View Implementation View End-user Functionality Programmers Software management Use Case View System integrators Performance Scalability Throughput Process View

More information

6 Identify Design Elements

6 Identify Design Elements 6 Identify Design Elements 1 2 3 Identify Design Elements in Context [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze

More information

IS 0020 Program Design and Software Tools

IS 0020 Program Design and Software Tools 1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.

More information

Use Case Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003

Use Case Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Use Case Design FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Copyright 1998-1999 Rational Software, all rights reserved 1 Objectives: Use-Case Design

More information

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering Use-Case Analysis Architecture Oriented Analysis R. Kuehl/J. Scott Hawker p. 1 Notes The slides are based on UML use-case analysis techniques This is an introduction detailed techniques and notation will

More information

Architecture and the UML

Architecture and the UML Architecture and the UML Models, Views, and A model is a complete description of a system from a particular perspective Use Case Use Case Sequence Use Case Use Case Use Case State State Class State State

More information

Index. : (colon), 80 <<>> (guillemets), 34, 56

Index. : (colon), 80 <<>> (guillemets), 34, 56 : (colon), 80 (guillemets), 34, 56 A Abstraction, 3 Acronyms, 54 Action field, 140 Actions tab, 140 ActiveX controls (Microsoft), 163 Activities. See also Activity diagrams basic description of, 241

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

OO Project Management

OO Project Management OO Project Management Twin Cities Java User s Group November 17, 1999 Mary Poppendieck Poppendieck.LLC Object Oriented Development Objects Simulate the Real World Example: Process Control On/Off Switch

More information

The ATCP Modeling Framework

The ATCP Modeling Framework The ATCP 2+9+1 Modeling Framework Bobbi Underbakke Adaptive Team Collaboration, Inc. 800.837.0677 atcprocess.com Adaptive Team Collaboration, Inc. March 22, 2005 Chris Armstrong Armstrong Process Group,

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

More information

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I

CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I CS2353 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT- I Introduction to OOAD What is OOAD? What is UML? What are the United process(up) phases - Case study the NextGen POS system, Inception -Use case Modeling

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

18-Design. Analysis and Design Workflow. Worker Responsibilities. So what do we do next? CMPSCI520/620 Design. Rick Adrion 2003 (except where noted) 1

18-Design. Analysis and Design Workflow. Worker Responsibilities. So what do we do next? CMPSCI520/620 Design. Rick Adrion 2003 (except where noted) 1 CMPSCI520/620 8- and Workflow Readings OOAD Using the UML Copyright 994-998 Rational Software, all rights reserved Architect Architectural Architectural Describe Concurrency Describe Distribution Review

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04 CMPSCI520/620 ***DRAFT*** 11/4/04 17- Readings OOAD Using the UML Copyright 1994-1998 Rational Software, all rights reserved will post Jackson System Development (JSD) Phases the modeling phase Entity/action

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

What is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering )

What is UML / why. UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering ) What is UML / why UML is graphical and notational representation for software system requirements analysis and design. (Software Engineering ) UML notation represents the state of art in term of Object

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

BDSA Introduction to OOAD. Jakob E. Bardram

BDSA Introduction to OOAD. Jakob E. Bardram BDSA Introduction to OOAD Jakob E. Bardram Programming is Fun Developing Quality Software is Hard. Craig Larman in [OOAD] book 2 Object-Oriented Analysis & Design (OOAD) This Lecture Unified Modeling Language

More information

Software Design and Implementation. Example Architecture KIWC

Software Design and Implementation. Example Architecture KIWC Software Design and Implementation Example Architecture KIWC Previously on SDI What is design? What is traceability? What is architecture? Why architectures are important? Architectural styles KWIC The

More information

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

What is use case modeling? 10 - UML Overview. Use-Case diagrams CMPSCI520/620. Rick Adrion 2003 (except where noted) 1 What is use case modeling? 10 - UML Overview use case model a view of a system that emphasizes the behavior as it appears to outside users. A use case model partitions system functionality into transactions

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

Subsystem Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003

Subsystem Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Subsystem Design FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Copyright 1998-1999 Rational Software, all rights reserved 1 Objectives: Subsystem Design

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Outline of Unified Process

Outline of Unified Process Outline of Unified Process Koichiro OCHIMIZU School of Information Science JAIST Schedule(3/3) March 12 13:00 Unified Process and COMET 14:30 Case Study of Elevator Control System (problem definition,

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

Getting a Quick Start with RUP

Getting a Quick Start with RUP Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) Troy Mockenhaupt Chi-Hang ( Alex) Lin Pejman ( PJ ) Yedidsion Overview Definition History Behavior Diagrams Interaction Diagrams Structural Diagrams Tools Effect on Software

More information

UML Views of a System

UML Views of a System UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

More information

Object Oriented System Development

Object Oriented System Development Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

More information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language a standard language to analyze, design and document software intensive solutions Modeling with UML Building blocks When you model something, you create a simplification of

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

More information

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML D. Beltran*, LLS, Barcelona, Spain M. Gonzalez, CERN, Geneva, Switzerlan Abstract CELLS (Consorcio para la construcción, equipamiento

More information

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

Software Engineering

Software Engineering Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

Introduction - SENG 330. Object-Oriented Analysis and Design

Introduction - SENG 330. Object-Oriented Analysis and Design Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:

More information

IBM Best Practices Working With Multiple CCM Applications Draft

IBM Best Practices Working With Multiple CCM Applications Draft Best Practices Working With Multiple CCM Applications. This document collects best practices to work with Multiple CCM applications in large size enterprise deployment topologies. Please see Best Practices

More information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 8: Use Case -Driven Design. Where UML fits in Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution

More information

DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2

DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2 IBM Rational University DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2 DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Rational Unified Process

Rational Unified Process 6- Readings OOAD Using the UML Copyright 994-998 Rational Software, all rights reserved [Partly] posted Rational Unified Process The Unified Modeling Language (UML) is a language for specifying, visualizing,

More information

RUP for Systems Z and other Legacy Systems

RUP for Systems Z and other Legacy Systems IBM Software Group RUP for Systems Z and other Legacy Systems Susan M Burk Senior Managing Consultant IBM smburk@us.ibm.com 413-726-9361 2006 IBM Corporation Agenda Objectives A Quick Introduction to RUP

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram. !"# $%&' !" #" $%%&&& ! Static Structure Diagram Collaboration Collaboration Diagram Collaboration Diagram Diagram Activity Diagram CRC Card CRC Card UML defines a standard notation for object-oriented

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Practical UML - A Hands-On Introduction for Developers

Practical UML - A Hands-On Introduction for Developers Practical UML - A Hands-On Introduction for Developers By: Randy Miller (http://gp.codegear.com/authors/edit/661.aspx) Abstract: This tutorial provides a quick introduction to the Unified Modeling Language

More information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212

Index. brief description section (Use Case Specification documents), 138 Browser window (Rational Rose), 257 Business Rules document, 212 Index A abstract requirements, 10 activity diagram section (Use Case -144 actors identifying, 130-131 relationships, generalization between, 137 use cases, 133-135 Actual completion date attribute actual

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

Software Process. Software Process

Software Process. Software Process Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

White Paper. Rose PowerBuilder Link

White Paper. Rose PowerBuilder Link White Paper Rose PowerBuilder Link Contents Overview 1 Audience...1 The Software Development Landscape...1 The Nature of Software Development...1 Better Software Development Methods...1 Successful Software

More information

An Introduction to the UML and the Unified Process

An Introduction to the UML and the Unified Process 3 An Introduction to the UML and the Unified Process 3.1 Introduction This chapter introduces the Unified Modeling Language (UML) notation, its motivation and history. It then presents the Unified Process

More information

The Web Service Sample

The Web Service Sample The Web Service Sample Catapulse Pacitic Bank The Rational Unified Process is a roadmap for engineering a piece of software. It is flexible and scalable enough to be applied to projects of varying sizes.

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo Vendor: The Open Group Exam Code: OG0-091 Exam Name: TOGAF 9 Part 1 Version: Demo QUESTION 1 According to TOGAF, Which of the following are the architecture domains that are commonly accepted subsets of

More information

Practical UML : A Hands-On Introduction for Developers

Practical UML : A Hands-On Introduction for Developers Borland.com Borland Developer Network Borland Support Center Borland University Worldwide Sites Login My Account Help Search Practical UML : A Hands-On Introduction for Developers - by Randy Miller Rating:

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Software Engineering with Objects and Components Open Issues and Course Summary

Software Engineering with Objects and Components Open Issues and Course Summary Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages

More information

Software Architecture. Lecture 5

Software Architecture. Lecture 5 Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics

More information

Integration With the Business Modeler

Integration With the Business Modeler Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

More information

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S. 10 Steps to Building an Architecture for Space Surveillance Projects Eric A. Barnhart, M.S. Eric.Barnhart@harris.com Howard D. Gans, Ph.D. Howard.Gans@harris.com Harris Corporation, Space and Intelligence

More information