Upload
lisa-mcdaniel
View
218
Download
0
Embed Size (px)
Citation preview
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
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
Software Process: Day 1
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
Our Students
skills as perceived
skills as demonstrated
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
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
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
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
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
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
Evolution 1: PSP
• Pros– individual– defined– empirical
• Cons– empirical– paperwork
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
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
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
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.
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
CSEE&T 2002 D. Umphress
Auburn UniversityComputer Science and Software Engineering
Questions?
http://www.eng.auburn.edu/~umphress