CS406 Introduction to Software Engineering -- Spring, 2003

Contents

General Information

Instructor:
Jiang B. Liu, jiangbo@bradley.edu
Professor of Computer Science & Information Systems
Phone: (309)677-2386
Prerequisites:
CS216 Introduction to Programming Languages
or
CS310 Information Structures and Management
Lecture:
9:00-10:15 am, T Th, in BR301
Office Hours:
M,W from 3:00-4:30pm; T, Th from 10:30-11:30am in BR105a.

Course Materials

Required

Topic Schedule

This course will provide the basic concepts and principles in software engineering. The students are expected to learn how to analyze, design and develop the software products by a series of group projects. The prerequisites for the course are CS216 or CS310. Therefore I will expect all of you have basic knowledge in information system analysis and design, and programming experience in high level languages.
 
Week  1-2 
The product and the process
An overview of software engineering 
The impact of software 
The software crisis 
The software development process 
Discussion of group project
Ch.  1 
 

Ch.  2 

Week  3-5 
Managing Software Projects
Project Management 
Process and project metrics 
Project planning 
Risk management 
Project Scheduling 
SQA 
SCM 
Group project presentation 
Ch.  3 
Ch.  4 
Ch.  5 
Ch.  6 
Ch.  7 
Ch.  8 
Ch.  9
Week  6-11 
Conventional Methods for SE
System Engineering 
System Analysis 
System Design 
Software Testing 
Software Metrics 
Group project presentation 
Ch. 10 
Ch. 11-12 
Ch. 13-16 
Ch. 17-18 
Ch. 19
Week  12-13 
Object-Oriented SE
Object-oriented analysis and design  Ch. 20-24
Week  14-15 
Advanced Topics in SE
Formal Methods 
CleanRoom SE 
Component-based SE 
Client/Server SE 
Web Engineering 
Reengineering 
CASE 
Group project presentation 
Ch. 25 
Ch. 26 
Ch. 27 
Ch. 28 
Ch. 29 
Ch. 30 
Ch. 31

CS406                                                            TERM PROJECTS

1. Organization of the project teams

   All students must participate in one project team (a list of suggested term projects are listed below). Each team (3 to 4 students) should
provide the instructor with a contract signed by all team members. The contract must be typed and should minimally cover the following:

- Organizational structure of team.
- Time and place for regular team meetings.
- An agreement to share files, documents, and protocols which are related to the project.
- Specification of grading method, either individual grades or one grade for all team members.
- A contingency plan for loss of members.
- A rough term project schedule

Each team should maintain a log of time spent on term project activities with each entry records the time, place and the nature of the team a
ctivities plus the names of the participated members. This team log is expected to hand in with the rest of the documents at the end of the semester.

2. Team project selection

Design and develop one of the following projects:
a. An organization (such as university, company, and club) web site development using IBM WebSphere web development technologies.
b. An organization (such as university, company, and club) web site development using Microsoft Windows web development technologies.
c. An organization (such as university, company, and club) web site development using Linux web development technologies.
d. An organization (such as university, company, and club) data base development using Oracle DBMS technologies.
e. Any other real world software project upon the agreement between the instructor and the team members.

3. Team project documents

The following documents are required to hand in during the semester:

a. Project Plan.
b. Preliminary User's Manual and Software Requirement Specifications.
c. Architectural Design Specifications and Detailed Design Specifications.
d. Final User's Manual.

Assignments

There will be three project assignments. The projects assignments will involve analyzing real world problems, design software with CASE tools
(Example: Rational Rose), and implement the software with GUI, DATABASE, and WEB DEVELOPMENT tools.
All assignments are group projects.
  • Project Assignment 1: Project Management: Project Plan
  • Project Assignment 2: Analysis: Software Requirement Specifications
  • Project Assignment 3: Design: Design Specifications
  • Final Review: Software Engineering Concepts and Practices

  • All assignments are due at the class on the due day. Later homework will have 20% subtracted from the score for every late day.

    Grading

  • Class Attendance: 15%
  • Assignments: 55%
  • Final Exam: 30%

  • (90-100 A; 80-89 B; 70-79 C; 60-69 D; below 60 F)

    Communication

    This home page, "http://hilltop.bradley.edu/~jiangbo/" will be used to post assignments. You are also encouraged to send me email about your questions related to the course or share information with the class.
    jiangbo@bradley.edu