Software Engineering
2007/08 Catalog description
CS 410
Prerequisite: CS 253. An examination of the software development process from the initial requirement analysis to the operation and maintenance of the final system. The scope of the course includes the organization of software development projects, the verification and validation of systems, the problems of security and privacy, and the legal aspects of software development, including software protection and software liability.
CS 530
Prerequisites: CS 501, 502. Study of the software lifecycle including requirements analysis, specification, design, coding, testing, and maintenance. Includes proofs of correctness and techniques of formal specification.
Logistics
- Instructor
- Dr. Stan Kurkovsky, Associate Professor of Computer Science
- Office
- MS 303-08
- Phone
- (860) 832-2720
- Fax
- (860) 832-2712
- kurkovskysta@ccsu.edu
- Office hours
- MW 5:15 pm - 6:45 pm, T 1:00 pm - 3:00 pm or by appointment
- Class meetings
- MW 6:45 pm - 8:00 pm @ MS 101
Textbook and other reference materials
- Software Engineering, 7th Edition by Sommerville. Addison-Wesley 2005, ISBN 0321210263, or
- Software Engineering, 8th Edition by Sommerville. Addison-Wesley 2006, ISBN 0321313798
- In-class handouts
- Companion web site available at http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7
- Instructor's web site available at http://www.cs.ccsu.edu/~stan/ and other web sites recommended by the instructor
- Course project document
Course objectives
Upon a successful completion of this course the students should be able to:
- Have an understanding of the software development process;
- Be able to apply object-oriented design methods in software development projects;
- Have experience participating in an iterative software project;
- Be able to use basic UML diagrams for analysis, design and documentation of software development projects;
- Understand and implement good software development practices.
Tentative schedule
Reference: S - Sommerville, Software Engineering, 7th edition
Week 1: January 22 - January 25
- Lecture: Introduction; course overview and objectives.
Reading: none
Week 2: January 28 - February 1
- Lecture: What is software engineering?
Reading: S 1 - Lecture: What is software engineering?
(continued)
Reading: S 1
Week 3: February 4 - February 8
- Lecture:
Socio-technical systems
Reading: S 2 - Lecture: Critical
systems
Reading: S 3
Week 4: February 11 - February 15
- Lecture: Software processes
Reading: S 4 - Lecture: Project management
Reading: S 5
Week 5: February 18 - February 22
- February 15-18 - President Holiday break (no classes)
- Lecture: Software requirements
Reading: S 6
Project proposal is due
Week 6: February 25 - February 29
- Lecture: Requirements engineering
processes
Reading: S 7 - Lecture: System models
Reading: S 8
Week 7: March 3 - March 7
- Lecture: Critical systems specification
Reading: S 9
Project requirements document is due - Lecture: Architectural design
Reading: S 11
Week 8: March 10 - March 14
- Midterm 1
- Lecture: Distributed systems
architecture
Reading: S 12
Week 9: March 17 - March 21
- March 17-22: Spring recess (no classes)
Week 10: March 24 - March 28
- Lecture: Application architectures
Reading: S 13 - Lecture: Object-oriented design
Reading: S 14
Project architecture design and development plan documents are due - March 25 - Last day to withdraw from full-semester courses without approval
Week 11: March 31 - April 4
- Lecture: Rapid software development
Reading: S 17 - Lecture: Software reuse
Reading: S 18
Week 12: April 7 - April 11
- Lecture: Midterm 2
Reading: - Lecture: Component-based software
engineering
Reading: S 19
Week 13: April 14 - April 18
- Lecture: Software evolution
Reading: S 21 - Lecture: Verification and validation
Reading: S 22
Week 14: April 21 - April 25
- Lecture: Software testing
Reading: S 23 - Student presentations
Week 15: April 28 - May 2
- Student presentations
Final iteration report document is due - Student presentations
Week 16: May 5 - May 7
Week of finals: May 12 - May 17
- Final exam: TBA
Midterms
Midterms are non-cumulative and are designed as elemental evaluation devices and to prompt the student to stay abreast of assigned topics. Each test will take 50 minutes. Make-up tests may only be given if a student can provide a written proof of a serious reason for missing a test (such as illness or accident).
Questions on a test may include:
- True/false questions,
- Multiple choice questions,
- Fill in the blank questions,
- Short answer questions.
Final exam
Final exam is a cumulative objective test of representative content of the entire semester's course offerings.
Course project
While working on the course project, students will use the knowledge and skills obtained in this course covering many if not all of the course topics. Working in teams, students will design, implement and document a software system.
Course project is described in detail in this document.
Student presentations
Graduate students will be required to make an in-class presentation on a topic of their choice. All topics must be approved by the instructor.
Honesty policy
It is expected that all students will conduct themselves in an honest manner (see the CCSU Student Handbook), and never turn in any work which is not their own. Violating this policy will result in a substantial grade penalty, and could result in expulsion from the University. However, students are allowed to discuss assignments with others and receive debugging help from others.
Attendance
All students are expected to attend class sessions regularly. However, recognizing individual differences, each student is responsible for his/her own attendance and for making-up any missed study or work. Limited assistance will be offered to those with plausible reasons for absences; unexcused absences will result in the student being totally responsible for the make-up process.
Help with computers
The University offers some student assistants who may be of value in helping students with basic computer functionality only, not with program writing.
Students with disabilities
Any student who feels s/he may need an accommodation based on the impact of a disability should contact me privately to discuss your specific needs. I will need a copy of the accommodation letter from Student Disability Services in order to arrange your class accommodations. Contact Student Disability Services, Room 241, Copernicus Hall, if you are not already registered with them. Student Disability Services maintains the confidential documentation of your disability and assists you in coordinating reasonable accommodations with your faculty.
Grades and evaluation
Students will be evaluated regularly during the semester and should be aware of their progress continuously during the semester. The final course grade will be reported according to the stated University policy.
CS 410
The final course grade will be calculated according to the following distribution of points:
| Midterm 1 | 20 |
| Midterm 2 | 20 |
| Project | 30 |
| Class participation | 5 |
| Final exam | 25 |
| Total | 100 |
CS 530
The final course grade will be calculated according to the following distribution of points:
| Midterm 1 | 15 |
| Midterm 2 | 15 |
| Project | 30 |
| Student presentation | 10 |
| Class participation | 5 |
| Final exam | 25 |
| Total | 100 |
Course letter grade will be determined as follows:
| A | A- | B+ | B | B- | C+ | C | C- | D+ | D | D- | F |
| 95-100 | 90-94 | 87-89 | 84-86 | 80-83 | 77-79 | 74-76 | 70-73 | 67-69 | 64-66 | 60-63 | 0-59 |