CS 4310 SOFTWARE ENGINEERING (4) 2005

Catalog Description:

Concepts and issues in the development of large software projects. Systematic approaches to specifications, design, implementation, testing, and maintenance of high-quality software. Prerequisite: CS 3240

Course description:

Life cycle:

specification, analysis, design, implementation, test

Specification:

narrative, inputs/outputs

Analysis:

  • modeling, protoyping, user's manual
  • structured analysis: data flow diagrams
  • object-oriented analysis: inheritance, assembly

Design:

Preliminary:

  • data design
  • architectural design: modular structure, control hierarchy
  • structured design: transfor/transaction analysis
  • object-oriented design: objects and classes
  • user interface

Detailed:

  • data structure design: information hiding
  • procedural design: pseudocode

Cohesion and coupling

Test:

  • unit, integration, validation
  • white box versus black box
  • test plans, test harnesses, and test stubs

Case studies

Team designing/programming

Suggested texts:

  • Pressman: Software Engineering: A Practitioner's Approach
  • Sommerville, Software Engineering
  • Larman, Applying UML and Patterns, Prentice Hall