SE-280 Software Engineering Process
Dr. Mark L. Hornick

 


Description     Syllabus     Policies     Grading    Lab info


Revision History

This is where you check for news and information regarding recent additions (assignments, announcements, etc) to this site. The latest revision will be put at the bottom of the list.

11/28/2011 - initial version

This page was last updated on 02/13/2012.

Course Description

As an SE major, you've previously taken CS or SE courses in software development, data structures, software tools and practices, and software verification. With this background, you should have a basic understanding of how software applications are constructed. But when you begin a new software development project, how should you begin? how do you estimate the required effort? how do you measure your progress? how can you improve your work in the future?

This course provides an introduction to the Software Engineering Process and the management of software projects. Topics include the software life cycle, effort tracking, project planning, measurement and estimation, reviews and checklists, and software quality management. Laboratory assignments provide an opportunity for students to develop and enhance a defined process for their own work. 

Please consult the official course description for detailed objectives.

Schedule

Lectures are on Monday and Thursday in L307 from 2:00pm to 2:50pm.

Labs are on Tuesday in CC51 from 1:00pm to 2:50pm.

As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. I reserve the right to administratively drop anyone who misses 3 or more lectures or labs. Be sure to read the entire document for all relevant policies that apply to this course.

Textbook

PSP: A Self-Improvement Process for Software Engineers
Watts S. Humphrey, Addison-Wesley, 2005

Note: available as a Kindle ebook

Syllabus

Week Day Topic Assignment
(to be read before class)
Lab
1 M

Introduction to the course

Intro to the software process

Baseline personal process;
Initial process details.

pp. 1 -34

Process support tool

Introduction to using Process Dashboard

Work file: IntroLabApp.java

R

Measuring Software Size
Size accounting

pg 35-55

PD Quickstart

Java Coding Documentation Standard
2 M Rockwell-Collins guest lecture
PSP FAQ
 

Cycle 1 : Data Storage Class

Report Specification A

Due via SVN by 8:00am Monday Dec 12, 2011

R Planning

 

pg 57-108
3

 

M Conceptual design;
Proxy-based estimation
Relative-size Table

Quiz 1: LOC counting

Cycle 2 : Mean and standard deviation

Report Specification B

Due via SVN by 8:00am Monday Dec 19, 2011

R

Process and Lab Q&A

Linear regression and Correlation

PD's PROBE Wizard calculations

Sample Code: PlotSample.pdf

PSP FAQ

PSP Defect Categories

Christmas Break
4 M No school  

Quiz 2: LOC Counting

Cycle 3: Linear Regression and Correlation

Report Specification B (revised)

Due via SVN by 8:00am Monday Jan 9, 2012

R Schedule planning
and Earned Value
pg 109-125
5 M Multiple Regression Java Matrix Library: http://math.nist.gov/javanumerics/jama/

Sample Code: LectureExample.java

Quiz 3: Size estimation template

Cycle 4: Multiple Regression

Report Specification B
Due via SVN by 8:00am Monday Jan 16, 2012

R Quality strategy
Design and Code Reviews
pg 133-202

2012 Process Metrics

6 M

Review measures and checklists

pg 225-285

Code Review Checklist sample
Quiz 4: quality metrics

Midterm report

highlighted PDF version of the Midterm report instructions
Due via SVN by 8:00am Monday Jan 23, 2012

R Design Review Issues
Process, Lab and Midterm Report Q&A
 
7 M Numerical integration 2012 Process Metrics to-date Cycle 5: Numerical Integration

Report Specification C
Due via SVN by 8:00am Monday Jan 30, 2012

R

The team launch process, team working

pg 126-132
8 M Significance of correlation and the t-distribution  
Quiz 5: Numerical Integration

Cycle 6: Correlation significance

Report Specification C

Due via SVN by 8:00am Monday Feb 6, 2012

R Process Adaptation and Extension pg 287-308
9 M

Prediction intervals

pg 309-327 Cycle 7: Integral value search, prediction intervals

Report Specification C

Due via SVN by 8:00am Monday Feb 13, 2012

R Final Report Overview/Preparation

Final Report Assignment

Due in SVN (tag: FinalRpt)
by 8:00am Monday Feb 20, 2012

 

10 M Course wrap-up

Final report Q&A, prep time
Update for Final Reports:
2012 Process Metrics
Final report presentations

Due in SVN (tag: FinalPres)
by 8:00am if you are presenting today

R Final report presentations, continued

Due in SVN (tag: FinalPres)
by 8:00am if you are presenting today

 
11

No Final Exam

Course policies

My general course policies apply to this course

Grading algorithm

Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.

Criterion Weight
Quizzes 10%
Labs 50%
Midterm Report 15%
Final Report 25%

Documentation Standard

All source code submitted must use the Java Coding Documentation Standard developed in the MSOE Software Development Laboratory.

About Labs

Note that the labs constitute half of your overall grade - a reflection of their importance in this course. Plan to devote a considerable effort in order to complete these labs successfully and professionally.

The labs for SE280 are not "programming assignments" such as what you have been used to in, say, SE1021. They are not particularly challenging from an algorithmic standpoint; rather, they are fairly simple assignments that permit you to focus on their primary objective; that is: to help you develop your software process skills

Even so, as you begin to develop your software process skills, you will still have to expend a reasonable effort as you learn the process. You may want to examine the following timelog summary of last year's labs in order to get an idea of the time required to complete them (note that the times are expressed in hours):

Labs are graded on the following criteria:

Required content in submission (this varies according to individual labs).
Functional deliverables (this means that the application you create must work correctly and produce the stated required output)
Following the software process used in this course (this changes as the course progresses, as described in each assignment)
Timeliness of submission.


This page was last updated on 02/13/2012.