Software Engineering
2006/07 Catalog description
CS 410
Prerequisite: CS 355. 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 4:30-5:00pm TR 10:30-12:30pm or by appointment
- Class meetings
- MW 6:45 pm - 8:00 pm @ MS 310
Textbook and other reference materials
- Software Engineering, 7th Edition by Sommerville. Addison-Wesley 2005, ISBN 0321210263
- 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 - Lecture: What is software engineering?
Reading: S 1
Week 2: January 29 - February 2
- Lecture: Socio-technical
systems
Reading: S 2 - Lecture: Critical systems
Reading: S 3
Week 3: February 5 - February 9
- Lecture: Software processes
Reading: S 4 - Lecture: Project management
Reading: S 5
Week 4: February 12 - February 16
- Lecture: Software requirements
Reading: S 6 - Lecture: Requirements engineering
processes
Reading: S 7
Week 5: February 19 - February 23
- February 16-19 - President Holiday break (no classes)
- Lecture: none
Reading: none - Lecture: System models
Reading: S 8
Week 6: February 26 - March 2
- Lecture: Critical systems specification
Reading: S 9
Project proposal is due - Lecture: Architectural design
Reading: S 11
Week 7: March 5 - March 9
- Lecture: Midterm 1
Reading: - Lecture: Distributed systems
architecture
Reading: S 12
Week 8: March 12 - March 16
- Lecture: Application architectures
Reading: S 13
Project requirements document is due - Lecture: Object-oriented design
Reading: S 14 - March 16 - Last day to withdraw from full-semester courses without approval
Week 9: March 19 - March 23
- March 19-25: Spring recess (no classes)
Week 10: March 26 - March 30
- Lecture: Rapid software development
Reading: S 17 - Lecture: Software reuse
Reading: S 18
Project architecture design and development plan documents are due
Week 11: April 2 - April 6
- Lecture: Midterm 2
Reading: - Lecture: Component-based software
engineering
Reading: S 19
Week 12: April 9 - April 13
- Lecture: Software evolution
Reading: S 21 - Lecture: Verification and validation
Reading: S 22
Week 13: April 16 - April 20
- Lecture: Software testing
Reading: S 23 - Lecture: Student presentation
Reading:
Week 14: April 23 - April 27
- Lecture: Student presentation
Reading: - Lecture: Student presentation
Reading:
Week 15: April 30 - May 4
- Lecture: Student presentation
Reading:
Final iteration report document is due - Lecture: Student presentation
Reading:
Week 16: May 7 - May 9
- Lecture: Project
demonstration
Reading:
Project deployment document is due - Lecture: Project
demonstration
Reading:
Finals: May 14 - May 19
- May 14: Final exam @ 8:30 pm - 10:30 pm
Midterms
Midterms are non-cumulative and are designed as elementary 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 |