CSCE 492: Software Engineering

Instructor: John Rose

Homepage: http://cse.sc.edu/~rose/492/
Time: TTh 8AM- 9:15AM but see the schedule because we will only meet as a group occasionally. That schedule will also show weekly team meetings which are held in my office.
Room: SWGN 2A22
Textbooks:(not required) Project-Based Software Engineering: An Object-Oriented Approach by Evelyn Stiller and Cathie LeBlanc.
Slides: slides directory
Grading and Schedule:

Deliverable

Percentage of Final Grade

Due Date

Weekly meetings

5%

Every week

Proposal Presentation

5%

Jan. 22

Use Case Stories (at least 20) and use-case diagram

5%

Week of Jan.  26

Mockups and other art for user interface

5%

Week of Feb. 2

Formal specifications (detailed)

5%

Week of Feb. 9

Design: Class and Sequence diagrams: Project schedule broken down by pieces of code, testing, documentation, etc. by person.

5%

Week of Feb. 16

Test plan and test cases (at least 20)

5%

Week of Feb. 23

Demo of proof-of-concept implementation and Code review. These require a 1.5 hour meeting.

20%

Week of March 30

Final project presentations to the whole class

5%

Apr 28 in one of the labs so you can demo.

Testing of other teams' project based using their specifications and test cases. If you find 0 bugs you get 0 points.

5%

April 30

Major field test: Computer Science

10%

May 4 at 9am

Final writeup and project: well-commented code, documentation, etc. Fixed bugs are a plus.

25%

May 6


In general, all members of the team will receive the same final grade no matter how much work each one of them does. If you are having problems with a lazy teammate tell me as soon as possible so we can try to solve the problem.

We will adhere USC's statement on academic responsibility. This means that expulsion procedures will be initiated for anyone caught either giving or receiving help in a problem set or test. I will be grading everything myself since this class does not have a TA. Please, try to help out by properly commenting your code.

Overview: This class allows the students to experience a software development lifecycle, which includes requirements analysis and design, development, testing, and documentation.

Prerequisites: This class involves a lot of programming. You need to have taken Data Structures and Algorithms, as well as other programming classes. You also must be willing to dedicate a lot of time to this class as programming is always an extremely time-consuming activity.

Deliverables: Students who pass this class are be able to design and implemented complex software solutions using state of the art software engineering techniques. The have working knowledge of UML, source control, and project management. They know how to test and document software. Finally, they are capable of working as part of a software team and develop significant projects under a tight deadline.

Last modified: Tues Jan 13 2009