Академический Документы
Профессиональный Документы
Культура Документы
Presentation Title
Rational Unified Process - UML (including Class Diagram, Use Case Diagram, Collaboration diagram)
Introduction to RUP
Outlines
What is RUP? RUP Phases
Inception Elaboration Construction Transition
What is RUP?
Shows how you can apply best practices of software engineering, and how you can use tools to automate your software engineering process Rational Unified Process is created to be:
Iterative incremental
Risks, changes, continuous integration, etc.
Architecture centric
Understand the purpose, skeleton of the system, foster reuse, technical risks, etc.
Best Practices
Develop iteratively
In a waterfall lifecycle, you cannot verify whether you have stayed clear of a risk until late in the lifecycle In an iterative lifecycle, you will select what increment to develop in an iteration based on a list of key risks
Benefits:
Accommodating changes Mitigating risks Increasing reuse Learning Higher quality
Inception Goals
Establishing the project's software scope and boundary conditions, including:
an operational vision acceptance criteria what is intended to be in the product what is not.
Discriminating
the critical use cases of the system the primary scenarios of operation that will drive the major design trade-offs.
Exhibiting, and maybe demonstrating, at least one candidate architecture against some of the primary scenarios
Estimating potential risks (the sources of unpredictability) Preparing the supporting environment for the project.
8
Inception Artifacts
Vision: The project's core requirements, key features, and main constraints are documented. Stakeholders Glossary: defines important terms used by the project. Business Case: provides the necessary information from a business standpoint to determine whether or not this project is worth investing in. Software Development Plan: all information required to manage the project. (Risk, time and durations, needed tools, changes, documentations) Use-case model: a model of the system's intended functions and its environment, and serves as a contract between the customer and the developers.
10
Elaboration Goals
To ensure stability of:
Architecture; Requirements; Plans.
To address all significant risks of the project, and to ensure all of them will be mitigated. To establish a baseline architecture
Derived from addressing the architectural significant scenarios
11
12
Elaboration Activities
Defining, validating the baseline architecture. Refining the Vision. Creating detail of iteration plans for the construction phase. Refining the development case and putting in place the development environment Refining the architecture and selecting components.
13
Elaboration Artifacts
Software Architecture Document: provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. Prototypes: One or more executable architectural prototypes have been created to explore critical functionality and architecturally significant scenarios. Design model: an object model describing the realization of use cases, and serves as an abstraction of the implementation model and its source code. Data model: a subset of the implementation model which describes the logical and physical representation of persistent data in the system. Testing Mechanisms and refining previous Iterations artifacts.
14
Construction Goals
Minimizing development costs by optimizing resources and avoiding unnecessary scrap and rework. Achieving adequate quality as rapidly as practical Achieving useful versions (alpha, beta, and other test releases) Completing the analysis, design, development and testing of all required functionality. To decide if the software, the sites, and the users are all ready for the application to be deployed. To achieve some degree of parallelism in the work of development teams.
15
Construction Activities
Resource management, control and process optimization Complete component development and testing against the defined evaluation criteria Assessment of evaluation of product releases against acceptance criteria for the vision.
16
Construction Artifacts
The System: The executable system itself, ready to begin "beta" testing. Training materials: the material that is used in training programs or courses to assist the end-users with product use, operation and/or maintenance. Testing results and refining previous Iterations artifacts.
17
Transition Goals
Beta testing to validate the new system against user expectations Beta testing and parallel operation relative to a legacy system that it's replacing Training of users and maintainers Roll-out to the marketing, distribution and sales forces Tuning activities such as bug fixing, enhancement for performance and usability
18
19
Transition Activities
Executing deployment plans Finalizing end-user support material Testing the deliverable product at the development site Creating a product release Getting user feedback Fine-tuning the product based on feedback Making the product available to end users
20
Transition Artifacts
Product. Release Notes: identify changes and known bugs in a version of a build or deployment unit that has been made available for use. Installation Artifacts: refer to the software and documented instructions required to install the product. End-User Support Material: Materials that assist the end-user in learning, using, operating and maintaining the product. Testing results and refining previous Iterations artifacts.
21
22
In a Use Case, you describe the use of a system for a given work task
o You consider a complete work task, initiated by an actor o You utilise company language in describing the work task o The aggregate Use Cases display the aggregate actor use of the system
24
Construction elements:
Use case
Purpose:
o To analyse the functionality the system must include o To give an overview of the functionality and how it is linked o To analyse how the actors should use the system
Communication arrow
extends
<<include>>
Challenges:
o To simplify the complex
27
Construction elements:
Purpose:
o To analyse which actors will use the system o To analyse how the use of the actors is linked Actor
Aktr
Challenges:
o It is NOT an organisational chart (no organisational linkages required) Specialisation / Generalisation
28
Structured search
<<include>>
Order an item
<<extend>>
Actor (system)
use case
29
Classes
A class is the description of a set of objects having similar attributes, operations, relationships and behavior.
Class Name
Person
name:string height:Integer talk() walk()
33
Attributes
Operations
Associations
A semantic relationship between two or more classes that specifies connections among their instances. A structural relationship, specifying that objects of one class are connected to objects of a second (possibly the same) class. Example: An Employee works for a Company
Employee Department Company
34
Associations (cont.)
Multiplicity Indicators
Exactly one Zero or more (unlimited) One or more Zero or one (optional association) Specified range Multiple, disjoint ranges
Visibility
Private members can only be referenced in the same class where they are declared.(-) Protected members can be referenced in the same class or any descendants of that class.(#) Package scope members can be referenced by any classes in the same UML package only.(~) Public members can be referenced directly by any class( in the same or other package).(+)
36
Aggregation
A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts.
Models a is a part-part of relationship.
Car 2..*
Door
1..*
House
Whole
Part
37
Composition
A strong form of aggregation
The part classes used to make up the whole class cannot exist on their own. Multiplicity on the whole side must be zero or one. The life time of the part is dependent upon the whole. The destruction of the whole class means destruction of the part classes.
Table Query
0..* 1..*
Database
1
Circle
Point
38
Generalization
Indicates that objects of the specialized class (subclass) are substitutable for objects of the generalized class (superclass).
is kind of relationship.
An abstract class Generalization relationship Circle Shape
{abstract}
Super Class
Sub Class
39
Collaboration Diagram
A Collaboration Diagram is a diagram that shows object interactions organized around the objects and their links to each other. Unlike a Sequence Diagram, a Collaboration Diagram shows the relationships among the objects. Sequence diagrams and collaboration diagrams express similar information, but show it in different ways.
41
Collaboration Diagram
Sequence diagram is time ordered Like activity diagrams but shows association with other objects in the system
42
Sequence Diagram
Horizontal object shows life of represented object Vertical axis represents sequence of invocation of object
43
Sequence Diagram
44
Collaboration Diagram
45