CS 497: Software Engineering 1

Fall Semester 2005

Instructor: Chris Lüer
Office hours: Tu, Th 1:00 - 3:30 or when I'm available

Graduate assistant: Jerry Jeffers

Section I: Tu, Th 9:30 - 10:45, RB 122

Section II: Tu, Th 3:30 - 4:45, RB 122

Description - Materials - Policies - Schedule - Teams and Projects


Description

Catalog description:
497 Software Engineering 1--Systems Analysis. (3)
Software life cycle, software engineering concepts, systems analysis phase of life cycle. Introduces and applies structured methods to a project. The output of the project is a systems specification from which a software system can be designed and developed. Prerequisite: CS 232. Prerequisite or parallel: CS 436.

Materials

Required Textbooks:

Additional Readings:

Tools:
Argo/UML. Freeware UML tool.
JUnit. Freeware Java test framework.
CPPUnit. Same thing for C++.
Cocomo. Cost estimation tool.
WinCVS. Client tool for the CVS configuration management system.

Web site: http://www.cs.bsu.edu/homepages/chl/497-05F/

Mailing List: http://www.bsu.edu/archives/cs497-l.html
You can post questions and comments about this class to the mailing list. For private questions, please email the instructor or the teaching assistant directly.


Policies

Assignments. Assignments are due Tuesdays at the beginning of class. Homeworks (HW) are to be performed individually -- no team work is allowed. Milestones (MS) and Milestone Drafts are part of the team projects. Late assignments will be subject to a deduction of 10% of the maximum credit per late day. Write your name on the top of page 1; if an assignment has more than one page, please staple them. Type your answers and include printouts of diagrams.

Readings. Readings are due on the Tuesday of the week they are listed for. Occasional quizzes will cover the readings.

Grading.
Final Exam 25%
Midterm Exam 10%
Project 40%
Homeworks 20%
Quizzes 5%

If you receive 93.3% of the total course credit, you will get an A. If you receive 90.0%, you will get an A- or better. If you receive 86.7%, you will get a B+ or better, and so on. The grading scale will be shifted so that the median grade is at least a B.

Peer Evaluations. The instructor gives one grade for each project team for each milestone. It will be divided up among the team members as follows. Each team member divides up 100 percent among all members of the team, giving him- or herself 1/n, where n is the number of team members. The points each team member gets for a milestone is the instructor's grade multiplied with the sum of the team member's peer evaluations. In this way, your team members can influence your grade.

Team Web site. Each time has a Web site, where it publishes all documents related to the project. The team may choose to make the Web site password-protected.

Status reports. Each team has to publish weekly status reports on their Web site. Here is a template.

Extra credit. Extra credit is available for additional oral presentations. Contact me if you are interested.


Schedule

Weeks Topic Readings due Assignments due
1 Introduction and Team Selection    
2 Introduction and Project Selection P1 HW 1
3 Requirements P7 HW 2
4 Requirements F9 HW 3
5 Process Models P2-3 HW 4
6 Process Models P4, F2 MS 1 Draft
7 Project Management P21-23 HW 5
8 Project Management P24-25, P27, handouts MS 1
9 Introduction to Analysis P8 Midterm Exam (Tu 10/18) (sample exam)
10 Class Diagrams (Analysis part 1) F1, F3 HW 6
11 Interaction Diagrams (Analysis part 2) F4, F6 HW 7
12 State Diagrams and Assertions (Analysis part 3) F10 HW 8
13 Introduction to Design P9, F5 HW 9
14 Software Architecture and Design Patterns handouts MS 2 Draft
15 Software Architecture and Design Patterns handouts  
16 Team Presentations   MS 2

P: chapters in Pressman; F: chapters in Fowler. Schedule is subject to change.

Final Exam Section I: Friday, Dec. 16, 9:45 am - 11:45 am
Final Exam Section II: Saturday, Dec. 17, 2:15 pm - 4:15 pm
Sample final


Teams and Projects

Teams:

Chris Lüer. (C) Ball State University 2005.