software engineering learning programme software engineering foundation n.
Skip this Video
Loading SlideShow in 5 Seconds..
Software Engineering Learning Programme Software Engineering Foundation PowerPoint Presentation
Download Presentation
Software Engineering Learning Programme Software Engineering Foundation

Loading in 2 Seconds...

play fullscreen
1 / 40

Software Engineering Learning Programme Software Engineering Foundation - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Software Engineering Learning Programme Software Engineering Foundation' - dahlia-hendrix

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
module objectives
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

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

rup what about it and why use it
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

rup history



“Object-Oriented Modelling and Design” (1991)



“Object-Oriented Design with

Applications” (1993)

“Object-Oriented Software Engineering:

A Use Case Driven Approach” (1992)



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

phases disciplines and milestones



Phases, Disciplines and Milestones

Producer/ddmmyy - Title - author / 6

best practices

Develop Iteratively

Manage Requirements

Use Component Architectures

Best Practices

Model Visually

Continuously Verify Quality

Control Change

Best practices

Producer/ddmmyy - Title - author / 7

best practice 4 model visually
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

diagrams are view of a model
Diagrams are view of a Model

Producer/ddmmyy - Title - author / 9

best practice 2 manage requirements
Best practice 2 Manage Requirements

Producer/ddmmyy - Title - author / 10

requirement and requirements management
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

what is requirements traceability
What is Requirements Traceability?

Business Needs


Customer Needs

which drive

User Needs

which demand

Product Features

that drive

Software Requirements

that we developers


E . Magaziner ‘96

Producer/ddmmyy - Title - author / 12

why use requirements traceability
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

sample queries using requirement links
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

determine your requirement traceability strategy
Determine Your Requirement Traceability Strategy











End-User Documentation

Design Model

Test Model

Materials and

Training Materials

Producer/ddmmyy - Title - author / 15

establish traceability paths
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


Req A


Detailed Requirements(Use Cases)

Req B






User Docs

Software Design Descriptions Object Models

Test Suites

Documentation Plan

Producer/ddmmyy - Title - author / 16

viewing links traceability matrix
Viewing Links - Traceability Matrix

Producer/ddmmyy - Title - author / 17

viewing links tree report
Viewing Links - Tree Report

Tree reports provide the ability to trace linkages through the document hierarchy.

Producer/ddmmyy - Title - author / 18

what is configuration management
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

why configuration management
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

configuration management software
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

rup terminology
RUP – terminology
  • RUP uses roles, disciplines, phases and artifacts
  • Some terms are new for developers;
    • Know the RUP language!

Producer/ddmmyy - Title - author / 22

schedule oriented terms in the rup

development cycle

proces iteration



Schedule oriented terms in the RUP






product increment




LifeCycle Objectives


LifeCycle Architecture Milestone




Final production release

Producer/ddmmyy - Title - author / 23

rup terminology discipline
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

disciplines produce models



realized by


(Analysis) Design (Model) Model

implemented by



verified by



Disciplines Produce Models

automated by

Business Use-Case Model

BusinessObject Model

Analysis & Design

Producer/ddmmyy - Title - author / 25

rup terminology workflow
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

rup terminology workflow details
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


Disciplines > Test > Workflow > Improve Test Assets

Producer/ddmmyy - Title - author / 27

rup terminology activity

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




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

rup terminology artifact
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


Example: Artifact Overview Diagram

Example: Disciplines-> Requirements-> Artifact Overview

Producer/ddmmyy - Title - author / 30

rup terminology role

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

example role responsibility diagram
Example: Role Responsibility Diagram

Example: Systems Analyst

Example: Implementor

Producer/ddmmyy - Title - author / 32

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


Producer/ddmmyy - Title - author / 33

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

4 1 view model

System Integrators




4 + 1 View Model






Software management


Implementation View

Use-Case View

Process View

Deployment View

System Engineering

System topology

Delivery, installation


Producer/ddmmyy - Title - author / 35

  • 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

more to know
More to know….
  • Sources used when developing the RUP product
    • Explore the RUP knowledge base.
    • RUP Glossary
    • RUP Resource Center online
  • Visit 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

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

exercise 1 2
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


Producer/ddmmyy - Title - author / 40