CS608A - Software Engineering

Fall Term: September 8 – December 15, 2005

 

Instructor: Dr. Vladimir V. Riabov, Associate Professor of Computer Science, Division of Sciences

Office: STH-312; Phone: (603) 897-8613; E-mail: vriabov@rivier.edu

Web : http://www.rivier.edu/faculty/vriabov/index.htm

 

COURSE DESCRIPTION:

 

This course covers techniques and methodology of commercial software engineering practices. The system software life cycle processes used in industry today and methods of graphically representing software, data and control will be learned. Prerequisites: CS250 Data Abstraction.

 

COURSE OBJECTIVES:

 

Students will be introduced to the software engineering design process. Topics covered include the software life cycle, software quality, requirements analysis, architectural design, data design, detailed design methods, software project management, and miscellaneous topics.

 

COURSE REQUIREMENTS:

 

Students will participate as members of one of several teams on a software project. There will be design and code reviews and a student project leader will assure timely delivery of the results before the end of the term. The software is expected to be integrated and run without error on a computer in the Rivier College Computer Lab. Each person will have a specific “role” on the team and will receive a grade for efforts as an individual team member as a team grade.

 

COURSE TEXTBOOK:

 

·         Roger S. Pressman: Software Engineering: A Practitioner's Approach, 6th Edition; McGraw-Hill, 2005 (Resources: http://www.mhhe.com/pressman/).

 

RECOMMENDED BOOKS:

 

·         Ian Sommerville: Software Engineering, 7th Edition; Addison-Wesley, Reading, MA, (2004). Slides can be downloaded from URL: http://www.comp.lancs.ac.uk/computing/resources/SE6/Slides/index.html. Software Engineering Resources: http://www.comp.lancs.ac.uk/computing/resources/ser/SE.links.html.

·         (OOD) Dennis, Wixom, and Tegarden, System Analysis & Design: An Object-Oriented Approach with UML, John Wiley & Sons, Inc., 2002 or 2005 (Resources: http://www.wiley.com/college/dennis/).

·         (SAD) Shelly, Cashman, and Rosenblatt, System Analysis & Design, 5th edition, Course Technology, 2003 (Resources: http://www.course.com/catalog/downloads.cfm?isbn=0-7895-6649-4);

·         (OOS) Stephen R. Schach, An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process, McGraw-Hill, 2004 (Resources: http://www.mhhe.com/schach/).

 

COURSE PREREQUISITES:    Preliminary Core Courses (C/C++ or Java and Data Structures)

 

EXAMINATIONS and GRADING:

        Weekly Homework Assignments                      60%

        Participation in Team Software Project             30%

        Quizzes                                                                  10%

        Presentations, Active Participation                  up to 5 Points extra credit

 

CLASSROOM POLICIES:

 

Any late assignments will receive a 10% grade discount. Assignments must be completed on time. Only those situations involving instructor’s permission will be exempt from this policy. Instructor must know in advance of class that a student will not be present or an assignment will be late.

 

ATTENDANCE:

 

Active participation requires attendance and arrival to class in time to be prepared for work when the class period begins. You are expected to attend all classes. Much of the learning will take place in classroom activities that cannot be duplicated easily outside of class. If you miss class, you are responsible for doing all classroom activities you missed, getting the notes from a classmate, and turning in all work on the day it is due. If you miss more than two classes, your absences will be reported to the registrar and you must meet with the professor to discuss the advisability of your remaining in the course for the remainder of the semester. Students who miss three classes may be withdrawn from the course and receive disciplinary action from the college (see Rivier College attendance policy). If you anticipate that job-related duties or prior commitments will cause several absences, please discuss the matter with the instructor outside of class.

 

HONESTY POLICY:

 

All work turned in on tests and quizzes must be entirely your own. Behavior contrary to this will result in a grade of F on the test. Serious infractions may result in an F for the course. Similarly, the paper you write for your project must not be plagiarized. See library discussion on plagiarism.  Regarding homework, the instructor will not give you credit for any work that is copied from another source (from a classmate, instructor, a text, the answer key, web assistance, tutor, etc.). Take notes while getting help, but put aside the notes as you attempt to do the problems on your own.

 

AMERICANS WITH DISABILITIES ACT (ADA):

 

Rivier College wants to provide reasonable accommodations to students with disabilities. To accomplish this goal effectively and to ensure the best use of our resources, timely notice of a disability must be provided to the Office of Special Services for verification and for evaluation of available options. Any student whose disabilities fall within ADA should inform the instructor within the first two weeks of the term of any special needs or equipment necessary to accomplish the requirements for the course. To obtain current information on this procedure, contact the Office of Special Services at telephone extension 8497.

 

COMPUTER LABORATORY:

 

Students will be required to use computers in the Computer Lab for coding and testing the software. Since this is a team project all software must be available in a single place. The Lab equipment can be used between 9 a.m. and 10 p.m. If you have any problems with the equipment, contact Sister Martha’s office in the Computer Lab.

 

COMPUTER LANGUAGES & TOOLS:

 

UML, Java or C/C++ may be used. The ArgoUML tool is available in EDU-305 and STH-135 classrooms (or free on the Internet) and may be used for the team project development. The Project Team Leader will be responsible for assuring designers create “compatible” modules and properly link the modules.

 

INSTRUCTOR AVAILABILITY:

 

I will be available before and after class, during the office hours at my office (STH-312) and via telephone: (603) 897-8613 or E-mail: vriabov@rivier.edu (E-mail is a preferable form for communication).

 

CLASS SCHEDULE: (Thursdays, 7:45 PM – 9:45 PM)

 

Week

Date

Subject

Output from Class

Text Reading

01

Sept. 8

Software & Software Engineering; Process Framework; CMMI

Form Project Teams

Chs. 1, 2

02

Sept. 15

Software Development Life Cycle, Process Models; Project Mgmt.

Team Project TOPIC Due

Chs. 3, 21

03

Sept. 22

System Engineering; Requirements, Specs.

Homework #1 Due

Chs.  6, 7

04

Sept. 29

Analysis Modeling

ArgoUML Tool; Quiz #1;

Functional Spec Due

Ch.  8; Notes; ArgoUML Manual

05

Oct. 6

Design Engineering & Architectural Design

Homework #2 due;

Functional Spec FROZEN

Chs. 9, 10

06

Oct. 13

Component-Level Design

Quiz #2

Ch. 11

07

Oct. 20

User Interface Design

Homework #3 due

Ch. 12

08

Oct. 27

Software Testing Strategies

Design Spec due; Quiz #3

Ch. 13; Notes

09

Nov. 3

Software Testing Techniques

Homework #4 due

Ch. 14; Notes

10

Nov. 10

Software Metrics & Quality

Design Rev Report due;

Quiz # 4 (optional)

Ch. 15; Notes

11

Nov. 17

Software Cost Estimating; Process & Project Metrics

Homework #5 due;

Revised Design Spec FROZEN

Chs. 22, 23

12

Nov. 24

NO CLASSES

NO CLASSES

NO CLASSES

13

Dec. 1

Risk & Quality Management; Software Change & Evolution

Homework #6 due

Chs. 25, 26

14

Dec. 8

Re-Engineering; Configuration Management

Project Status due (for Project Managers only)

Ch. 31; Notes

15

Dec. 15

Team Presentations

Software & Documents due; Software Accepted/Rejected