This course introduces state-of-the-art software engineering processes, including software requirements specification, planning, design, documentation, development, review, defect tracking, testing, product delivery, and product evaluation. Mimicking real-life work environment, students work in teams to design, develop, and evaluate software products using open source software engineering tools.
Tentative schedule of lectures:
| Lecture# | Topic |
|---|---|
| 1 | Introduction to Software Engineering |
| 2 | Rapid Software Development |
| 3 | Configuration Management |
| 4 | Software Processes |
| 5 | Project Management |
| 6 | Managing People |
| 7 | Software Requirement |
| 8 | Requirement Engineering Processes |
| 9 | System Models |
| 10 | Architectural Design |
| 11 | Distributed Systems Architectures |
| 12 | Application Architectures |
| 13 | Object-oriented Design |
| 14 | User Interface Design |
| 15 | Software Reuse |
| 16 | Component-based Software Engineering |
| 17 | Software Evolution |
| 18 | Verification and Validation |
| 19 | Software Testing |
| 20 | Quality Management |
Students are expected to read the materials before class and actively participate in the discussion. Some class time will be reserved for group activities and project presentations.
The major activity in this class is a group project throughout the semester. A group is made up of five or six members. Each group works on a different project from other groups. Each group will also serve as user and testers for other projects. Projects will go through several stages:
Note that the stages are not of equal length, and some stages may go through multiple iterations. Each stage requires appropriate report and/or presentation. The grade is based on the quality of the product, including program, documents, and presentation.
| Group Project | 50% |
| Class Participation | 10% |
| Weekly Journal | 10% |
| Final Exam | 30% |
Any academic misconduct will be documented and handled immediately, including the involved students being admonished or being reported to the Campus Judicial Coordinator (Suzette Dyer) with a request that a grade of F be given in the class to all participants. The procedure to be followed is in the University of Oklahoma Academic Misconduct Code. Students have the right to appeal an admonishment (http://www.ou.edu/provost/integrity-rights/).