1 / 40

Software Engineering Learning Programme Software Engineering Foundation

Software Engineering Learning Programme Software Engineering Foundation. RUP Life Cycle. Module Objectives. To understand the main concepts - RUP Fundamentals - Terminology / context / deliverables To understand the benefits and best practices Understand the role of the SE within RUP

Télécharger la présentation

Software Engineering Learning Programme Software Engineering Foundation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Engineering Learning ProgrammeSoftware Engineering Foundation RUP Life Cycle

  2. Module Objectives • To understand the main concepts - RUP Fundamentals - Terminology / context / deliverables • To understand the benefits and best practices • Understand the role of the SE within RUP • Understand what input deliverables are needed and where do they come from • Which output deliverables are used as input for roles further in the process and how they are used Delivery Guidelines Format: Webcast / and intructor-intro Duration: 3 hours / 60 Minutes Producer/ddmmyy - Title - author / 2

  3. Module Topics • What about RUP • Background and why use it, • RUP • Best practices • Model Visually • Requirements management • Importance of traceability • Importance of configuration management • RUP language • Terminology and symbols • Deliverables • SE role level 1 Producer/ddmmyy - Title - author / 3

  4. RUP – what about it and why use it? • The "Rational Way" is: • Iterative and incremental • Object-oriented • Managed and controlled • Highly automated • It is generic enough to be tailorable to a wide variety of software products and projects, both in size and application domain. It is centered around three poles: • People • Process • Tools and methods Producer/ddmmyy - Title - author / 4

  5. GRADY BOOCH “Object-Oriented Modelling and Design” (1991) JAMES RUMBAUGH “Object-Oriented Design with Applications” (1993) “Object-Oriented Software Engineering: A Use Case Driven Approach” (1992) IVAR JACOBSON RUP – history. • 1998 Rational Unified Process (RUP) released to the public. • Result of from team collaborations and three software developers. “Three Amigo’s” • RUP successor of Rational Objectory Process (ROP), includes all aspects of the software development life-cycle. • 1999 OMG issues a request for proposal (RFP).  • Goal to provide an industry standard for tools and technologies for the software development lifecycle.  • May 2000, Rational Software Corporation, IBM, et al, submit the Unified Process Model (UPM) • And now… Producer/ddmmyy - Title - author / 5

  6. Time Content Phases, Disciplines and Milestones Producer/ddmmyy - Title - author / 6

  7. Develop Iteratively Manage Requirements Use Component Architectures Best Practices Model Visually Continuously Verify Quality Control Change Best practices Producer/ddmmyy - Title - author / 7

  8. Best Practice 4 Model Visually • Capture the structure and behavior of architectures and components • Show how the elements of the system fit together • Hide or expose details as appropriate for the task • Maintain consistency between a design and its implementation • Promote unambiguous communication • Visual modeling improves our ability to manage software complexity • The Unified Modeling Language (UML) is a language for • specifying, • visualizing, • constructing, and • documenting • the artifacts of software systems. Producer/ddmmyy - Title - author / 8

  9. Diagrams are view of a Model Producer/ddmmyy - Title - author / 9

  10. Best practice 2 Manage Requirements Producer/ddmmyy - Title - author / 10

  11. Requirement and Requirements Management • A requirement describes a condition or capability to which a system must conform.. • Types: • Functional requirements • Non-functional requirements • packaged Software Requirements Specification (SRS) • Requirements management is a systematic approach to finding, documenting, organizing and tracking the changing requirements of a system • White Paper: Applying Requirements Management with Use Cases Producer/ddmmyy - Title - author / 11

  12. What is Requirements Traceability? Business Needs drive Customer Needs which drive User Needs which demand Product Features that drive Software Requirements that we developers ImplementandTest E . Magaziner ‘96 Producer/ddmmyy - Title - author / 12

  13. Why Use Requirements Traceability? • The purpose is to: • Verify that all requirements of the system are fulfilled by the implementation. • Verify that the application does only what it was intended to do • Help manage change • A proven technique for assuring quality • Practiced by high-reliability system developers • Mandated by standards (e.g.: DOD, FDA) • Recommended by IEEE and CMM • A proven technique for understanding the impact of changes Producer/ddmmyy - Title - author / 13

  14. Sample Queries Using Requirement Links • Show me user needs which are not linked to product features • Show me the status of tests on all use cases in iteration #3? • Show me all supplementary requirements linked to tests whose status is untested • Show me the results of all tests which failed, in order of criticality • Show me the features scheduled for this release, which user needs they satisfy, and their status Producer/ddmmyy - Title - author / 14

  15. Determine Your Requirement Traceability Strategy Needs Features Vision SoftwareRequirements Stakeholder Requests Supplementary Use-Case Specification Model End-User Documentation Design Model Test Model Materials and Training Materials Producer/ddmmyy - Title - author / 15

  16. Establish Traceability Paths 1. Trace top level requirements into detailed requirements 2. Trace requirements into design 3. Trace requirements into test procedures 4. Trace requirements into user documentation plan Product Requirements (Features) Req A 1 Detailed Requirements(Use Cases) Req B 3 4 2 Design Test User Docs Software Design Descriptions Object Models Test Suites Documentation Plan Producer/ddmmyy - Title - author / 16

  17. Viewing Links - Traceability Matrix Producer/ddmmyy - Title - author / 17

  18. Viewing Links - Tree Report Tree reports provide the ability to trace linkages through the document hierarchy. Producer/ddmmyy - Title - author / 18

  19. What is Configuration Management? • Configuration Management is a discipline which enables you to identify the components of a system, so that you can: • Control all changes to the components • Maintain integrity and traceability through the whole application life cycle Producer/ddmmyy - Title - author / 19

  20. Why Configuration Management? • To follow the progress of developments • To follow the evolution of one particular component • To ensure the use of the right component • To allow sharing of one component between several developers without conflicts and loss of data • To ensure the safety of components • To allow regeneration of complete and up-to-date application versions • To provide visibility on the development / maintenance cycle Producer/ddmmyy - Title - author / 20

  21. Configuration Management Software • CM Software Provides the Ability to: • Maintain a single copy of system elements • Control access to data • Maintain an exhaustive inventory of software components • Maintain a history of changes • Follow and control a defined process • Manage the security of different environments (development, QA, production) Producer/ddmmyy - Title - author / 21

  22. RUP – terminology • RUP uses roles, disciplines, phases and artifacts • Some terms are new for developers; • Know the RUP language! Producer/ddmmyy - Title - author / 22

  23. development cycle proces iteration phase Transition Schedule oriented terms in the RUP Inception Elaboration Construction release release product increment = delta milestone LifeCycle Objectives Milestone LifeCycle Architecture Milestone Initial Operational Capability Final production release Producer/ddmmyy - Title - author / 23

  24. RUP Terminology: Discipline All activities you may go through to produce a particular set of artifacts. The contents of each discipline in RUP are organized as shown in the Environment discipline example. Producer/ddmmyy - Title - author / 24

  25. BusinessModeling Requirements realized by Use-CaseModel (Analysis) Design (Model) Model implemented by Implementation ImplementationModel verified by Test TestModel Disciplines Produce Models automated by Business Use-Case Model BusinessObject Model Analysis & Design Producer/ddmmyy - Title - author / 25

  26. Workflows: Each Discipline contains one Workflow which shows a typical sequence of events when conducting the flow of work. Workflows are expressed in terms of Workflow Details which are ordered conditionally. RUP Terminology : Workflow Disciplines > Test > Workflow Workflow Details Producer/ddmmyy - Title - author / 26

  27. Workflow Details are groupings of activities that are done "together," presented with input and resulting artifacts. Disciplines are explained using Workflow Details. RUP Terminology : Workflow Details Example: Disciplines > Test > Workflow > Improve Test Assets Producer/ddmmyy - Title - author / 27

  28. Activity: Find use cases and actors • Step: Find Actors • Step: Find Use Cases • Step: Describe How Actors & Use Cases Interact • Step: Package Use Cases and Actors • Step: Present Use-Case Model in U-C Diagrams • Step: Develop a Survey of the Use-Case Model • Step: Evaluate Your Results Thinking Performing Evaluating RUP Terminology : Activity • A piece of work a role may be asked to perform • Granular: usually takes a few hours to a few days • Repeated, as necessary, in each iteration • Example Producer/ddmmyy - Title - author / 28

  29. RUP Terminology : Artifact • A piece of information that is produced, modified, or just used by a process • Defines an area of responsibility • Likely to be subject to configuration control • Kinds of artifacts: • Models • Model elements • Documents • Artifacts may contain other artifacts Producer/ddmmyy - Title - author / 29

  30. Example: Artifact Overview Diagram Example: Disciplines-> Requirements-> Artifact Overview Producer/ddmmyy - Title - author / 30

  31. RUP role set • Analysts • Developers • Testers • Managers • Other roles RUP Terminology : Role • A role defines the behavior and responsibilities of an individual, or a set of individuals, working together as a team • Behavior: a set of cohesive activities • Responsibilities: usually defined relative to certain artifacts • A role is a “hat” wornby an individual Producer/ddmmyy - Title - author / 31

  32. Example: Role Responsibility Diagram Example: Systems Analyst Example: Implementor Producer/ddmmyy - Title - author / 32

  33. Rules, recommendations, heuristics that support artifacts and activities Add the benefit of experience to activities Describe well-formed artifacts, focus on qualities Describe specific techniques Transformations from one artifact to another Use of UML Used also to assess the quality of artifacts Can be tailored by the organization Work guidelines: Provide work and documentation techniques, often complements to the formal artifacts defined in the RUP Can be used as an aid in more than one of the activities Focus on techniques that help team communication Guidelines Producer/ddmmyy - Title - author / 33

  34. Similar to guidelines Explain how to use a specific tool to perform an activity or steps in an activity Linked by default to Rational tools: Rational RequisitePro: requirements management Rational Rose: visual modeling, using UML Rational SoDA: documentation generation Rational ClearQuest: change management, defect tracking …. and more Tool Mentors Producer/ddmmyy - Title - author / 34

  35. System Integrators Performance Scalability Throughput 4 + 1 View Model End-user Functionality Analysts/Testers Behavior Programmers Software management LogicalView Implementation View Use-Case View Process View Deployment View System Engineering System topology Delivery, installation communication Producer/ddmmyy - Title - author / 35

  36. Summary • What about RUP • Background and why use it, • RUP • Best practices • Model Visually • Requirements management • Importance of traceability • Importance of configuration management • RUP language • Terminology and symbols • Deliverables • SE role level 1 Producer/ddmmyy - Title - author / 36

  37. More to know…. • Sources used when developing the RUP product • Explore the RUP knowledge base. • RUP Glossary • RUP Resource Center online • Visit www.therationaledge.com and Rational developers network • Books: • The Rational Unified Process an IntroductionPhilippe Kruchten • Building J2ee Applications with the Rational Unified Process Peter Eeles • Building Web Applications with UML Jim Conallen • Examples white papers • Reaching CMM Levels 2 and 3 • Applying Requirements Management with Use Cases • Developing Large-Scale Systems with the Rational Unified Process • The Ten Essentials of RUP — The Essence of an Effective Development Process • Using the Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming Producer/ddmmyy - Title - author / 37

  38. Exercise 1/1 • What’s the relationship between a Role, Artifact and Activity? • What are the roles the CGEY Software Engineer can realize? • How do Workflows, Workflow Details and Activities fit together? • What is the importance of the iteration plan for a SE? • Right or Wrong? (explain your vote !) • In the discipline Analyse And Design the analyst performs use case analysis. • The System Architect is responsible for the analysis model • The Designer is responsible for the activity Find Business actors and use cases • The Use case template should always completely been used. • The Designer is not responsible for the design Model. • The Test Designer performs Unit Tests • The Implementer plans and integrates subsystems • The Integrator is responsible for the integration build plan • The deployment unit is an artifact for which the deployment manager is responsible. • Use case realizations are realized in requirements. Producer/ddmmyy - Title - author / 38

  39. Exercise 1/2 • What artifact the SE is responsible for contains other artifacts? • Are there any changes for the developer in the new version of RUP (2003) • Take 5 artifacts a SE will be responsible for. Describe for each artifact the RUP role responsible and in which view (of the 4 in 1 model view) this artifact is described. • What Tools will be used by a CGEY SE in the different roles? • Are all tools necessary for a development cycle? What is the minimum set? • How do Tool Mentors work in RUP? Producer/ddmmyy - Title - author / 39

  40. Questions Producer/ddmmyy - Title - author / 40

More Related