CSCI 250
Software Engineering

Fall Semester 2006


Welcome to CSCI 250. For this course, we will centralize the distribution of information on this course web page. This page can be found on the Clark web server at http://cs.clarku.edu/~jbreecher/public/software_engineering/Software_Engineering.html


* Basic Information
* Course Description
* Textbook
* Lectures
* Your Evaluation
* Weekly Events
* The Projects

Basic Information

Professor: Professor Jerry Breecher, jbreecher at clarku dot edu

BP 343, (508)793-7396
Meeting Time: Lecture: Monday, Thursday 1:25 p.m. - 2:40 p.m.

Lab: Wednesday, 8:30 - 9:50
Office Hours: Monday, Thursday 9:00 - 11:00

By appointment; 24 hour response by email

Course Description

This is what the catalog says:

250 Software Engineering / Seminar

Students consider the life cycle of large software projects, beginning with the elicitation and definition of users' requirements, and continuing through software design, documentation, coding, testing, and maintenance. Topics include: modularity, coupling, cohesion, transformational and transactional structures, and testing strategies. Working in teams, students gain practical experience developing software to solve concrete problems. Prerequisites: CSci 160 and CSci 170. Staff / Offered periodically

Textbook

REQUIRED

Schach, Steven R., Object-Oriented & Classical Software Engineering, Seventh Edition 2007, McGraw Hill ISBN 0073191264.

If you can find the previoius Sixth Edition, that will work fine also.

Bennett, Skelton, Lunn, UML - Schaum's Outlines, 2nd Edition, McGraw-Hill, 2004 ISBN 0077107411

LOOKS GOOD!
Pooley Rob, Wilcox, Applying UML, Elsevier, 2004, ISBN 0 7506 56832

Lectures

In the Table below are pointers to the notes for the course. The formats available can be read by Microsoft Powerpoint (.ppt), or read by Apache (.pdf). Lectures generally will be from these notes. Feel free to print them out and use them during class to avoid extensive notetaking. You can simply annotate these notes rather than writing everything. But warning, don't be lulled into a false sense of security. What's talked about in the class will be in MUCH MORE DETAIL than is present on these slides. In the past students have been tempted into thinking they know what happens in class because of these notes - they were surprised!!

An added advantage of written out notes is that you know what to read in the text. In general, I follow the book fairly closely so you should have no trouble figuring out where to find material to amplify these course notes.

The following Notes are arranged in book order, not necessarily in the order we'll lecture on them.

Chapter Title PowerPoint Adobe Acrobat 2X to page
The Scope of Software Engineering
Chapter01-Scope.ppt Chapter01-Scope.pdf
Software Life-Cycle Models
Chapter02-Life-Cycle.ppt
Chapter02-Life-Cycle.pdf
The Software Process
Chapter03-Software-Process.ppt Chapter03-Software-Process.pdf
Teams Chapter04-Teams.ppt Chapter04-Teams.pdf
The Tools of the Trade
Chapter05-Tools.ppt Chapter05-Tools.pdf
Testing Chapter06-Testing.ppt Chapter06-Testing.pdf
Inspections Chapter06-Inspections.ppt Chapter06-Inspections.pdf
From Modules To Objects
Chapter07-Modules.ppt Chapter07-Modules.pdf
Reusability and Portability
Chapter08-Reuse.ppt Chapter08-Reuse.pdf
Planning and Estimating


Requirements Chapter10-Requirements.ppt Chapter10-Requirements.pdf
Classical Analysis
Chapter11-Classical_Analysis.ppt Chapter11-Classical_Analysis.pdf
Object-Oriented Analysis
Chapter12-OO-Analysis.ppt Chapter12-OO-Analysis.pdf
Design Chapter13-Design.ppt Chapter13-Design.pdf
TestPlans Chapter13-TestPlan.ppt Chapter13-TestPlan.pdf
Implementation Chapter14-Implementation.ppt Chapter14-Implementation.pdf
Maintenance Chapter15-Maintenance.ppt
UML Chapter16-UML.ppt Chapter16-UML.pdf






LABS: This is a chance for you to practice what will be done in the projects. Attendance is expected in these labs, but the main purpose is that you will see what is to happen in the projects. Small demonstrations will happen every week for your amusement and edification.

PROJECTS: These are programming assignments that you are expected to turn in. There's a schedule for these that's given later in this syllabus.

Your Evaluation

Your evaluation in this course is determined by:

15% Projects - Requirements
15% Projects - Functional Analysis
15% Projects - Design
15% Projects - Implementation

40% 5 Mini-Exams - The lowest of the 5 Mini-Exams will be dropped.


Weekly Events

Here's how the material and deliverables break down for the semester.

Date

Topic

Project Events

Aug 28

Chapter 1: The Scope of Software Engineering

Aug 31

Chapter 2: Software Life-Cyle Methods

Pick Teams

Sep 04

Labor Day

Sep 07

Chapter 3: The Software Process


Sep 11

Chapter 3:

Requirements

Sep 14

Chapter 10: Requirements MINIEXAM on Chapters 1, 2, 3


Sep 18

Chapter 10:


Sep 21

Chapter 16: UML - Also see Schaum's Outline


Sep 25

Chapter 16:


Sep 28

Chapter 4: Teams MINIEXAM on Chapters 10, 16

Analysis

Oct 02

Chapter 11: Classical Analysis


Oct 05

Chapter 11:


Oct 09

FALL BREAK


Oct 12

Chapter 12: Object-Oriented Analysis


Oct 16

Chapter 12::


Oct 19

Chapter 12:

Oct 23

Chapter 13: Design MINIEXAM on Chapters 4, 11, 12


Oct 26

Chapter 7: From Modules To Objects Design

Oct 30

Chapter 13:


Nov 02

Chapter 13:


Nov 06

Chapter 14: Implementation: MINIEXAM on Chapters 7, 13


Nov 09

Chapter 14:

Implementation

Nov 13

Chapter 14:


Nov 16

Chapter 8: Reuse


Nov 20

Chapter 8:


Nov 23

Thanksgiving


Nov 27

Chapter 5:The Tools of the Trade


Nov 30

Chapter 5:


Dec 04



Dec 07



Dec 11

MINIEXAM on Chapters 14, 8, 5


May 08

No Final Exam


The Projects

The Project is obviously a major portion of this course. It's described in four separate documents:

1. The Project Description - gives the content of the project. This describes what it is you'll build.

2. The Project Mechanics - this talks about how you will work as groups to get this thing built.

3. What are the products in each phase? .ppt .pdf

4. What are the products in each workflow? .ppt .pdf

These are other documents for use in our Software Process:

Form for use in Software Product Inspection: .html .txt

Form for use in Software Product Verification: .html .txt

Form for use in Team Member Evaluation: