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