Acasa
 

Software Engineering

Overview

Code: CS4101 Semester: 5 Credits: 6 Type: Compulsory

Lecturer

  • Ovidiu Gheorghies

Hours per week

  • Course - 2
  • Laboratory - 2

Student evaluation

  • written assignments, laboratory problems, whole-semester projects
  • written exam

Objectives

Build a professional attitude towards developing software. Students learn techniques which enable them to develop quality software artifacts, observing the customer's demands for functionality, costs and deadline.

Contents

  • Software process models: waterfall, prototyping, formal methods, spiral, RUP, XP.
  • Requirements engineering
  • Modeling and modeling languages. UML: use case, activity, class, sequence, collaboration, state.
  • Design patterns: iterator, singleton, composite, decorator, observer, visitor, template method etc.
  • Quality assurance. Functional testing. Structural testing
  • Software metrics
  • Project administration: cost estimate, team management etc.
  • Ethics.

Previous courses

Compulsory: Programming I, II
Recommended: Operating Systems I, II. Programming III. Databases II. Computer Networks. User Interface Design

References

Ian Sommerville: Software Engineering, Addison Wesley, 2001
Douglas Bell: Software Engineering, A Programming Approach, Addison Wesley, 2000
Craig Larman: Applying UML and Patterns, Addison Wesley, 2002
Erich Gamma, Richard Helm, Ralph Johnson, John Vissides: Design Patterns, Elements of Reusable Object-Oriented Software, Addison Wesley, 1998