• No results found

Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

N/A
N/A
Protected

Academic year: 2021

Share "Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

OOSD--fall'04 Copyright © by [email protected] 51

Object-Oriented Software Development

‹

What is Object-Oriented Development

‹

Object-Oriented vs. Traditional Development

‹

An Object-Oriented Development Framework

‹

Phases, Activities, and Work Products

OOSD--fall'04 Copyright © by [email protected] 52

A work product is a “concrete result of a planned project-related activity such as analysis or project management. Work products include items delivered to the customer and items used purely internally within a project.”

Phases, Activities, and Work Products

[OOTC 97]

“A development phase is a state of product development that focuses on making progress on a particular aspect or facet.”

OOSD--fall'04 Copyright © by [email protected] 53

Project Management

Project Management

After initial project planning, define development activities and allocate resources to the activities. Allocate requirements to releases and manage project schedule and issues.

An organized list of work products that are expected to comprise the project workbook.

Project Workbook Outline Resource Plan

Schedule Risk/Option Management Plan Test Plan Issues

Analysis of the resources required for the successful completion of the project.

A task time line showing dates, milestones, critical path, etc.

Lists development options and describes the plan for minimizing project risks.

Outlines the project’s plan for testing the application.

A list of outstanding issues, questions, and concerns that are reviewed on a regular basis.

Phases Activities Work Products

Metrics The planned and actual measurements, and statistics.

OOSD--fall'04 Copyright © by [email protected] 54

Requirements Gathering

Phases Activities Work Products Requirements

Gathering

Group functional requirements (into use cases) and prioritize them.

Description of the problem to be solved in non-technical terms.

Problem Statement Use Cases (functional requirements)

An OO formalization of functional requirements describing the usage of the system by external agents.

Requirements that do not belong to user function, such as performance, platform, quality.

Nonfunctional Requirements

Prioritized Requirements

Defines the relative priorities of functional and non- functional system requirements.

(2)

OOSD--fall'04 Copyright © by [email protected] 55

UI Design

Phases Activities Work Products UI Design Document how users will

interact with the application.

Describes the user interface guidelines and standards.

Guidelines

Screen Flows Documents user navigation through the application’s user interface.

Screen Layouts

Documents details of all screens.

UI Prototype A prototype built to show users the ”look and feel.”

OOSD--fall'04 Copyright © by [email protected] 56

OOA&D

Phases Activities Work Products Object-

Oriented Analysis &

Design

Analysis:

Identify objects, their attributes, behaviors, and interrelationships.

Develop solutions to system usage scenarios in terms of active objects that group related tasks and communicate with other objects in order to complete them.

Records the details of the analysis and design approach being followed.

Guidelines

Description of the high-level components/

structures of the system and the design principles guiding the implementation.

System Architecture

Object Model A consolidated model describing the classes of a system together with their responsibilities and static interrelationships.

Scenarios Descriptions of required systems behaviour.

Scenarios refine use cases and are formalized in OIDs.

A working out of a scenario, showing the interactions between objects to accomplish (the implementation of) a task.

OIDs (Object Interaction Diagrams) Design:

Plan a solution to the problem examined during analysis in terms of interacting objects, within the constraints specified by the non- functional requirements.

Show the life cycle of an object, i.e. its possible states and state transitions.

State Models

Classes Detailed descriptions of all classes.

File Structure The files and their structure as required by the system.

Traceability Matrix

A cross-reference table that relates design elements to requirements.

Implementation & Testing

Phases Activities Work Products Implemen-

tation

Systematically code the classes as specified in the class descriptions so that they can be built and installed on the target platforms.

A description of the coding guidelines and standards.

Coding Guidelines

The actual implementation of the product.

Source Code User Support Materials

Documentation, delivered in various forms, which support the customer’s use of the product.

Testing Insure that the application meets the requirements set forth in the problem statement and requirements gathering work products.

The testing and quality assurance work products.

Test Cases

Prototypes Intermediate products.

Miscellaneous Work Products

Phases Activities Work Products

Meeting Minutes

The minutes of all project meetings.

Miscellaneous Glossary Definitions and terminology.

Back-level work products.

Historical Work Products Document miscellaneous

activities in appendices and add them to the project workbook.

... ...

The time logs of the people allocated to the project.

Time Logs

(3)

OOSD--fall'04 Copyright © by [email protected] 59 Presentations Materials from the team

presentations.

Course Related Work Products

Phases Activities Work Products

Subcontract A contract with an external team to deliver a specified piece of software.

Course organization

A presentation of your team and the members of the team.

Team Description Document course specific

aspects and support course organization.

Prototype Evaluation

An evaluation of another team’s prototype.

Weekly Reports

Progress reports with up-to- date project information.

Final Report A complete document set.

OOSD--fall'04 Copyright © by [email protected] 60

Work Product Definition

ˆ Description

ˆ Purpose

ˆ Participants

ˆ Timing

ˆ Techniques

ˆ Strengths

ˆ Weaknesses

ˆ Notation

ˆ Traceability

ˆ Advice & Guidance

ˆ Verification

ˆ Examples

ˆ References

ˆ Importance

‹

Defined in detail in [OOTC 97]:

Seehttp://<course homepage>/Deliverables.html for a detailed description of the course’s deliverables and

http://forc.darkeye.net

for an example from a previous course.

OOSD--fall'04 Copyright © by [email protected] 61

Contents

‹

Introduction

‹

Object-Oriented Software Development

‹

Project Management

‹

Requirements Gathering

‹

(G)UI Design

‹

Object-Oriented Analysis and Design

‹

Advanced Topics in OOA&D

‹

Implementation and Testing

‹

References

OOSD--fall'04 Copyright © by [email protected] 62

Project Management

produce

Activity Result

“Just do it.”

to produce

Activity Result

Planning

Evaluation

input to to improve

Think first and look what you did.

(4)

OOSD--fall'04 Copyright © by [email protected] 63

‹

Project acquisition

‹

Initial project planning

ˆResources assessment

ˆRisk and option analysis

‹

Cost estimation

‹

Project scheduling

‹

Project tracking and control

‹

Reporting

Not required in this course

Project Management Activities

OOSD--fall'04 Copyright © by [email protected] 64

‹

Define work breakdown structure

ÎBreak down the project into manageable tasks

ÎIdentify all activities/ tasks that a project must undertake

‹

Distribute effort

ÎDefine duration and start/ end dates for all activities/ tasks ÎIdentify parallelism

‹

Assign tasks

ÎAssign resources to tasks

0Do not forget the project functions, lectures, meetings, etc.

Project Scheduling

Example Effort Distribution

0 50 100 150 200 250 300 350 400

Lectures Meetings

Planning uirements

GUI design Analysis

Design Testing Coding

sentations Subcontract

Code subc.

of prototypeManual Final report

ing minutes Other 0

50 100 150 200 250

week35 week36 week37 week38 week39 week40 week41 week42 week43 week44

total time in h actual plan

Another Group

0 50 100 150 200 250 300 350

Lectures

Administration

Study assignments Documentation

Implementation Integration

Testing

(5)

OOSD--fall'04 Copyright © by [email protected] 67

Another Group (10 cr version)

OOSD--fall'04 Copyright © by [email protected] 68

Another Group (10 cr version)

OOSD--fall'04 Copyright © by [email protected] 69

A Project Schedule

OOSD--fall'04 Copyright © by [email protected] 70

Time vs budget vs quality

higher costs

reduce control/

documentation

decreasing quality

fix a problem

moretime overtimework

(6)

OOSD--fall'04 Copyright © by [email protected] 71

‹

Task management

‹

Risk management

‹

Issue management

‹

Quality management

Don’t forget to schedule time

for these activities

Project Tracking and Control

OOSD--fall'04 Copyright © by [email protected] 72

Risk Management

‹

Investigate potential risk factors

ˆRisk

ˆLikelihood of occurrence

ˆImpact

‹

Define mitigation strategies (i.e. be prepared)

ˆWhat can be done to avoid the problem(s)

ˆWhat can be done to solve the problem(s)

‹

Monitor risks

ˆDetermine if predicted risk occurs

ˆProperly apply risk aversion steps

ˆCollect info for future risk analysis

Example

‹

Assume

ˆRisk = High staff turnover

ˆLikelihood of occurrence = 70%

ˆImpact = Increase project time by 15%, project cost by 12%

‹

Mitigation strategy

ˆIdentify high turnover causes

ˆReduce causes before project starts

ˆDevelop techniques to assure work continuity in light of turnover

€For example ...

€or ...

Top Ten Project Risks

‹

Staff deficiencies

‹

Unrealistic schedules and budgets

‹

Developing the wrong functions

‹

Developing the wrong interface

‹

Over-engineering

‹

Requirements volatility

‹

Externally developed items

‹

Externally performed tasks

‹

Performance problems

‹

Assumptions on technology

(7)

OOSD--fall'04 Copyright © by [email protected] 75

Software’s Ten Essentials

‹

A product specification

‹

A detailed user interface prototype

‹

A realistic schedule

‹

Explicit priorities

‹

Active risk management

‹

A quality assurance plan

‹

Detailed activity lists

‹

Software configuration management

‹

Software architecture

‹

An integration plan

See IEEE Software 14(2), Mar/Apr 1997, 143-144.

OOSD--fall'04 Copyright © by [email protected] 76

Significant Student Project Risks

‹

Personnel schortfalls

ˆLack of Commitment

ˆInterpersonal incompatibility

ˆLack of critical project skills (technical and management)

ˆCommunication problems

‹

Unrealistic schedule, budget, and process

‹

External (COTS) components

‹

Requirements mismatch

‹

UI mismatch

See Proceedings CSEE&T 2004, 132-137.

OOSD--fall'04 Copyright © by [email protected] 77

16 Critical Software Practices TM

OOSD--fall'04 Copyright © by [email protected] 78

Weekly Reports

‹

Will help you and us to track project progress

‹

Provides information/ data to access project status

ˆMajor events and/or decisions

ˆMajor changes to schedule (and resources)

ˆTop-10 risk list

ˆMajor changes to issues list

ˆStatistics/ data

€Is project on schedule?

€Resources spent (per person, per category, last week, accumulated)

€Productivity (LOC, LOD, ...; last week, accumulated)

€Summary of issues change log (new issues, closed issues, ... ; last week, accumulated)

€(QA?)

€(...)

(8)

OOSD--fall'04 Copyright © by [email protected] 79

An Example Top-10 Risk List

... ...

...

...

...

Two members are not available for this week. Other team members will put extra effort this week.

4 4

2 Personal

shortfalls

Performed multilingual NLP COTS survey. Applied for academic discount.

5 1

1 COTS

availability

# Weeks Previous

CurrentWeekly Ranking Risk Resolution Progress Risk Items

References

Related documents