CENG 316

Software Engineering

Software engineering, role of software engineers; evaluation of software and principles thereof, software lifecycle models; notions of requirements, specification, design implementation; main techniques; importance of maintenance; quality concerns at all stages of the software development process; important benefits of and good practice in software re-use; verification and validation; the use of metrics; structure of teams; human computer interface as a software engineering activity.

Introduction to Software Engineering, Process View
Process Models, Agile Process Model
Software Engineering Practice, Systems Engineering
Requirements Engineering, Analysis Model
The Object-oriented Approach
Design Model, Design Architecture
Testing Strategies and Techniques
Computer Aided Software Development Tools
Product Metrics
Project Management, Metrics Measurement
Software Quality Management
Formal Methods
Project Technical Review Meetings
Project Presentations and Demonstrations