Comp566 Software Design and Development Syllabus

Wentworth Institute of Technology
Computer Science and Systems Department
Spring 2008
Instructor: Department Office:
Michael Werner, Ph.D. DOBBS 006
DOBBS 006 617-989-4272
617-989-4143  
wernerm@wit.edu   http://ProfessorWerner.com
Office Hours:
Monday and Thursday  from 2:00 to 2:50
Tuesday and Wednesday from 10:00 to 10:50
Also by appointment
Please select the area of your interest:
Course Description Required Text
Course Goals/Learning Objectives Suggested Readings
Credit Hours Assignments/Submitted Work/Late Work Projects
Meeting Times Attendance Policy
Pre-requisite/Co-requisite

Grading and Student Evaluation System

Topics

Course Description

This course presents a formal approach to state-of-the-art techniques in software design and development.  Students work in teams on a large software project.

Course Goals and Learning Objectives
After taking this course the student should be able to: 

1.       Prepare a Requirements Specification Document according to IEEE standards. 

2.       Use Computer Aided Software Engineering (CASE) tools to prepare a systems analysis of the existing system. 

3.       Prepare alternative designs for the replacement system, using both a process-oriented and an object-oriented approach. Document the designs using CASE tools. 

4.       Prepare detailed designs for files, data entry screens and other user interfaces, and algorithm designs for processes. Document using CASE tools. 

5.       Prepare a formal detailed testing plan. 

6.       Carry out project management activities including scheduling, coordinating team efforts, version control for documentation and code.  Use Project Management software. 

7.       Prepare User and System Manuals. 

8.       Implement the design by producing robust, efficient and maintainable code. Carry out the test plan, correcting any errors detected. 

9.       Give formal oral presentations of the designs, responding to questions as needed.  Give a final product demonstration.   

The course goals contribute to the success of the following student learning outcomes:

 

ABET Attribute

Level

a

An ability to apply knowledge of computing and mathematics appropriate to the discipline.

 

b

An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.

C

c

An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs.

C

d

An ability to function effectively on teams to accomplish a common goal.

C

e

An understanding of professional, ethical, legal, security and social issues and responsibilities.

 

f

An ability to communicate effectively with a wide range of audiences.

U

g

An ability to analyze the local and global impact of computing on individuals, organizations, and society.

 

h

Recognition of the need for, and an ability to engage in, continuing professional development.

 

i

An ability to use current techniques, skills, and tools necessary for computing practice.

C

j [CS]

An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;

 

k [CS]

An ability to apply design and development principles in the construction of software systems of varying complexity.

C

j [IT] An ability to use and apply current technical concepts and practices in the core information technologies.  
k [IT] An ability to identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems. C
l [IT] An ability to effectively integrate IT-based solutions into the user environment.  
m [IT] An understanding of best practices and standards and their applic  
n [IT] An ability to assist in the creation of an effective project plan. U
j [IS] An understanding of processes that support the delivery and management of information systems within a specific application environment.  

 A = Awareness     U = Understanding C = Competency

Credit Hours  4
Meeting Times
Section 1

Class Type

Day From To Location

Lecture

Tuesday

1:00 PM 1:50 PM Wentworth 310

Lecture

Wednesday 9:00 AM 9:50 AM Wentworth 312

Lecture

Thursday 1:00 PM 1:50 PM Wentworth 310
Lab Wednesday 1:00 PM 2:50 PM Rubenstein 201
 
 
Pre-requisite/Co-requisite

COMP310 Object-Oriented Data Structures, Comp355 Data Base Management Systems and Comm200 Technical Writing.


Students must have successfully completed the prerequisite(s) in order to take this course and receive an acceptable grade. Grades of "IC", "W", and "F" do not satisfy prerequisites nor does taking the prerequisites concurrent with the course. Prerequisites or written permission of the instructor will be withdrawn from the course.
Required Text
Object-Oriented Software Engineering: Using UML, Patterns and Java, 2/E, by Dr. Bernd Bruegge, Allen Dutoit, second edition, Prentice Hall 2004. 

textbook web site: http://wwwbruegge.in.tum.de/OOSE/WebHome

Suggested Readings

 

Attendance Policy
Regular attendance at every class is expected, and anyone who fails to meet this requirement may be requested to withdraw from Wentworth. In addition students with poor attendance may be withdrawn from the class with a grade of "WA". The attendance policies are more fully explained in the Wentworth Catalogue. You are responsible for all material given in class as well as in assigned readings.
Assignments/Submitted Work/Late Work
There will be an assigned paper and perhaps one or two other small assignments.
 The main assignment is to complete a group project.  Click here to see the Project Guidelines.
Grading and Student Evaluation System

Grades will be determined approximately as follows:

Team Project 30%
Oral Presentations 5%
Assigned Paper 5%
Quiz Grades 35%
Final Exam 25%
Topics

(Specific sections of chapters will be assigned later)

 

Topic

Readings

Hours

1

Introduction to Software Engineering

No Silver Bullet, Chapter 1

3

2   Project Organization and Management  Chapters 3, 14 3

3

UML Modeling

Chapter 2

3

4

Requirements Phase

Chapter 4

3

5

System Analysis

Chapter 5

3

6

System Design - Architecture

Chapter 6

3

7

System Design – Addressing Design Goals

Chapter 7

3

8

Object Design – Design Patterns

Chapter 8, Appendix A

3

9

Object Design – Interfaces

Chapter 9

3

10

Mapping Models to Code

Chapter 10

3

11

Implementation and Testing

Chapter 11

3

12

The Software Life Cycle

Chapter 15

3

13

Review (time permitting)

 

2