|
MCS451 - SOFTWARE ENGINEERING |
Instructor
Brian Mitchell
Drexel: (215)895-2668
Daytime: (215)761-6618
Office: Korman 215
e-mail: bmitchel@mcs.drexel.edu
Class Web Page: http://www.mcs.drexel.edu/~bmitchel/course/mcs451/mcs451.html
Teaching Assistant
Important Notices
See current class notices for MCS451 - Software Engineering
Final Exam is now online with detailed directions, get it here. Also remember that your final projects are due by 6PM on Wednesday June 3, 1999. Please submit your final project by sending me an email with the URL of your project, all project team members, and a description of the contribution of each member. Any projects sent to me after 6PM will be considered late. Also please check the class web page notices every day this week for important information.
Course Description
Software is:
- Requirements Documents
- Design Documents
- Source Code
- Test Suites and Test Plans
- Interfaces to Hardware and Software Operating Environment
- Internal and External Documentation
- Executable Programs and their Persistent Data
Software Engineering is the science and art of building significant software systems that are on time, on budget, with acceptable performance, and with correct operation. Significant systems require team effort, many dollars spent over lifetime of software, many lines of code, and continuous modification and maintenance. Software Engineering aims at improving the quality of software, which has a tremendous impact on modern society. The cost of incorrect software is often huge, leading to loss of human life or financial bankruptcy. The software development industry is significant with over $500 billion spent each year on producing software.
Intended Audience
This course is intended primarily for undergraduate Computer Science and/or Software Engineering students. Students in other programs may take this course if they see me in advance about their qualifications.
Class Meeting Times
MCS451 will meet from 6:00 - 9:00 PM on Monday evenings. Office hours are by appointment or immediately before class.
Course Topics
Note that there is no correlation between a topic and a lecture. Multiple topics may be covered in a single lecture while some topics may require multiple lectures.
| Topic | Description |
|---|---|
| 1 | Introduction (Chap 1) |
| 2 | Requirements: Engineering (Chap 4), Definition and Specification (Chap 7 - Part1, Part2), |
| 3 | Formal Specifications (Chap 9) |
| 4 | Model Based Specifications (Chap 11) |
| 5 | Software Prototyping (Chap 8) |
| 6 | System Models (Chap 6 - Part 1, Chap 6 - Part 2) |
| 7 | Design: Software Design (Chap 12), Architectural Design (Chap 13) |
| 8 | Programming for Reliability (Chap 19) |
| 9 | Testing: Verification & Validation (Chap 22), Defect Testing (Chap 23) |
You may use the above links to obtain an on-line copy of the lecture notes. Selected lecture notes are provided in Adobe Acrobat format. Adobe Acrobat Reader is a free viewer for Adobe PDF files. A copy can be downloaded from here:
Team Project
Late projects will receive a 10% grade reduction (compounded) for each day they are late. Members of the same team will receive the same grade. It is up to the team members to balance the workload in a fair way. Part of the challenge of team projects is determining the strengths of each member and distributing the workload accordingly. The team project can be accessed from here.
Deliverables
- Requirements Document due May 3, 1999
- Design Document due May 31, 1999
Textbooks
The required textbook for this class is:
- Software Engineering (5th Ed.), Ian Sommerville, Addison-Wesley, 1995
Additional materials may be presented in lectures. You will have online access to these materials
Grading
Team Project: 50%
Midterm* (After 4-5 weeks): 25%
Final Exam (At the end of the term): 25%
Policies
All homework and programming assignments are individual efforts, unless specifically stated otherwise in the assignment definition. You may use your colleagues for advice, however, all assignments must be your original work. Late assignments will be penalized 10% per week. Any assignment not submitted within 2 weeks of the deadline will not be accepted unless you work out special arrangements with me.
I will provide at least two weeks notice for the midterm exam. Every effort should be made to attend the scheduled exams, however, there are times when this may not be possible due to sickness, work or business travel. In the event that you can not attend the midterm or final, please let me know in advance so that I can make arrangements for you to take the test early. If you are unable to provide sufficient notice, then the makeup exam will take the form of an oral exam or a take-home test.