SE 580: The Process of Engineering Software

The course introduces the students to a process-based approach to developing software at the individual level. Students will learn how to define their own personal software processes; measure, analyze and estimate the size and time of their projects; schedule and track their work. At the end of the course they will demonstrate, with their own data, the value of these practices. The purpose of this course is to help the students understand their own processes and show how they can improve these processes. By observing and analyzing their own development processes, the students can improve the quality of their work and develop the necessary skills to better estimate the size of a product and the time necessary to accomplish it. The course provides hands-on experience with the Personal Software Process.

Monmouth University

Dr. Allen Milewski
Howard Hall, Room B11
(732) 571-7578
amilewsk@monmouth.edu
Office Hours:

         

SAMPLE SYLLABUS--Students Enrolled in this course can find complete Course Materials at ecampus.monmouth.edu )

Readings

Watts Humphrey – A Discipline for Software Engineering, Addison Wesley, newest edition/printing preferable, but at least 2000 or newer.

Recommended reading: Watts Humphrey – Introduction to the Personal Software Process, Addison Wesley, 1995

Assignments

There will be 10 programming assignments and 5 reports. A spreadsheet (with Help) is provided to make completing these assignments easier. Please use it. All assignments are due at the beginning of class period. You are encouraged to post or emailspreadsheets and reports in the . You should also email your coding assignment: include (i) an executable (ii) all necessary source (iii) a README file that describes the environment and gives instructions for compiling and any runtime arguments for the software.

Assumption: You are fluent in either C,C++,C# or Java. Choose the programming language with which you are most familiar. Use it for all the assignments

Lecture Notes

Notes will generally be posted prior to class

Course Policies

Evaluation:

The focus will be on:

  • The process used for the programming assignments
  • The proper gathering of process data
  • The use of these data by the students to improve their work

Assignments:

Programs 1-9:

5% each

Program 10:

15%

Reports:

R1+R2:

5%

R3:

5%

R4:

15%

R5:

15%

 

Attendance:

Attendance at classes is mandatory. Students are responsible for all material covered and announcements made in class.

Academic Honesty:

Everything turned in for grading in this course must be your own work. Students who contribute to violations by sharing their code/designs /solutions with others are subject to the same penalty. By the Monmouth University policy, students found to be in violation of this rule will, at the very least, receive a failing grade in the course and may be subject to stiffer penalties.

Special Accommodations:

Students with disabilities who need special accommodations for this class are encouraged to meet with me or the appropriate disability service provider on campus as soon as possible. In order to receive accommodations, students must be registered with the appropriate disability service provider as set forth in the student handbook and must follow the University procedure for self-disclosure, which is stated in the University Guide to Services and Accommodations for Students with Disabilities. Students will not be afforded special accommodations for academic work done prior to completion of the documentation process with the appropriate disability service office.

Withdrawal:

Last day to withdraw with automatic assignment of "W" grade: --.

Topic

Assignments

Dates

Topic

Assignments

Dates

1 .Intro and Baseline Personal Process

·Ch 1,2
·(specs:p.752)

 

8.Software Quality Management ·Ch 9
·Assign Program 7A (specs:p.758)
·
Due: Report 4
·Class presentations of midterm reports

 

2. Planning I-Measuring Software Size ·Ch 3,4
· Assign Program 2A (specs: p.753),
Report 1 (p.767), Report 2 (p.769)
·
Due: Program 1A

 

9. Software Design ·Ch 10
·Assign Program 8A (specs:p.759)
·Due: Program 7A

 

3. Planning II- Estimating Software Size

·Ch 5
· Assign Program 3A (specs:p.754),
Report 3 (p.769)
·Due: Program 2A, Report 1, Report 2

 

10. Software Design II ·Ch 10
·Assign Program 9A (specs:p.760)
·Due: Program 8A

 

4. Planning III- Estimating Software Size

·Ch 5
·
Assign Program 4A (specs: p.755)
·
Due: Program 3A, Report 3

 

11. Scaling Up PSP

·Ch 11
·Assign Program 10A(specs: p.760)
·Due: Program 9A

 

5. Planning IV- Resource and Schedule Estimating

·Ch 6
· Assign Program 5A (specs:p.755)
·
Due: Program 4A

 

12. Design Verification

·Ch 12

 

6. Measurement in PSP

· Ch 7
· Assign Program 6A (specs p.757)
·
Due: Program 5A

 

13. Defining the Personal Process


·
Due: Program 10A
 

7.Design and Code Reviews

·Ch 8
·Assign Report 4 (Midterm Report p.771)
·
Due: Program 6A

 

14. Conclusions

·Due: Report 5 (Final Report p.772)
·Class presentations of final reports