Picture4        CSC 450 - Course Outline (Devon M. Simmonds, Instructor)

 

Course Objectives: At the end of this course students will be able to:

§  Define Software Engineering and explain basic software engineering principles.      

§  Describe the software development process and software qualities.

§  Understand basic software project management.

§  Perform analysis, design and implement a software project.

§  Explain the fundamentals of software testing and apply testing techniques to a given software project.

 

Course Outline

 

1.        Introduction to Software Engineering

1.1.            Course overview

1.2.            The software crisis

1.3.            Software engineering defined

1.4.            Types of software systems

1.5.            Software characteristics

1.6.            Software engineering process & paradigms

1.7.            Software engineering principles

1.8.            Use of models in software engineering

 

2.        Software Project Management

2.1.            Introduction to software project management

2.2.            Scoping

2.3.            Estimation

2.4.            Scheduling

2.5.            Feasibility studies

 

3.        Requirements Analysis

3.1.            Introduction

3.2.            Activity diagrams

3.3.            Use case modeling

3.4.            Requirements class modeling

 

4.        Software Design

4.1.            Introduction

4.1.1.                  Quality, cost, evolution

4.1.2.                  Basic design principles

4.1.3.                  Design documentation

4.2.            Diagram Types

4.2.1.                  Design class diagrams

4.2.2.                  Package diagrams

4.2.3.                  Sequence diagrams

4.3.            Architectural design

4.4.            User interface design

4.5.            Procedural design

 

5.        Implementation

5.1.            Introduction

5.2.            programming principles

5.3.            Coding standards and styles

5.4.            Documentation

 

6.        Testing

6.1.            Introduction

6.2.            Principles and goals

6.3.            Techniques and strategies

 

7.        Ethics in software engineering

 

Instructional Approaches

  1. Lectures
  2. Notes
  3. Question & Answer
  4. Problem Solving
  5. Case Studies
  6. Group Activities