• No results found

Introduction to Software Engineering: Project Management ( Highlights )

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Software Engineering: Project Management ( Highlights )"

Copied!
16
0
0

Loading.... (view fulltext now)

Full text

(1)

1

Introduction to Software Engineering:

Project Management ( Highlights )

John T. Bell

Department of Computer Science Department of Computer Science

University of Illinois, Chicago

Based on materials from chapters 14, 15, and 16 of “Object Oriented Software Engineering” by Bruegge & DuToit 3e.

What would you do

if they put you in charge ?

(2)

Project Management Tasks

during the course of a typical project

Identify Project Goals

3

A Work Breakdown Structure, WBS,

divides work into manageable pieces.

Q: How do you eat an elephant?

(3)

3

Planning Temporal Dependencies

5

Critical Path Analysis

Source: wikipedia.org/Critical_path_method

(10?)

6 "SimpleAONwDrag3" by Nuggetkiwi - Own work. Licensed under CC BY-SA 3.0 via Wikimedia Commons

Drag = min( duration, parallel floats ) for critical items only.

(4)

Scheduling Activities with Gantt Charts

Source: wikipedia.org/Gantt_chart

7

Gantt Charts in MS Project

Source: wikipedia.org/Gantt_chart

(5)

5

Allocating Personnel with a

Skill Matrix

9

Also useful for identifying skill shortages, and for planning long-term skill development.

Earned Value as a Classical Metric

(6)

Introduction to Software Engineering:

Software Life Cycle Modeling

John T. Bell

Department of Computer Science

Department of Computer Science

University of Illinois, Chicago

Based on Chapter 15 of Bruegge & DuToit 3e.

Capability Maturity Model, CMM

1. Initial / Ad Hoc – Everyone does their own

thing Sometimes it works out really well thing. Sometimes it works out really well.

2. Repeatable – Everyone does the same thing, the

same way every time, thru habit/inertia.

3. Defined – There exists documentation on how

to do things, and people follow it.

4. Managed – Someone monitors the process, to g p , ensure quality & standards conformance.

5. Improving – There exists a process improvement

(7)

7

IEEE Standard 1074 Defines Process

Groups, Processes, and Activities:

13

Life Cycle Models – 1074 Processes

(8)

Sequential Activity Models

15

Waterfall V

(9)

9

Unified Software Development Process

( a.k.a. the Unified Process )

17

One Sample Cycle of the Unified Process

(10)

Entity-Centered Models

19 In a waterfall approach all issues in one category would need to be closed before any in the next category could be opened. Other approaches can have open issues in multiple categories concurrently.

A Final Word on Models:

No Real Process is Ideal or Pure

Models are useful for studying and

y g

discussing ideal processes, but real

processes in practice are always going to

be some sort of a hybrid mix, drawing

ideas from different ideals and combining

them into something appropriate for the

current project.

(11)

11

Introduction to Software Engineering:

Methodologies

John T. Bell

Department of Computer Science Department of Computer Science

University of Illinois, Chicago

Based on materials from chapter 16 of Bruegge & DuToit 3e.

Definition of “Methodology”

“A software engineering methodology is a collection of methods and tools for developing and managing a software system to achieve a specified goal in a given environment. It

specifies when methods or tools should be used and what to do when unexpected events occur”

22

and what to do when unexpected events occur. - Bruegge & DuToit, 3rdEdition, Chapter 16.

(12)

The project environment can influence

the selection of SW methodology

• Participant’s expertise.

• End user access.

• Technological climate.

• Geographical distribution.

• Project duration vs. rate of change.

23

j g

• Client type – see next slide.

Types of Client, categorized by

decision power and domain knowledge

• Local king client – Has knowledge and authority.

• Proxy client – Has knowledge but no authority.Proxy client Has knowledge but no authority.

• Pseudo client – Has authority but no knowledge.

(13)

13

Issues to consider

when selecting a methodology

• How much planning should be done?

• How much reuse to incorporate in design?

( and in what form(s) and to what detail? )

• How much modeling to do before coding?

• How much detail for the process definition?

25

• How much control and monitoring?

• When should project goals be redefined?

Three Methodologies

• Royce’s Methodology, based on the Unified

Process.

• Extreme Programming, XP

• Rugby ( Scrum )

(14)

Key Principles of Royce’s Methodology

• Architecture-first approach.

• Confront risks early,

based on iterations of the Unified Process model.

• Minimize lines of human-generated code.

• Change management environment, w. baselines.

27

• Objective quality control, w. automated metrics.

• Visual modeling languages, e.g. UML

(15)

15

Key Principles of Extreme

Programming

• Rapid Feedback – Test and confront issues early.

• Incremental Change – One step at a time.

• Simplicity – Design focuses on current

requirement(s) only, w.o. considering the future.

• Embracing Change – Normal, not an exception.

29

• Quality Work – Do excellent work the first time,

instead of going back and fixing things later.

Summary of Extreme Programming

(16)

Principles of the Agile Manifesto

( Shared by XP, Scrum, & other Agiles )

The Agile Manifesto values:

• Individuals and interactions over processes and tools.

• Working software over comprehensive documentation.

• Customer collaboration over contract

31 negotiation.

• Responding to change over following a plan. Both sides have value, but the former moreso.

References

Related documents

“A fundamental principle in engineering, including software engineering, is to minimize the amount of. accidental complexity which is introduced into engineering solutions due

Supervised Classification for Prognosis 78 breast tumors patients < 55 years tumorsize < 5 cm lymphnode negative (LN0) no distant metastasis > 5 years (n=44)

Nevertheless, the designer may encounter the case of a special reinforced masonry wall that forms part of two intersecting lateral load-resisting systems and is subjected to

The purpose of this study was to explore the extent to which community college academic advisors experience their self-efficacy and relatedness to students as they transition from

Quicksort then recursively sorts the beginning of the array and the end of the array, while the random binary search tree recursively inserts smaller elements in the left subtree of

Second, Rogaski (1984) linked the Monday effect to January effect and showed that Monday returns were surprisingly positive in January but negative in other months of the year..

The prevalence of scrotal calculi was 2.65%, and a minority of patients had other abnormalities, reflecting the generally benign etiology of these “pearls.” To date, no infor- mation

Chapter 4 include the process of determining the minimum number of specimens for SCB test and SCB test method development by considering the effect of critical test