EECS 4314-Advanced Software Engineering

CALENDAR DESCRIPTION

This course goes into more detail about some of the software engineering techniques and principles presented in earlier courses, as well as introduces advanced aspects of software engineering that are not addressed elsewhere:

  • Software process and its various models and standards (CMMI, ISO 9001).
  • Software architecture, i.e. the structure of data and program components that are required to build a software system. Examples include distributed and component-based architectures.
  • Model Driven Engineering and the use of software description languages.
  • Software metrics, such as metrics for software quality, software design metrics, as well as testing and maintenance metrics.
  • Project management concepts on coordinating people and products.
  • Cost estimation and project scheduling for large software systems.
  • Risk management and mitigation.
  • Software configuration management (software evolution, change management, version and release management).
  • Emerging technologies, such as security engineering, service-oriented software engineering, and aspect-oriented software development.
LEARNING OUTCOMES
  • Derive models of software systems and express them in a language such as UML.
  • Understand the differences between different types of software architecture
  • Derive cost estimation tables delineating the tasks to be performed, and the cost, effort, and time involved for each task.
  • Identify risks associated with a given software project, and develop plans to mitigate and manage these risks.
  • Manage software projects by identifying the sequence of tasks that will enable the project to complete in time, assigning responsibility for each task, and adapting the schedule as various risks become reality
TOPICS
  • Software processes and DevOps
  • Software architecture
  • Software design and patterns
  • Software project scheduling
  • Software cost estimation
  • Service oriented software engineering
  • Software metrics and software performance
REQUIRED TEXTBOOKS

N/A

OPTIONAL TEXTBOOKS
  • Title/Edition: Software Engineering (10th Edition), Author: Ian Sommerville, Publisher: Pearson; 10 edition (March 24 2015)
RESOURCES: Available on Moodle
NOTES

Note1: No late deliverables will be accepted.

Note2: Missed tests with good reason (normally medical and documented with attending physician form: http://www.registrar.yorku.ca/pdf/attend_physician_statement.pdf) will have their weight transferred to the final exam. There are no "make up" tests. Tests missed for no reason are deemed to have been written and failed and are marked “F”.

ACADEMIC HONESTY

Cheating, plagiarism and other forms of academic fraud are taken very seriously by the University, the Faculty, and the teaching staff. Consult York’s policy on academic honesty: http://www.cse.yorku.ca/admin/coscOnAcadHonesty.html