Rational Unified Process

Size: px
Start display at page:

Download "Rational Unified Process"

Transcription

1 6- Readings OOAD Using the UML Copyright Rational Software, all rights reserved [Partly] posted Rational Unified Process The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of a software-intensive system A software development process defines Who is doing What, When and How in building a software product The Rational Unified Process has four phases: Inception, Elaboration, Construction and Transition Each phase ends at a major milestone and contains one or more iterations An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release The RUP presentation is adapted from OOAD Using the UML Copyright Rational Software, all rights reserved Rick Adrion 2005 (except where noted)

2 In RUP: Major Workflows Produce Models Business Modeling Business Model supported by Requirements realized by Analysis & Use-Case Model Model implemented by Implementation verified by Test Implementation Model Test Model The RUP Iterative Model Process Workflows Business Modeling Analysis & Implementation Test Supporting Workflows Workflows group activities logically Requirements Deployment Configuration Mgmt Management Environment Inception Elaboration Preliminary Iteration(s) Iter. # Iter. #2 Phases Construction Iter. #n Iter. #n+ Iterations Iter. #n+2 In Transition iteration, you walk through all workflows Iter. #m Iter. #m+ Rick Adrion 2005 (except where noted) 2

3 Requirements Workflow Develop Vision Elicit Stakeholder Needs Find Actors and Use Cases Manage Capture a Dependencies Common Vocabulary Structure the Use-Case Model Requirements Reviewer Use-Case Specifier Detail a Use Case Review Requirements User-Interface er User-Interface Modeling User-Interface Prototyping Architect Prioritize Use Cases Analysis & Workflow Architectural Analysis Architect Architectural Describe Concurrency Describe Distribution Review the Architecture Architecture Reviewer er Use-Case Analysis Subsystem Use-Case Review the Reviewer Class Database er Database Rick Adrion 2005 (except where noted) 3

4 Implementation Workflow Architect Structure the Implementation Model System Integrator Plan System Integration Integrate System Implementer Plan Subsystem Integration Implement Classes Perform Unit Test Integrate Subsystem Fix a Defect Code Reviewer Review Code Test Workflow Test er PlanTest Test ImplementTest Evaluate Test Integration Tester Execute Integration Test System Tester Execute System Test Performance Tester Execute Performance Test er Test Classes and Packages Implementer Implement Test Components and Subsystems Rick Adrion 2005 (except where noted) 4

5 O-O System Development problem statement Project0 Requirements elicitation interviews nonf unctional requirements f unctional model use case diagram Project class diagram Requirements analy sis analy sis object model dy namic model statechart diagram sequence diagram System design design goals system design object model subsy stem decomposition Object design class diagram object design model Project2 Implementation Project3 source code Test deliv erable sy stem adapted from Bruegge/Dutoit O-O SW Engr A Minimal Iterative Process Getting Started: (do this once). Capture the major functional and non-functional requirements for the system. Express the functional requirements as use cases, scenarios, or stories. Capture non-functional requirements in a standard paragraph-style document. 2. Identify the classes which are part of the domain being modeled. 3. Define the responsibilities and relationships for each class in the domain. 4. Construct the domain class diagram. This diagram and the responsibility definitions lay a foundation for a common vocabulary in the project. 5. Capture use case and class definitions in an OO CASE tool (e.g., Rose) only when they have stablilized. Copyright Gary K. Evans. All Rights Reserved. Rick Adrion 2005 (except where noted) 5

6 A Minimal Iterative Process Getting Started: (do this once) 6. Identify the major risk factors and prioritize the most architecturally significant use cases and scenarios. It is absolutely imperative that the highest risk items and the most architecturally significant functionality be addressed in the early iterations. You must not pick the low hanging fruit and leave the risks for later. 7. Partition the use cases/scenarios across the planned iterations. 8. Develop an Iteration plan describing each mini-project to be completed in each iteration. Describe the goals of each iteration, plus the staffing, the schedule, the risks, inputs and deliverables. Keep the iterations focused and limited (2-3 weeks per iteration). In each iteration, conduct all of the software activities in the process: requirements, analysis, design, implementation and test. Copyright Gary K. Evans. All Rights Reserved. A Minimal Iterative Process For each iteration: (repeat until done). Merge the functional flow in the use cases/scenarios with the classes in the domain class diagram Produce sequence (and collaboration) diagrams at the analysis level. 2. Test and challenge the sequence diagrams on paper, or whiteboard Discover additional operations and data to be assigned to classes Validate the business process captured in the flow of the sequence diagram 3. Develop statechart diagrams for classes with significant state Statechart events, actions, and most activities will become operations on the corresponding class 4. Enhance sequence diagrams and statechart diagrams with design level content Identify and add to the class diagram and sequence diagrams any required support or design classes (e.g. collection classes, GUI and other technology classes, etc.) 5. Challenge the sequence diagrams on paper/whiteboard, discovering additional operations and data assigned to classes. Copyright Gary K. Evans. All Rights Reserved. Rick Adrion 2005 (except where noted) 6

7 Views & Workflows Architect Architectural Analysis Architectural Describe Describe Concurrency Distribution Review the Architecture Architecture Reviewer er Use-Case Analysis Subsystem Use-Case Review the Reviewer Database er Class Database Classes, interfaces, collaborations design v iew implementation v iew Components Organization Package, subsystem Use cases Use -Case View Dynamics Interaction State machine process v iew deployment v iew Active classes Nodes Worker Responsibilities Architect Use Case Realization er Model Package/ Subsystem Class Software Architecture Document Database er Data Model Architecture Reviewer Reviewer Rick Adrion 2005 (except where noted) 7

8 So where do we start? Architect Architectural Analysis Architectural Describe Describe Concurrency Distribution Review the Architecture Architecture Reviewer er Use-Case Analysis Subsystem Use-Case Review the Reviewer Class Database er Database Use Case Analysis Overview Use-Case Model Supporting Documents Architecture Document Glossary Supplemental Specs Analysis Classes OR Use-Case Realization Analysis Model Model Rick Adrion 2005 (except where noted) 8

9 Use Case Analysis Steps Supplement the Descriptions of the Use Case For each use case realization Find Classes from Use-Case Behavior Distribute Use-Case Behavior to Classes For each resulting analysis class Describe Responsibilities Describe Attributes and Associations Qualify Analysis Mechanisms Unify Analysis Classes What is an Analysis Class? Early conceptual model Functional requirements Model problem domain Likely to change Boundary Information used Control logic <<control>> System boundary Use-case behavior coordination <<control>> System information <<entity>> <<entity>> Rick Adrion 2005 (except where noted) 9

10 The Roles Collaboration Diagram Boundary Class -- Model interaction between the system and its environment Control Class -- Coordinate the use case behavior Customer Entity Class -- Store and manage information in the system Example: Entity & Control Classes Course (from University Artifacts) CourseOffering (from University Artifacts) Grade (from University Artifacts) Student (from University Artifacts) Professor (from University Artifacts) Schedule (from University Artifacts) RegistrationController (from Registration) CloseRegistrationController (from Registration) MaintainStudentController (from Registration) MaintainProfessorController SelectCoursesToTeachController ReportCardController (from Registration) (from Registration) (from Student Evaluation) SubmitGradesController (from Student Evaluation) Rick Adrion 2005 (except where noted) 0

11 Describe Responsibilities What are responsibilities? How do we find them? First cut at class operations Actions that object can perform Knowledge object maintains Non-functional requirements Class should have multiple responsibilities Responsibility Class Name Responsibility 2 Responsibility N Class Responsibilities from a Collaboration Diagram : Main Form 2: // open schedule f orm( ) : // select maintain schedule( ) 5: // select 4 primary and 2 alternate of f erings( ) : Maintain ScheduleForm Register for Courses use case : Student 3: // get course of f erings( ) 6: // add courses to schedule( ) MaintainScheduleForm : CourseCatalog4: // get course Sy stem of f erings( ) : Registration Controller 7: // create with of f erings( ) // select 4 primary and 2 alternate offerings() // open () :Schedule MainForm // select maintain schedule() <<entity>> Schedule // create with offerings() <<control>> RegistrationController CourseCatalogSystem // add courses to schedule() // get course offerings() Rick Adrion 2005 (except where noted)

12 Class Responsibilities from a Sequence Diagram : Student : MainForm : Maintain : Registration : CourseCatalog ScheduleForm Controller Sy stem : Schedule Register for Courses use case : // select maintain schedule( ) 2: // open schedule f orm( ) 3: // get course of f erings( ) 5: // select 4 primary and 2 alternate of f erings( ) 4: // get course of f erings( ) MaintainScheduleForm 6: // add courses to schedule( ) 7: // create with of f erings( ) // select 4 primary and 2 alternate offerings() // open () MainForm <<entity>> Schedule // select maintain schedule() // create with offerings() <<control>> RegistrationController CourseCatalogSystem // add courses to schedule() // get course offerings() What are Roles? The face that a class plays in the association Instructor Department head CourseOffering Professor Department Pre-requisites Course Rick Adrion 2005 (except where noted) 2

13 Example: Finding Relationships MaintainScheduleForm does not make any sense outside of the context of a particular use session. Only one MaintainScheduleForm can be active at any one time, or none may be active : Main Form : // select maintain schedule( ) 5: // select 4 primary and 2 alternate of f erings( ) : Maintain ScheduleForm MainForm MaintainScheduleForm 0.. // select maintain schedule() + // open() + // select 4 primary and 2 alternate offerings() 2: // open schedule f orm( ) legacy system. CourseCatalogSystem // get course offerings() 0..* <<control>> RegistrationController // add courses to schedule() // get course offerings () 0.. : Student : CourseCatalog4: // get course Sy stem of f erings( ) one controller for each 3: // get course of f erings( ) Schedule being created (e.g., 6: // add courses to schedule( ) each Student registration session). : Registration Controller only one CourseCatalogSystem instance for possibly many MaintainScheduleForms 7: // create with of f erings( ) serializes access :Schedule Many MaintainScheduleForms can be active at one time (for different sessions/students). <<entity>> Schedule // create with offerings() View of Participating Classes (VOPC) diagram. What is a Use-Case Realization? Use Case Model Use Case <<realizes>> Model Use Case Realization Sequence Diagrams Collaboration Diagrams Use Case Realization Documentation Class Diagrams Rick Adrion 2005 (except where noted) 3

14 Alternatives RUP begins with Analysis classes we found by analyzing Collaboration & Sequence Diagrams (these derived from the Use Cases during Use Case Analysis), then is refined by defining Operations, States, Attributes, Associations and Generalizations (in Class ) Some other approaches: Noun Phrase Approach Common Class Patterns CRC (Class-Responsibility-Collaboration) Noun Phrase Approach Examine the requirements and underline each noun Each noun is a candidate class Divide list of candidate classes into Relevant Classes Part of the application domain; occur frequently in reqs Irrelevant Classes Outside of application domain Fuzzy Classes Unable to be declared relevant with confidence; require additional analysis Experience will eventually enable designers to avoid generating irrelevant classes Rick Adrion 2005 (except where noted) 4

15 Find Classes from requirements Consider the following University Enrollment system specification each university major has a number of required courses and a number of elective courses. Course RequiredCourse Major ElectiveCourse Fuzzy Classes, Relationships & Attributes A course can be part of any number of majors Each major specifies minimum total credits required Students may combine course offerings into programs of study suited to their individual needs and leading to the degree/major in which enrolled Relevant classes Course Major Student CourseOffering Fuzzy classes CompulsoryCourse ElectiveCourse Sudyprogram Rick Adrion 2005 (except where noted) 5

16 Noun Phrase Approach may help in identifying domain objects not good at identifying objects that live in the application domain Thus, it can help at the beginning of analysis, but you will not return to it as you move into design Finding good objects during design means identifying abstractions that are part of your application domain and its execution machinery Objects that are part of your application domain will have a tenuous connection, at best, to real-world things e.g. what s the correspondence of a scrollbar to the real world Common Class Patterns Derive classes from the generic classification theory of objects Concept class a notion shared by a large community Events class captures an event that demarks intervals within a system Organization class a collection or group within the domain People class roles people can play Places class a physical location relevant to the system Rick Adrion 2005 (except where noted) 6

17 Common Class Patterns Rumbaugh proposed a different scheme Physical Class (Airplane) Business Class (Reservation) Logical Class (FlightTimeTable) Application Class (ReservationTransaction) Computer Class (Index) Behavioral Class (ReservationCancellation) These taxonomies are meant to help a designer think of classes, however it is difficult to be systematic Probably only useful during early analysis CRC Cards CRC = Candidates, Responsibilities, Collaborators Meant primarily as a brainstorming tool for analysis and design In place of use case diagrams use index cards In place of attributes and methods record responsibilities See Object by Wirfs-Brock and McKean, 2003 Rick Adrion 2005 (except where noted) 7

18 Index Cards On the unlined side of the index card write an informal description of each candidate class purpose and role On the lined side of the index card identify responsibilities and collaborators Document Purpose: A Document acts as a container for graphics and text Role: Container Pattern: Composite Document Knows contents Knows storage location Inserts and removes text,graphics, other elements responsibilities candidate TextFlow collaborators MVC using CRC cards View class collaborators Render the Model Transform coordinates Model Controller Model responsibilities Controller Interpret user input Distribute control View Model Maintain problem related information Broadcast change notification Rick Adrion 2005 (except where noted) 8

19 Not Just Index Cards Post-It Notes can be used for even less structure ; might be easier when brainstorming Document Purpose: A document Represents a container that holds text and/or graphics that the user can enter and visually arrange on pages Why index cards? Forces you to be concise and clear and focus on major responsibilities since you must fit everything onto one index card Inherent Advantages cheap, portable, readily available, and familiar gives people a "feel" for the design can propose and test changes to the design rapidly (all you have to do is make new cards) focus on responsibilities as opposed to n:m attribute" design as promoted by OMT, Booch, etc affords Spatial Semantics close collaborators can be overlapped vertical dimension can be assigned meanings abstract classes and specializations can form piles which provides benefits Beck and Cunningham report that they have seen designers talk about a new card by pointing at where it will be placed Rick Adrion 2005 (except where noted) 9

20 So Where Are We? Architect Architectural Analysis Architectural Describe Describe Concurrency Distribution Review the Architecture Architecture Reviewer er Use-Case Analysis Subsystem Use-Case Review the Reviewer Class Database er Database Architectural Overview Glossary Architecture Document Supplementary Guidelines Specifications Guidelines and Implementation Mechanisms Classes and Subsystems Reuse Opportunities Refined Architectural Layers and Partitions Architectural Analysis Classes Model Model Architect Architectural Describe Describe Concurrency Distribution Rick Adrion 2005 (except where noted) 20

21 Classes In analysis, we had one application with many different forms MainForm 0.. LogonForm MaintainScheduleForm (from Student Interface) CloseRegistrationForm (from Registrar Interface) During design, some analysis classes may be split, joined, removed, etc. 0.. SelectCoursesForm (from Professor Interface) 0.. ReportCardForm (from Student Interface) 0.. SubmitGradesForm (from Professor Interface) 0.. MaintainStudentForm (from Registrar Interface) 0.. MaintainProfessorForm (from Registrar Interface) Classes (cont.) In design, the one application becomes three applications, each with it s own forms... MaintainScheduleForm (from Student Interface) MainStudentForm (from Student Interface) <<boundary >> MaintainSc heduleform (from Student Interfac e) 0.. ReportCardForm (from Student Interface) <<boundary >> MainForm 0.. <<boundary >> <<boundary >> SubmitGrades Form Selec tcours es Form (from Professor Interface) (from Professor Interface) 0.. <<boundary >> ReportCardForm (from Student Interfac e) MainProfessorForm (from Professor Interface) <<boundary >> LogonForm <<boundary >> MaintainStudentForm (from Registrar Interface) <<boundary >> Clos eregis trationform (from Registrar Interface) 0.. <<boundary >> MaintainProfes s orform (from Registrar Interface) MainRegistrarForm (from Registrar Interface) SelectCoursesForm (from Professor Interface) SubmitGradesForm (from Professor Interface) 0..* 0..* MaintainStudentForm (from Registrar Interface) MaintainProfessorForm (from Registrar Interface) 0.. CloseRegistrationForm (from Registrar Interface) Rick Adrion 2005 (except where noted) 2

22 Classes & packages What is a class? A description of a set of objects that share the same responsibilities, relationships, operations, attributes, and semantics. Class Name What is a package? A general purpose mechanism for organizing elements into groups A model element which can contain other model elements Package Name Packages Vs. Subsystems Packages provide no behavior Packages are simply containers of things which provide behavior Packages help organize and control sets of classes that are needed in common, but which aren t really subsystems Dependencies are on specific elements within the Package Subsystems provide behavior, packages do not Subsystems completely encapsulate A their contents Dependencies are on the interface of the subsystem Subsystems are easily replaceable <<subsystem>> Client Class PackageB Class B Encapsulation is the key! But note for packages dependencies should be on public classes Class B2 Rick Adrion 2005 (except where noted) 22

23 Classes and Subsystems Identifying Classes analysis class is simple and already represents a single logical abstraction-> design class entity classes survive relatively intact into design. Identifying Subsystems analysis class is complex, such that it appears to embody behaviors that cannot be the responsibility of a single class acting alone, or the responsibilities may need to be reused, the analysis class should be mapped to a subsystem may take a few iterations to stabilize. Analysis classes which evolve into subsystems might include: complex services and/or utilities user interfaces and external system interfaces. Class Class <<subsystem>> Subsystem <<subsystem>> Subsystem Class Class <<subsystem>> Subsystem Layering Concentrate on encapsulating change Package dependencies are not transitive, thus one layer can shield another from change Upward dependencies should be resolved in design e.g., call backs can be replaced with the subscribes to association whose source is a class (called the subscriber) and whose target is a class (called the publisher) subscriber specifies a set of events and is notified when one of those events occurs in the target Rick Adrion 2005 (except where noted) 23

24 Layering Guidelines Visibility Dependencies only within current layer and below Volatility Upper layers affected by requirements changes Lower layers affected by environment changes Generality More abstract model elements in lower layers <<layer>> Business Services <<layer>> User Interface <<layer>> Middleware <<layer>> Business Objects Number of layers <<layer>> Base Reuse Small system: 3 layers System global global Complex system: 5-7 layers Goal is to reduce coupling and to ease maintenance effort java Layers & Visibility <<layer>> Business Services <<layer>> User Interface Only public classes can be referenced outside of the owning package PackageA Class A <<layer>> Business Objects A Class A3 Class A2 <<layer>> Middlew are B PackageB Class B Class B2 Public visibility <<layer>> System Base Reuse global global java Private visibility Rick Adrion 2005 (except where noted) 24

25 Describe Concurrency Architect Architectural Describe Describe Concurrency Distribution Supplementary Specifications Describe Concurrency Process Model Concurrency Requirements driven by: degree to which the system must be distributed degree to which the system is event-driven computational intensity of key algorithms degree of parallel execution supported by the environment Modeling Processes map on independent threads of control supported by environment Processes - stand-alone, heavyweight flow of control that may be divided into individual threads Threads- lightweight flow of control which run in the context of an enclosing process Mapping Processes onto the Implementation Environment Distributing Model Elements Among Processes Example <<process>> StudentApplication MainStudentForm (from Student Interface) <<process>> CourseRegistrationProcess <<control>> RegistrationController (from Registration) <<process>> CourseCatalogSystemAccess <<subsystem>> CourseCatalog (from CourseCatalog) <<entity>> 0..* CourseOffering (from University Artifacts) <<thread>> OfferingCache <<thread>> CourseCache 0..* <<entity>> Course (from University Artifacts) Mapping Elements to Processes Rick Adrion 2005 (except where noted) 25

26 Example dependency Class Diagram <<process>> CourseCatalogSystemAccess <<process>> CourseRegistrationProcess <<process>> StudentApplication <<thread>> CourseCache composition <<thread>> OfferingCache <<process>> CourseCatalogSystemAccess <<process>> CourseRegistrationProcess dependency Component Diagram <<thread>> OfferingCache <<thread>> CourseCache Mapping to Implementation <<process>> StudentApplication CourseCatalogSystemAccess CourseCache Remote (from java.rmi) CourseRegistrationProcess Runnable (from java.lang) OfferingCache Thread (from java.lang) Describe Distribution Overview Process Model Describe Distribution Deployment Model Implementation Model Architect Architectural Describe Describe Concurrency Distribution Rick Adrion 2005 (except where noted) 26

27 Why Distribute? Reduce processor load Special processing requirements Scaling concerns Economic concerns Distribution Patterns Client/Server 3-tier Fat-Client Web Application Distributed Client/Server Peer-to-peer Distribution patterns Common services Presentation Services UI including, the visual appearance of output and how user input is handled Business Services Business rules and logic Data Services Data relationships, efficiency of storage, and data integrity Patterns One-Tier Two-Tier Fat Client -- client has its presentation and business services; server has the data services Thin Client -- client has the presentation services; server has the business and data services Three-tier client has presentation services; server has business services; separate (logical) server has data services. Web-tier client accesses a web server that at least handles presentation services; web server may have its own business and data services or it may utilize one or more servers that handle business and data services Rick Adrion 2005 (except where noted) 27

28 Deployment Model Modeling Elements Node Physical run-time computational resource Processor Execute system software Device Support devices Typically controlled by a Processor Connection Communication mechanisms Physical medium Software protocol <<Node>> Node # <<Processor>> Processor # Connection <<Device>> Device # Deployment Diagrams <<Node>> Node # Component Object <<connection type>> Connection Process- Process-2... <<Node>> Node #2 Component Object Interface Process- Process-2... Rick Adrion 2005 (except where noted) 28

29 Process-to-Node Allocation Dial up access and behind campus firewall External Desktop PC StudentApplication <<Internet>> Desktop PC <<Campus LAN>> StudentApplication ProfessorApplication RegistrarApplication Registration Server <<Campus LAN>> <<legacy>> Course Catalog <<Campus LAN>> CourseCatalogSystemAccess CourseRegistrationProcess GradeSubmissionProcess TeachingCoursesSelectionProcess ProfessorMaintenanceProcess StudentMaintenanceProcess CloseRegistrationProcess ReportCardProcess FinanceSystemAccess <<legacy>> Billing System Distribution Pattern: Proxy <<utility>> Naming (from java.rmi) ProxyDistributedController RemoteDistributedController 0..* <<controller>> RegistrationController (from Student Activities) +currentuser +currentuser <<Interface>> SecureUser (from Secure Interfaces) 0..* 0.. RemoteRegistrationController (from Student Activities) client server secure user instance is created on the client and passed to the server when the remote controller is created Rick Adrion 2005 (except where noted) 29

30 Distribution Pattern: Proxy SomeForm : ProxyDistributed Controller : Naming : RemoteTimecard Controller Lookup("RemoteTimecardController") : new(secureuser) The connection between the proxy and remote controller is established when the proxy controller is created 5: DoSomething 2: lookup(string) 3: new( ) 4: setsession(secureuser) The current user context is passed to the server for later access checks 6: DoSomething All calls to the proxy controller are forwarded to the remote controller Affect on Process Model Associations <<process>> StudentApplication MainStudentForm (from Student Interface) <<process>> StudentApplication <<process>> RegistrationControllerProcess <<process>> CourseRegistrationProcess <<control>> RegistrationController (from Registration) <<process>> CourseCatalogSystemAccess <<subsystem>> CourseCatalog (from CourseCatalog) MainStudentForm (from Student Interface) <<entity>> 0..* CourseOffering (from University Artifacts) <<thread>> OfferingCache <<thread>> CourseCache 0..* <<entity>> Course (from University Artifacts) 0.. MaintainScheduleForm (from Student Interface) <<control>> RegistrationController (from Student Activities) <<control>> RemoteRegistrationController (from Student Activities) 0.. Rick Adrion 2005 (except where noted) 30

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

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

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

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

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

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

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

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

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

13 - Requirements Specifications. Appropriate Specification. Audience CMPSCI520/620. Rick Adrion 2003 (except where noted) 1

13 - Requirements Specifications. Appropriate Specification. Audience CMPSCI520/620. Rick Adrion 2003 (except where noted) 1 Software Requirements Specification 13 - Requirements Specifications Rick Adrion How do we communicate the Requirements to others? It is common practice to capture them in an SRS But an SRS doesn t need

More information

Object-Oriented Analysis and Design Using UML

Object-Oriented Analysis and Design Using UML Object-Oriented Analysis and Design Using UML Student Guide - Volume 1 OO-226 Rev C D61808GC10 Edition 1.0 D62408 Copyright 2003, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This

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

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

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

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

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/29/2015 http://cs.gsu.edu/~ncasturi1 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation)

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

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

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

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

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 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

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

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

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

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

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

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

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

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

XIX. Software Architectures

XIX. Software Architectures XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

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

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

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

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

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

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

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

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

In this Lecture you will Learn: System Design. System Architecture. System Architecture

In this Lecture you will Learn: System Design. System Architecture. System Architecture In this Lecture you will Learn: System Design Chapter 13 The major concerns of system design The main aspects of system architecture, in particular what is meant by subdividing a system into layers and

More information

Building a New Rational Web Site with Rational Suite

Building a New Rational Web Site with Rational Suite Building a New Rational Web Site with Rational Suite by Christina Howe Director of Internet Services Rational Software In April of last year, Rational Software determined that its Web site no longer measured

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

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

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

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

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

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

Ch 11 Software Development

Ch 11 Software Development COSC 1P03 Ch 11 Software Development Introduction to Data Structures 9-10.1 COSC 1P03 Software Development Phases Analysis problem statement requirements specification system analysts inputs and outputs

More information

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1. THE OBJECT PRIMER THIRD EDITION Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE gile 1 odeling Contents Acknowledgments Foreword Preface

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

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

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

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

Microsoft SharePoint Server 2013 Plan, Configure & Manage

Microsoft SharePoint Server 2013 Plan, Configure & Manage Microsoft SharePoint Server 2013 Plan, Configure & Manage Course 20331-20332B 5 Days Instructor-led, Hands on Course Information This five day instructor-led course omits the overlap and redundancy that

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

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

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

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

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

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

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

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis) Accessibility EEC 521: Software Engineering Classes and Objects (OO Analysis) Attributes and Methods can be declared at three levels of accessibility Public (+) Visible everywhere Private (-) Visible only

More information

Change Management Process on Database Level within RUP Framework

Change Management Process on Database Level within RUP Framework Change Management Process on Database Level within RUP Framework ZELJKA CAR*, PETRA SVOBODA**, CORNELIA KRUSLIN** *Department of Telecommunications Faculty of Electrical Engineering Computing, University

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

Experiment no 4 Study of Class Diagram in Rational Rose

Experiment no 4 Study of Class Diagram in Rational Rose Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture

More information

Explain how an agile software process differs from a waterfall software process and give an

Explain how an agile software process differs from a waterfall software process and give an Sample examination paper THIS PAPER CONSISTS OF 2 SECTIONS, 14 QUESTIONS Section A contains 10 short-answer questions, each is worth 2 marks (Total = 20 marks). Section B contains 4 questions (Total =

More information

Software Architecture and Design I

Software Architecture and Design I Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet

More information

Lecture 16: (Architecture IV)

Lecture 16: (Architecture IV) Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.

More information

Lecture 13 Introduction to Software Architecture

Lecture 13 Introduction to Software Architecture Lecture 13 Introduction to Software Architecture Software Systems Design and Implementation ITCS/ITIS 6112/8112 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

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

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

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

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

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

Software Development. Modular Design and Algorithm Analysis

Software Development. Modular Design and Algorithm Analysis Software Development Modular Design and Algorithm Analysis Functional Decomposition Functional Decomposition in computer science, also known as factoring, refers to the process by which a complex problem

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

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

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

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

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization 2016 Software Engineering 2 (Zoom-Into Design) Requirement Requirement Specification (Functional & Non- Functional) analysis Requirement

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

MechEng SE3 Lecture 7 Domain Modelling

MechEng SE3 Lecture 7 Domain Modelling MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

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

Unit Wise Questions. Unit-1 Concepts

Unit Wise Questions. Unit-1 Concepts Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of

More information

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements

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

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

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

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML MSc programme (induction week) Department of Informatics INTRODUCTION TO UML Some of this material is based on Bernd Bruegge and Allen H. Dutoit (2009) Object-Oriented Software Engineering: Using UML,

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

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information