CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process...

16
CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting David A. Umphress John A. Hamilton, Jr Department of Computer Science and Software Engineering Auburn University

Transcript of CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process...

Page 1: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Software Process as a Foundation for Teaching, Learning, and Accrediting

David A. UmphressJohn A. Hamilton, Jr

Department of Computer Science and Software EngineeringAuburn University

Page 2: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Software Process: Day 1

Page 3: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Our Students

skills as perceived

skills as demonstrated

Page 4: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Roadmap

• Process course context• Initial experiences• Evolutionary step 1: PSP• Evolutionary step 2: Excel• Evolutionary step 3: Accreditation• Conclusions

Page 5: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Process Course Context

• Objective: to introduce a process-oriented perspective of software development

• Taught 11 times• approx 350 students

– 40% undergraduate students• software engineering seniors• little-to-no professional experience

– 60% graduate students• master’s degree• ave 2-3 years of professional experience

Page 6: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Initial Experiences

• Process theory• Process models• Modeling techniques• Industry speakers

Didn’t take technology transition into account

Page 7: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 1: PSP

“Can you really explain to a fish what it’s like to walk on land? One day on land is worth a thousand years of talking about it, and one day [enacting a process] has exactly the same kind of value.”

– Warren Buffet

Two prongs: Lecture -> process-in-the-large

Homework -> process-in-the-small

Page 8: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 1: PSP

Week Subject PSP Context

1 Process rationale PSP overview

1-2 Common process elements PSP 0

2 Conceptual design PSP 0.1

3 Size estimation PSP 1

4 Task decomposition PSP 1.1

4-5 Scheduling PSP 1.1

6 Metrics, quality assurance PSP 1.1

7-9 Design process PSP 2.1

9 Process scalability PSP 3

10-11 Process model sampler TSP

12-13 Process modeling

14 Infrastructure

Page 9: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 1: PSP

• Pros– individual– defined– empirical

• Cons– empirical– paperwork

Page 10: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 2: Excel

• Challenge– paper forms were too encumbering– tools were too magic

• Our approach: Spreadsheets– offered in increments– paperless assignment encapsulation mechanism

• LOC• Time/phase• Defects• Design• Code• Test results

Page 11: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Page 12: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Page 13: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 3: Accreditation

• Challenge: measurement of educational objectives

• Our approach– single assignment across class used to

spot instructional problems– assignments across single person used to

spot students needing help– all assignments across single course used

to spot overall trends– all assignments across all courses used to

spot trends in upstream courses

Page 14: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Evolution 3: AccreditationObjective Means of Assessment Resulting

Score

design a software solution

evaluate representative work on a scale from 1 to 5; average rating > 3, with < 25% rated < 2

4.2, with 100% 3 or better

orchestrate an engineering process model

evaluate on scale of 1 to 5 representative process data; average rating > 3, with < 25% rated < 2

4.5, with 100% 3 or better

produce working software

evaluate on a scale from 1 to 5 representative solutions; average rating > 3, with < 25% rated < 2

4.1, with 91% 3 or better.

Page 15: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Conclusions

• Process is something few students have experienced

• A defined, usable process is a must• Tools make the process palatable• Process side-effects can reach beyond

the immediate classroom

Page 16: CSEE&T 2002 D. Umphress Auburn University Computer Science and Software Engineering Software Process as a Foundation for Teaching, Learning, and Accrediting.

CSEE&T 2002 D. Umphress

Auburn UniversityComputer Science and Software Engineering

Questions?

http://www.eng.auburn.edu/~umphress