process&models in UML

27
Designed & Presented by Bhuvan Unhelkar, PhD, FACS [email protected] Mobile: 0413-821-454; Week 3 – Process & Models Object Oriented Analysis & Design SW802 v1.1 art of M.Sc. in Software Technologies Program, MS University of Baroda, India)

description

Ppt on process and model

Transcript of process&models in UML

  • 1. Week 3 Process & Models Object Oriented Analysis & Design SW802 v1.1(Part of M.Sc. in Software Technologies Program, MS University of Baroda, India) Designed & Presented byBhuvan Unhelkar, PhD, FACS [email protected] Mobile: 0413-821-454;

2. Agenda Understanding What is a Process? Importance of a Process in successful OO Analysis & Design Describing a Process-Map (and place of Agile Practices in It) Process Architecture Iterations, Increments Process-Maps for Requirements, Design, Implementation (Development) & Testing Basis for Project Work UML Diagrams relevant in MOPS, MOSS, MOBS Course: OO Analysis & Design SW802 MS University of Baroda, India 3. Sub-Module What is a process? Describing the Elements. 4. Processes are part of Overall Adoption of OO within an Organization 2-Modelling (UML Standard)1-FundamentalsAdopting OO3-Process4-Experience 4 5. What is a Process? Made up of a Set of Activities & Tasks to be performed by a group of Roles to produce the planned Deliverables Enable Organization of Iterations and Increments based on dependencies, priorities and risks associated with a project Enable control, direction and measurement of activities, tasks and deliverables Provide basis for Maturity of a Process 5 6. Need for process Processes are important because they impose consistency and structure on a set of activities. Reduce errors through PREVENTION rather than Detection Facilitate large-scale team-based activities Create opportunities for Optimization of Work 6 7. Approximately 50% of projects are late, over budget or under deliver benefits100%90%90%80%80%70%70%60%60%50%50%40%40%30%30%20%20%10%10%0%% of projects in an organisation with expected performance100%0%On Budget *Source FEI REview 2007On TimeBenefit Delivered...and improvement in project performance has stalled since 2001199519961997200120022004*Sources: Chaos Report 1995, OASIG Report 1996, KPMG Report 1997, Robbins-Gioia Report 2001, Conference Board 2002, Financial Executive Review 2004, 2005, 2006, 2007200520062007 8. However if all requirement errors were detected and resolved at the point of introduction, cost of rework and defect resolution would be reduced by 800% If all requirement errors were detected and resolved at the point of introduction........the cost of rework and defect resolution would be reduced by 800%Total Relative Cost Does Cost 7463 Should 866 Cost Difference 862% %www.businessanalysis.com.au8 9. Process wraps around the UML (from B. Unhelkar, V&V of UML-based Projects, 2004, John Wiley & Sons, USA)A Software Process wraps around the UMLUML-based Modeling 10. Embedding Agile Practices within Activities of Planned Process-Maps (from B. Unhelkar, 2012, Art of Agile Practice, 1 CRC Press/Taylor & Francis, USA) DeliverableProcess-Map5 Activity-34 Agile PracticesRole-12 34Activity-1Activity-22 Role-21Agile Practices Agile PracticesAgile Practices Agile PracticesAgile Practices3 Agile Practices Agile Practices6 Activity-4Agile Practices5Role-3Planned Process - Elements Process Elements from Planned Methods: e.g. Detailed Planning, Modeling, Documentation10Agile Process - PracticesAgile Practices include: Standup meetings, Pair Programming, Visible Charting. 11. Sub-Module Process Architecture Iterations, Increments, Parallel 12. Iterations and Increments(from B. Unhelkar, V&V of UML-based Projects, 2004, John Wiley & Sons, USA)Iteration1 Iteration1 Iteration2 Iteration2 15% 15% Iteration3 60% 60% Iteration3 25%Increment 1 (Package Client)25%Increment 2 (Package Policy) 13. Iterative Iterative: Update the same Entity (e.g. a use case, package or a class) Example Within a Use Case Do not be in a hurry to Mature a Use Case to its Final Status. First Assign it Initial Go From One Use Case to Another; One Use Case Diagram to Another Iterative Between Various Diagrams Namely Class and Sequence Diagrams Gradually mature the Deliverable Validate and Verify at Predetermined Steps (c) B. Unhelkar and B. Henderson-13 14. Incremental Incremental: Extend the Current models by adding New entities / things to them Example: Add Use Cases and Classes to existing diagrams Adding new Modules, as new requirements are Discovered Existing/Implemented Functionalities are not Affected Again, verify and validate at predetermined steps(c) B. Unhelkar and B. Henderson-14 15. Parallel Parallel: When two or more ProcessComponents are executed together (but usually by separate teams) Made possible for OO nature of software wherein so long as Interfaces remain the same, implementation can go on in Parallel Example: Requirements Modeling and Test Planning Final Stages of Design and Early Programming Final Programming and Early Testing Validate and Verify at Predetermined Steps (c) B. Unhelkar and B. Henderson-15 16. Configuring Process-Components from Planned Methods for Iterations in PracticeProcess ConfigurationThis is a fast, initial iteration that provides a feel for the project. Vital in gelling an Agile team. Enables formal cost estimation, detailed project planning, and Go/No Go decision.This is the major iteration of the project that uses all development process-components. Most Agile practices came from this iteration, wherein extensive solutions modeling, coding, testing, integration and architecture processes and practices are employed.This final iteration deals with full, integration testing, performance testing, deployment and user training. Outstanding functionalities are also implemented.Requirements ModelingPrototypingProject ManagementInitialBusiness EvaluationEnterprise ArchitectureQuality Management15%Requirements ModelingInterface Modeling and DesignSystem DesignQuality AssuranceImplementationTrainingMajor 60%System ArchitectureFinalSystem DesignPersistence DesignImplementationChange ManagementIntegrationPrototypingReuseDeployment25%Quality AssuranceQuality ControlTrainingThe ongoing iteration keeps making use of the relevant process-components and Agile practices from Development. 16DeploymentOngoin gx3Quality AssuranceQuality Control 17. Sub-Module Process - Maps Requirements Modelling; System Design; Implementation; Testing 18. Requirements Modeling Process-Map in CAMS 19. System Design Process-Map in CAMS 20. Implementation Process-Map in CAMS 21. Quality Control (Testing) Process-Map in CAMSCh - 121 22. Sub-Module Models in OO Analysis & Design MOPS MOSS MOBS diagrams 23. Primary UML Diagrams in MOPS (from B. Unhelkar, V&V of UML-based Projects, 2004, John Wiley & Sons, USA) AccountantAccount ExecutiveUnderwriterAcceptHomeInsur anceProposal startValidationProcessValidateProposal DetailsAddsClientsDetailsProvide Status to ProspectPerson -Name -Surname -DateOfBirth -PhoneObtain Underwriter ApprovalConfirm Payment Arrangement'A20-Client'10-Account Executive'UseChangesClientsDetails Case Diagrams Activity DiagramsOrganisation+createPerson () +addName () +AddDateOfBirth () +changePerson () +calcualteAge () +getPersonDetails ()detailsValid CoverCommences Employee -EmployeeID -DateJoined -TaxFileNoClient -ClientID -ValueOfClient -YearsInBusiness -RetireeClass Diagrams (Domain Model)() +createClientClientOrganisation + Represents+changeClient ()aPolicy : aClient : Client : Account Executive Policy-HomeInsurance 1: validateDetails 2: validateClientDetails( )3: basicInternalValidation( ) Policy Package Marketing Client Package PackageInsurance Policy Details ref Settlements Claims Package PackageLifeolicy P ref System Administration PackagePackage DiagramspaysPremiumInstalme amoun ( ) PolicyHolder PolicyHolderHome Policy Home Policy InsuranceSequence DiagramsCurrentEnquiry SequencerefLife Insurance PolicyClaimant ClaimentInteraction Overview DiagramsState Chart Diagrams 24. Primary UML Diagrams in MOSS (from B. Unhelkar, V&V of UML-based Projects, 2004, John Wiley & Sons, USA) Policy Claim 1-0..1 ClaimForm -ClaimNumber -PolicyID +displayForm () +clearForm () +storeClaimDetails ()10..1ClaimNumber : Integer = 00 DateOfClaim : Date = Todays_Date ClaimAmount : Currency DateOfEvent : Date ClaimStatus : Integer ClaimType : Integer ClaimInstance : Integer+ createClaim () + setClaimDtls () + getClaimDtls () + getClaimStatus ()Claim_Table -ClaimNumber -DateOfClaim -ClaimAmount -DateOfEvent ClaimNumber -ClaimStatus -ClaimType -PolicyIdentifier -ClientIdentifier -ClaimInstanceClass Diagram (Advanced)+createClaimRecord () +readClaimRecord () +updateClaimRecord () +deleteClaimRecord ()Sequence Diagram (Advanced)CurrentCollaboration DiagrampaysPremiumInstalment amount ( ) PolicyHolder{5 mins} Claimant ClaimentObject DiagramState Chart Diagram (Advanced)Timing Diagram 25. Primary UML Diagrams in MOBS (from B. Unhelkar, V&V of UML-based Projects, 2004, John Wiley & Sons, USA) Insurance Database ServerAddress -AddressType -StreetNo -StreetName -Suburb -PostcodeClientOrganizationalClient+addAddress () +changeAddress ()-ClientID -ABN-BusinessNo -DateIncorporated -AnnualTurnoveremployedBy +addClient () +changeClient () +validateOrgClient ()ClientRep -ClientID Class Diagrams -DateNominated +createClientRep () (Advance Database) +changeClientRep ()-ClientID -ClientStatus -YearsInBusiness +addClient () +changeClient ()SQL Server AccountTaxWeb Application Server Printer RegionalServer.exePersonalClient-Retiree +addClient () +changeClient () +validatePersonalClient () +addAdditionalDetails ()1, Suburban Branch Client Machine324, Station Branch Client MachineComponent Diagrams InsuranceClient.exe+getClientRepDtls () +assignClientRep ()InsuranceClient.exeDeployment Diagrams PremiumManagementApplication ClienttoPolicyaPolicy : PolicyP1Ownership Component PremiumC1 aClient : ClientP2Required Interfaces PolicytoClaimRobustness DiagramsCOMPOSITE STRUCTURE Diagrams ClaimsInfo Cl1aClaim : ClaimThis aClaim object brings this structure into playPackage Diagrams (Advanced) 26. A. How is a Process different from a Model? Discuss the importance of both in any project (OO or otherwise) B. How would you create Iterations and Increments for your project? C. Where do UML diagrams (and Agile practices) fit in within an OO project?Course: OO Analysis & Design SW802 MS University of Baroda, India 27. Project Work (In Group) Discuss and create the Packages corresponding to your problem statement (you studied Package diagrams in previous semester) Assign a Package each to a Student. (Note that this is a group project, but a student will be responsible for each of the package) Create an initial Project Plan with Iterations and Increments Corresponding to the Packages Draw a use case diagram PER PACKAGE, and WRITE two use cases within each Package Draw an Activity Diagram corresponding to EACH use case Course: OO Analysis & Design SW802 MS University of Baroda, India