Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with.

Similar presentations


Presentation on theme: "Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with."— Presentation transcript:

1 Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering

2 2 OOAD – Dr. A. Alghamdi Objectives  Identify activities for understanding and solving software engineering problems.  Explain the Six Best Practices.  Present the Rational Unified Process (RUP) within the context of the Six Best Practices.

3 3 OOAD – Dr. A. Alghamdi Module 1 Content Outline  Software development problems  The Six Best Practices  RUP within the context of the Six Best Practices

4 4 OOAD – Dr. A. Alghamdi Symptoms of Software Development Problems User or business needs not met Requirements not addressed Modules not integrating Difficulties with maintenance Late discovery of flaws Poor quality of end-user experience Poor performance under load No coordinated team effort Build-and-release issues

5 5 OOAD – Dr. A. Alghamdi Trace Symptoms to Root Causes 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 SymptomsRoot CausesBest Practices Ambiguous communications Undetected inconsistencies Ambiguous communications Undetected inconsistencies Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Model Visually (UML) Continuously Verify Quality Model Visually (UML) Continuously Verify Quality Modules do not fit Modules do not fit

6 6 OOAD – Dr. A. Alghamdi Module 1 Content Outline  Software development problems  The Six Best Practices  RUP within the context of the Six Best Practices

7 7 OOAD – Dr. A. Alghamdi Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Practice 1: Develop Iteratively

8 8 OOAD – Dr. A. Alghamdi Waterfall Development Characteristics  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 Code and unit test Design Subsystem integration System test Waterfall Process Requirements analysis

9 9 OOAD – Dr. A. Alghamdi Iterative Development Produces an Executable Initial Planning Requirements Analysis & Design Implementation Deployment Test Evaluation Management Environment Each iteration results in an executable release

10 10 OOAD – Dr. A. Alghamdi Risk Reduction Time Risk Waterfall Risk Iterative Risk Risk Profiles

11 11 OOAD – Dr. A. Alghamdi Practice 2: Manage Requirements Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

12 12 OOAD – Dr. A. Alghamdi Requirements Management Making sure you  solve the right problem  build the right system by taking a systematic approach to  eliciting  organizing  documenting  managing the changing requirements of a software application.

13 13 OOAD – Dr. A. Alghamdi Aspects of Requirements Management  Analyze the Problem  Understand User Needs  Define the System  Manage Scope  Refine the System Definition  Manage Changing Requirements

14 14 OOAD – Dr. A. Alghamdi Problem Solution Space Problem Space Needs Features Software Requirements Test Scripts DesignUser Docs The Product to Be Built Traceability Map of the Territory

15 15 OOAD – Dr. A. Alghamdi Practice 3: Use Component Architectures Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

16 16 OOAD – Dr. A. Alghamdi Resilient Component-Based Architectures  Resilient  Meets current and future requirements  Improves extensibility  Enables reuse  Encapsulates system dependencies  Component-based  Reuse or customize components  Select from commercially available components  Evolve existing software incrementally

17 17 OOAD – Dr. A. Alghamdi Purpose of a Component-Based Architecture  Basis for reuse  Component reuse  Architecture reuse  Basis for project management  Planning  Staffing  Delivery  Intellectual control  Manage complexity  Maintain integrity System-software Middleware Business-specific Application-specific Component-based architecture with layers

18 18 OOAD – Dr. A. Alghamdi Practice 4: Model Visually (UML) Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

19 19 OOAD – Dr. A. Alghamdi Why Model Visually?  Captures structure and behavior  Shows how system elements fit together  Keeps design and implementation consistent  Hides or exposes details as appropriate  Promotes unambiguous communication  The UML provides one language for all practitioners

20 20 OOAD – Dr. A. Alghamdi Visual Modeling With the Unified Modeling Language Activity Diagrams Models Dynamic Diagrams Static Diagrams  Multiple views  Precise syntax and semantics Sequence Diagrams Collaboration Diagrams Statechart Diagrams Deployment Diagrams Component Diagrams Object Diagrams Class Diagrams Use-Case Diagrams

21 21 OOAD – Dr. A. Alghamdi Visual Modeling Using UML Diagrams Actor A Use Case 1 Use Case 2 Actor B user : Clerk mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortByName ( ) L 1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) Window95 ¹®¼­°ü¸® Ŭ¶óÀ̾ðÆ®.EXE Windows NT ¹®¼­°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼­¹ö.EXE Alpha UNIX IBM Mainframe µ¥ÀÌŸº£À̽º¼­¹ö Windows95 ¹®¼­°ü¸® ¾ÖÇø´ Document FileManager GraphicFile File Repository DocumentList FileList user mainWndfileMgr : FileMgr repositorydocument : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. È­¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ º¸¿©ÁØ´Ù. Forward and Reverse Engineering Target System Use Case 3 Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram Statechart Diagram Deployment Diagram

22 22 OOAD – Dr. A. Alghamdi Practice 5: Continuously Verify Quality Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

23 23 OOAD – Dr. A. Alghamdi Continuously Verify Your Software’s Quality Cost TransitionConstructionElaborationInception Software problems are 100 to 1000 times more costly to find and repair after deployment  Cost to Repair Software  Cost of Lost Opportunities  Cost of Lost Customers

24 24 OOAD – Dr. A. Alghamdi Testing Dimensions of Quality Reliability  Test that the application behaves consistently and predictably. Performance  Test the online response under average and peak loading. Functionality  Test the accurate workings of each usage scenario. Usability  Test application from the perspective of convenience to end user. Supportability  Test the ability to maintain and support application under production use.

25 25 OOAD – Dr. A. Alghamdi UML Model and Implementation Tests Iteration 1 Test Suite 1 Iteration 2 Test Suite 2 Iteration 4 Test Suite 4 Iteration 3 Test Suite 3 Test Each Iteration

26 26 OOAD – Dr. A. Alghamdi Test Within the Product Development Lifecycle Iteration X Iteration X + 2 Iteration X + 1 Requirements Capture Analysis and Design Implementation Time Project Planning Define Mission Build Test and Evaluate Validate Build Achieve Mission Improve Assets Verify Approach

27 27 OOAD – Dr. A. Alghamdi Practice 6: Manage Change Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

28 28 OOAD – Dr. A. Alghamdi ALERT REPORT Workspace Management Process Integration Parallel Development Build Management Configuration Management is more than just check-in and check-out What Do You Want to Control?  Secure workspaces for each developer  Automated integration/build management  Parallel development

29 29 OOAD – Dr. A. Alghamdi Aspects of a CM System  Change Request Management (CRM)  Configuration Status Reporting  Configuration Management (CM)  Change Tracking  Version Selection  Software Manufacture

30 30 OOAD – Dr. A. Alghamdi Unified Change Management (UCM) UCM involves:  Management across the lifecycle  System  Project Management  Activity-Based Management  Tasks  Defects  Enhancements  Progress Tracking  Charts  Reports

31 31 OOAD – Dr. A. Alghamdi Best Practices Reinforce Each Other Validates architectural decisions early on Addresses complexity of design/implementation incrementally Measures quality early and often Evolves baselines incrementally Ensures users are involved as requirements evolve Best Practices Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

32 32 OOAD – Dr. A. Alghamdi Module 1 Content Outline  Software development problems  The Six Best Practices  RUP within the context of the Six Best Practices

33 33 OOAD – Dr. A. Alghamdi Rational Unified Process Implements Best Practices Best Practices Process Made Practical Best Practices Process Made Practical Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change Develop Iteratively Manage Requirements Use Component Architectures Model Visually (UML) Continuously Verify Quality Manage Change

34 34 OOAD – Dr. A. Alghamdi Achieving Best Practices  Iterative approach  Guidance for activities and artifacts  Process focus on architecture  Use cases that drive design and implementation  Models that abstract the system

35 35 OOAD – Dr. A. Alghamdi A Team-Based Definition of Process A process defines Who is doing What, When, and How, in order to reach a certain goal. New or changed requirements New or changed system Software Engineering Process

36 36 OOAD – Dr. A. Alghamdi InceptionElaborationConstructionTransition Process Structure - Lifecycle Phases Rational Unified Process has four phases:  Inception - Define the scope of project  Elaboration - Plan project, specify features and baseline architecture  Construction - Build the product  Transition - Transition the product into end-user community time

37 37 OOAD – Dr. A. Alghamdi Phase Boundaries Mark Major Milestones InceptionElaborationConstructionTransition Lifecycle Objective Milestone (LCO) Lifecycle Architecture Milestone (LCA) Initial Operational Capability Milestone (IOC) Product Release time

38 38 OOAD – Dr. A. Alghamdi Iterations and Phases An iteration is a distinct sequence of activities based on an established plan and evaluation criteria, resulting in an executable release (internal or external). PreliminaryIterationArchitect.IterationArchitect.IterationDevel.IterationDevel.IterationDevel.IterationTransitionIterationTransitionIteration InceptionElaborationConstructionTransition Minor Milestones: Releases

39 39 OOAD – Dr. A. Alghamdi Bringing It All Together: The Iterative Approach Disciplines group activities logically. In an iteration, you walk through all disciplines.

40 40 OOAD – Dr. A. Alghamdi Disciplines Produce Models Realized By Implementation Model Design Model Use-Case Model Models Disciplines Implement- ation Analysis & Design Require- ments Business Use- Case Model Business Object Model BBB B Realized By Automated By Implemented By

41 41 OOAD – Dr. A. Alghamdi Disciplines Guide Iterative Development Business Modeling: Workflow Requirements: Workflow

42 42 OOAD – Dr. A. Alghamdi Overview of Rational Unified Process Concepts PhaseIterationDiscipline Workflow Detail Role Artifact Activity Divided intoConsidersDescribed by Responsible forModifies ReferencesParticipates in Document Model Element Model

43 43 OOAD – Dr. A. Alghamdi Review  Best Practices guide software engineering by addressing root causes.  Best Practices reinforce each other.  Process guides a team on who does what, when, and how.  The Rational Unified Process is a means of achieving Best Practices.

44 44 OOAD – Dr. A. Alghamdi


Download ppt "Mastering Object-Oriented Analysis and Design with UML Module 1: Best Practices of Software Engineering Mastering Object-Oriented Analysis and Design with."

Similar presentations


Ads by Google