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.
Learning Outcomes:
- To be able to identify requirements for a given project topic.
- To be able to find difference between functional and non-functional requirements in a project.
- To be able to make software design with an object-oriented approach.
- To be able to write project definition.
- To be able to use and apply software process model.
Topics |
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 |