software engineering learning programme software engineering foundation n.
Download
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


  • 163 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

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

phases disciplines and milestones

Time

Content

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

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

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

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

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

(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

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

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

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

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

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

Example:

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

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

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

slide30

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

guidelines
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

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

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

summary
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

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

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

questions
Questions

Producer/ddmmyy - Title - author / 40