Computer Science 325.001

Software Engineering

Spring 2016

TR 9:30-10:45 AM

EB 2170

Instructor

Bill White

EB 3180

(618)650-3483

wwhite@siue.edu

Office Hours

MW 10:30 AM - 2:00 PM,

TR 11:30 AM - 3:00 PM,

and by appointment!

 

 

 

Course Description

Introduction to the concepts and techniques required to develop complex software systems and manage software projects. Emphasis on object-oriented methodologies and modeling via UML.

Prerequisites

CS 234 and CS 240

Course Objectives

To study the overall process of modern software development, from modeling, planning, and design, through implementation, testing, and documentation.

Textbooks

 

Object-Oriented Software Engineering by David C. Kung

Learning UML 2.0

by Russ Miles & Kim Hamilton

 

 

 

Late Policy

Late assignments will not be accepted unless verifiable documentation of a legitimate reason for their lateness is provided to the instructor. Legitimate reasons are limited to documented medical problems. Arrangements for late (or early) exams must be made in writing with the instructor.

Attendance

Attendance is expected and strongly encouraged, as is class participation. The material covered during lectures and class discussions shall form the basis for the exams and assignments. Attendance is required at all team presentations at the end of the semester.

Academic Misconduct

Collaboration is encouraged on the homework assignments, but you must cite any student, instructor, tutor, or resource that assists you. In any case, you are expected to write your own responses (i.e., no direct quotes or paraphrasing) in order to demonstrate your understanding of the concepts being explored.

Teamwork

Half of the overall grade in this course is based on team assignments. Each team member is expected to do a fair share of each assignment, with all planning, implementation, and documentation responsibilities shared in an equitable manner. The specific contributions of each team member must be documented for each team assignment. Repeated inadequate participation in teamwork will result in the team member's ejection from the team and the forfeiture of all team project points for that team member.

In-Class Civility

* Eating any food or drinking any beverage in any SIUE classroom is prohibited at any time - before, during, and after class.

* Also, please refrain from:

- Using cell-phones, tablets, or laptop computers in class.

- Prolonged chattering with classmates in class.

- Sleeping in class.

 

Assignments

 

Grading Scale

Quizzes/Homework Assignments

Each quiz and homework assignment will probe into the topics discussed in lecture and the textbooks. For homework, your solutions must be word-processed (in MS Word, unless otherwise specified), grammatically correct, and submitted on your Moodle dropbox by the designated deadline. You may collaborate with others to develop responses, but you must cite who assists you, and your responses must be in your own words.

100

 

900-1000

A

One 100-Point Team Project

On this two-phase software development assignment, you will be assigned a team of classmates with which to work, with only the instructor and your team seeing your work.

100

 

800-899

B

One 450-Point Team Project

This final multi-phase software development project will include a team presentation during the last few class periods before finals.

450

 

700-799

C

Three Exams

Two non-comprehensive 100-point midterm exams and a comprehensive 150-point final exam are closed-book and closed-notes, consisting primarily of essay questions, with some multiple-choice, identification, and short-answer items.

350

 

600-699

D

Total Points for Course

1000

 

0-599

F

 

Computer Science 325.001 Tentative Syllabus

Tuesdays

Thursdays

1/10

Introduction

(Kung, Chapter 1)

1/12

Software Process & Methodology

(Kung, Chapter 2)

 

1/17

System Engineering

(Kung, Chapter 3)

1/19

Software Requirements Elicitation

(Kung, Chapter 4)

Team Project 1 - Phase 1

(Use Case Diagrams & Team Responsibilities)

1/24

Domain Modeling

(Kung, Chapter 5)

1/26

Architectural Design

(Kung, Chapter 6)

1/31

Deriving Use Cases from Requirements

(Kung, Chapter 7)

2/2

Actor-System Interaction Modeling

(Kung, Chapter 8)

Team Project 1 - Phase 2

(Implementation &

Post-Mortem)

2/7

Object Interaction Modeling

(Kung, Chapter 9)

2/9

Applying Responsibility-Assignment Patterns

(Kung, Chapter 10)

 

2/14

Deriving a Design Class Diagrams

(Kung, Chapter 11)

2/16

User Interface Design

(Kung, Chapter 12)

Team Project 2 - Phase 1

(Requirements

Analysis)

2/21

EXAM 1

(Kung, Chapters 1-12)

2/23

Object-State Modeling for Event-Driven Systems

(Kung, Chapter 13)

2/28

Activity Modeling for Transformational Systems

(Kung, Chapter 14)

3/2

Modeling and Design of Rule-Based Systems

(Kung, Chapter 15)

Team Project 2 - Phase 2

(Interaction &

Behavioral Modeling)

3/7

SPRING BREAK

3/9

SPRING BREAK

3/14

Patterns to Design a State Diagram Editor

(Kung, Chapter 16)

3/16

Patterns to Design a Persistence Framework

(Kung, Chapter 17)

 

3/21

Implementation Considerations

(Kung, Chapter 18)

3/23

Software Quality Assurance

(Kung, Chapter 19)

Team Project 2 - Phase 3

(Implementation &

Unit Testing)

Code Review Form

3/28

Software Testing

(Kung, Chapter 20)

3/30

Software Maintenance

(Kung, Chapter 21)

4/4

Software Configuration Management

(Kung, Chapter 22)

4/6

Software Project Management

(Kung, Chapter 23)

Team Project 2 - Phase 4

(Integration &

System Testing)

4/11

Software Security

(Kung, Chapter 24)

4/13

EXAM 2

(Kung, Chapters 13-24)

Team Project 2 - Phase 5

(Presentation &

Post-Mortem)

4/18

Team Presentations

4/20

Team Presentations

4/25

Team Presentations

4/27

Team Presentations

 

Tuesday, 5/2 (8:00-9:40 AM)

COMPREHENSIVE FINAL EXAM