![]() |
|
Description Syllabus Policies Grading Lab info
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.
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.
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.
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 | pp. 1 -34 |
Introduction to using Process
Dashboard Work file: IntroLabApp.java |
|
R | pg 35-55 PD Quickstart Java Coding Documentation Standard |
|||
2 | M | Rockwell-Collins guest lecture |
PSP FAQ |
Cycle 1 : Data Storage Class 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 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 | ||
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 |
R |
Quality strategy Design and Code Reviews |
pg 133-202 | ||
6 | M |
pg 225-285 Code Review Checklist sample |
Quiz 4: quality metrics
highlighted PDF version of the
Midterm report instructions |
|
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 |
R | pg 126-132 | |||
8 | M | Significance of correlation and the t-distribution |
Quiz 5: Numerical Integration Cycle 6: Correlation significance Due via SVN by 8:00am Monday Feb 6, 2012 |
|
R | Process Adaptation and Extension | pg 287-308 | ||
9 | M | pg 309-327 |
Cycle 7: Integral value search, prediction intervals Due via SVN by 8:00am Monday Feb 13, 2012 |
|
R | Final Report Overview/Preparation |
Due in SVN (tag: FinalRpt) |
||
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) |
R | Final report presentations, continued
Due in SVN (tag: FinalPres) |
|||
11 |
No Final Exam |
My general course policies apply to this course
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% |
All source code submitted must use the Java Coding Documentation Standard developed in the MSOE Software Development Laboratory.
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.