• No results found

Software Engineering CS5704: First Class

N/A
N/A
Protected

Academic year: 2021

Share "Software Engineering CS5704: First Class"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

© 2001 Shawn A. Bohner

Software Engineering

CS5704: First Class

Instructor: Shawn A. Bohner

Voice: (703) 538-8374 Email: [email protected]

Teaching Assistant: Sepna Georges

Voice: (703) 538-8381

Agenda

Introductions

Semester Schedule

Guidelines and Expectations

Chapter 1 – The Software Product

Break

Chapter 2 – The Software Process

Survey of Interests

(2)

3

Jan

Feb

Mar

Apr

May

Class Begins Product & Process PM Metrics & Estimation Analysis, Design, & Architecture SW Metrics & Testing Strategies Maintenance & Evolution Final Exam Project Management Cross-Life-Cycle Process Testing Techniques Object-Oriented Development Advanced SWE Topics

Spring Semester Timeline

16 weeks, 13 sessions… So much to do and so little

time… be prepared to work hard and glean the value!

Mid-Term Exam

Guidelines and Expectations

Grading:

Homework/Quizzes (10%)

Project, Mid-Term, and Final (30% each)

With the exception of today, plan to have read the

assigned material before class

Plan for an average of 9 hrs of work a week

outside of class

Once the website is up, check it regularly

Handouts, when available, will be on web

You may work in teams on some assignments –

be fair to other team members!

What you learn in CS5704, you will use in most IT

or software endeavors

(3)

5

IT budget brakes are still on

Network spending on the rise IT spending in non-IT budgets

IT shops undergoing radical role change

Increasingly functioning as integrators,

solution implementers, and sourcing managers

Increasing packaged applications in IT portfolio

ADM “rigor” eroding with demand for IT agility

IT staff shortage inhibiting key technology delivery

IT Headline

News

2000+ Technology Headlines

Following Y2K, software is critical to the success

of most private and public sector organizations

Source: 2000 World Wide Benchmark

2000+ Business Reality:

Increasing IT-Intensive Initiatives

Business-Triggered

Technology Initiatives

(CRM, ERP, E-Business, …)

Event-Triggered Initiatives

(Y2K, Euro, M&A, Reorgs, …)

Technology Infrastructure

Initiatives

(Network Upgrades, Data Center Consolidation, …)

Modernization Initiatives

(Legacy Consolidation, Stove-Pipe Integration, …)

Software performance drives need to manage manifold

risks induced by the growing portfolio of IT initiatives

Initiatives on the Value Stream

ERP e-Biz B2B Legacy CRM e-Biz B2C Euro

(4)

7

Chapter 1

The Product

Purpose

The purpose of this chapter is to introduce

software as a “product” designed and

built by software engineers for consumers

Software is important because it is used by a

great many people worldwide

Businesses today cannot operate without it

Objectives

Outline software as a product

Outline key aspects of software products

(5)

9

What is Software?

Software is a set of items or objects

that form a “configuration” that

includes

• programs

• documents

• data ...

That’s one way to

look at it …

What is Software?

Software is part of a computer

system that is intended to change

Business changes and its

computer systems must

respond

Software is engineered,

not manufactured

Software is intangible

Software is complex

Software is suppose to change…

otherwise it would in the hardware!

(6)

Software Doesn’t Wear Out

Software doesn’t change with age or

“wear out” with use! However, ...

Software “ages” or

becomes “obsolete”

with a changing

environment

Software deteriorates or

“degrades” with

continued changes

Wear versus Deterioration

idealized curve change actual curve Failure rate Time increased failure

(7)

Software Design Degradation

The Original Software Design...

Easy to Understand

Components well isolated to facilitate change

Isolation supports change validation

...Plus a few “Changes”

Increased size and complexity ...but it works (for awhile) Reliability of system degrades, errors creep in

At some point, it’s unmaintainable ...effort to make the next change becomes prohibitive

Information Lose Due to Relentless Change

Code Design Spec’s Baseline Change Set 1 Change Set 2 Change Set N

(8)

15

The Cost of Change

Definition Development After release 1x 1.5-6x 60-100x

Software is Complex

s

Applications Gridlock

l

1980s Spaghetti code

became the 1990s

spaghetti integration

s

Total replacement

represents enormous

business risk

s

Increasing costs for

maintaining and simply

reconfiguring applications

(9)

17

Software Applications

Business Applications

Real-Time Systems

Engineering/Scientific

Applications

Embedded Systems

AI/Knowledge-Based Systems

Web applications

PC/Midrange/Mainframe

Applications

System Software

Software “Schizophrenia”

Who is the Audience for

Software?

The Computer

Subsequent software

engineers

Users

Software is developed or

engineered, NOT

manufactured

Effort in creation not

(10)

Software is an Important Asset

Provides valuable service/resource

Important part of most systems

Embodies important domain

and system knowledge

Requires maintenance to

remain serviceable

Costly to develop

Redevelopment must be

amortorized

Stern-wave of development

often brings with it a large

bow-wave of maintenance

costs

Software Crisis on the Horizon?

U.S. Software Development Productivity Trends

0 50 100 150 200 250 300 350 400 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Productivity Index

Productivity Quality Application Demand IT Budget Budget - Y2K

(11)

21

Chapter 2

The Process

Purpose

The purpose of this chapter is to introduce

several software process models used to

manage large-scale software projects

While no software process works well for

every project, every project needs to conform

to some systematic process

Objectives

Outline software as a process

Outline key aspects of software process

Examine how to assess software process

(12)

Business Agility is Driving Software

“IT Agility” needed for

businesses to rapidly exploit

new markets and adapt to

ever changing business

conditions

Change tolerance essential

for evolving software at the

pace of today’s business

Reduce time to:

Market for new products and services

Operations for internal software systems

Financial break-even point

Software is the cornerstone

for change

0 10 20 30 40 50 60 70 1970's 1980's 1990's 2000's? Cycle Times (months) for Large Systems Development

Software Still Stuck in Construction

Plus a few changes!

Software Development

evolved largely out of

constructive engineering

principles

However, software was

meant to change (or else it

would be in the hardware!)

“Change” is what software

does not do readily unless

the principles are

(13)

25 S o f t w a r e E n g i n e e r i n g

A Layered Technology

S o f t w a r e E n g i n e e r i n g a “quality” focus p r o c e s s m o d e l m e t h o d s tools

A Common Process Framework

C o m m o n P r o c e s s F r a m e w o r k Framework activities

w o r k t a s k s w o r k p r o d u c t s

milestones & deliverables Q A c h e c k p o i n t s

(14)

27

Umbrella Activities

(AKA Cross-Life-Cycle Activities)

Software project management

Formal technical reviews

Software quality assurance

Software configuration management

Document preparation and

production

Reusability management

Measurement

Risk management

Process as Problem Solving

status quo problem definition technical development solution integration

(15)

29

The Process Model: Adaptability

Framework activities will always be applied

on every project ... BUT

Tasks (and degree of rigor) for each activity

will vary based on:

the type of project (an “entry point” to the

model)

characteristics of the project

common sense judgment; concurrence of the

project team

Primary Goal:

High Quality

R e m e m b e r :

High quality = project timeliness W h y ?

(16)

31

The Linear Model

analysis design code test System/information engineering

Iterative Models

listen to customer build/revise mock-up customer test-drives mock-up business modeling data modeling process modeling application generation testing & turnover business modeling data modeling process modeling application generation testing & turnover business m odeling da ta mode ling pr oce ss mode ling application ge ne rat ion testing & turnover team #1 team #2 team #3 60 - 90 days Prototyping RAD

(17)

33

The Incremental Model

analysis design code test

System/information engineering

analysis design code test

analysis design code test

analysis design code test

increment 2 increment 3 increment 4 increment 1 delivery of 1st increment delivery of 2nd increment delivery of 3rd increment delivery of 4th increment calendar time

An Evolutionary (Spiral) Model

Customer Communication

Planning

Construction & Release Customer

Evaluation

Engineering Risk Analysis

(18)

35

Still Other Process Models

Component assembly model—the process

to apply when reuse is a development

objective

Concurrent process model—recognizes

that different part of the project will be at

different places in the process

Formal methods—the process to apply

when a mathematical specification is to be

developed

Cleanroom software engineering—

emphasizes error detection before testing

SEI Process Program Background

CBA IPIs and SPAs conducted

since 1987 through December

1999 and returned to the SEI by

January 2000

1512 assessments

– 1024 CBA IPIs

– 488 SPAs

1166 organizations

309 participating companies

283 reassessed organizations

6168 projects

(19)

37

SEI’s Software Process

Capability Maturity Model

Level Focus Key Process Areas Result

1 Initial Heroes 5 Optimizing Continuous Process Improvement Defect prevention Technology innovation Process change management 4

Managed

Product and Process Quality

Process measurement and analysis Quality management 3 Defined Engineering Process

Organization process focus Organization process definition Peer reviews

Training program Intergroup coordination Software product engineering Integrated software management

Productivity & Quality Risk 2 Repeatable Project Management

Software project planning Software project tracking Software subcontract mgt. Software quality assurance Software configuration mgt. Requirements management

*Source: Software Engineering Institute

Summary of the SEI/CMM Levels

1) Initial: The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort.

2) Repeatable: Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

3) Defined: The software process for both management and

engineering activities is documented, standardized, and integrated into a standard software process for the organization. All projects use an approved, tailored version of the organization's standard software process for developing and maintaining software.

4) Managed: Detailed measures of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled.

5) Optimizing: Continuous process improvement is enabled by quantitative feedback from the process and from piloting

(20)

39

Software Process Maturity Advances

0.8 7 79.8 12.4 0.5 8.7 75.3 15.4 9.7 0.5 0.7 16.9 72.2 1.4 0.5 12 64.4 21.7 0.6 2.3 15.1 58.1 23.9 1.5 3.8 15.6 30.6 48.6 0 10 20 30 40 50 60 70 80 90

Level 1 Level 2 Level 3 Level 4 Level 5

1987-91 1992 1994 1996 1998 1999

*Source: Software Engineering Institute

Summary Maturity Findings:

Organizational Trends

Software Quality Assurance is the least

frequently satisfied level 2 KPAs among

organizations assessed at level 1

Integrated Software Management, Training

Program and Organization Process

Definition are the least frequently satisfied

level 3 KPAs among organizations

assessed at level 2

Higher maturity has been reached among

those organizations reporting

(21)

41

Process Improvement Maturity Levels

Process Ad hoc ▲ High variability/Low predictability ▲ Heroes => Success ▲ High Risk Process Repeatable

▲ Project metrics focus ▲ Low variability/Medium

predictability

▲ PM => Success ▲ Medium-High Risk

Defined

▲ Process metrics focus ▲ High predictability ▲ Process => Success ▲ Medium Risk

More Traction at Upper levels...

Managed ▲ Product and Process metrics ▲ High predictability ▲ Managed Process => Success ▲ Low-Medium Risk Optimized (Incorporated) ▲ Value metrics ▲ High predictability ▲ Agility => Success ▲ Low Risk

(22)

43

Survey of Background and Interest

Name

Student IDAddress

Phone #

Email

Program (CS, MIS, MIT)Number of Hours Completed in ProgramProgramming/Software Engineering Experience# of yearsCurrent positionLanguages/Environments

Why did you take CS5704?

What are your objectives for this course?

Which of the following have you created?

Requirements Specification

Architecture Design

Detailed Program Design

Source Code

Test Plans

Test Cases

Maintenance Plan

Project Plan

Business Case for Project

Software Methodology

Homework Assignment for 1/26/01

Read Pressman Chapters

1.2

2.1-2.7

3.1-3.8

4.1-4.3

Email survey information to:

[email protected]

References

Related documents

Suggestions: Be sure students understand that they can choose among the options to create their questions. Answers

Control of California's 1970 catastrophe depended upon the nationwide depth of the United States Forest Service, the statewide depth of the California Division of Forestry,

Difficult problem: How can the search engine tell what the user need or intent for a particular query is?.. User intent: Answering the need behind

A sound compensation philosophy articulates the roles and responsibilities of both line managers and human resources in the design and administration of a compensation

Keywords: biofilm, collagen, cytokines, gingival epithelium, gingival fibroblasts, in vitro model, monocytic, multiplex immunoassay, organotypic culture, perfusion

The present study aimed to comparatively investigate the effects of the Zürich in vitro supragingival and subgingival biofilm models, on RANKL and OPG gene expression in primary

As for the LTC annuity, both types consume too much of it at their most-preferred (insurance, saving) allocation, but too little at the majority voting equilibrium given the value

However, the small-dollar loan market in Texas is undergoing an important shift in response to the recent proliferation of abusive products. This report profiles six market newcomers