Computing Science Course Outlines

Course Outline - CMPT 275 - Software Engineering I

Information

Subject

Catalog Number

Section

Semester

Title

Instructor(s)

Campus

CMPT

275

E100

2009 Fall (1097)

Software Engineering I

Herbert Tsang   

Burnaby Mountain Campus

Calendar Objective/Description

Introduction to software engineering techniques used in analysis/design and in software project management. The course centres on a team project involving requirements gathering, object analysis and simple data normalization, use-case-driven user documentation and design followed by implementation and testing. Additionally, there is an introduction to project planning, metrics, quality assurance, configuration management, and people issues.

Instructor's Objectives

An introduction to software engineering techniques used for both software development process and software project management. The course centers on a team-based software development project and utilizes the use case approach to drive requirements gathering, object-oriented analysis, user documentation and design phases. The project also includes implementation and testing phases as well as simple data normalization. Release and maintenance phases are discussed. Throughout the course, software project planning, quality assurance, configuration management and people management are examined.

Prerequisites

CMPT 225, MACM 101, MATH 151 (or MATH 150), one W course. MATH 154 or 157 with a grade of at least B+ may be substituted for MATH 151 (or MATH 150). Cannot receive credit for both CMPT 276 and CMPT 275.

Topics

  • Software Life Cycle and Software Development Process
  • Requirements Gathering and Specification, as well as Object-Oriented Analysis
  • Design: high-level design (architectural, module interface, user interface, etc.) and low-level desi
  • Implementation: code standards, code review, etc.
  • Testing: unit, integration, system, user acceptance and test plans
  • Documentation: user manual, etc.
  • Issues related to Maintenance and Support
  • Introduction to Project Management
  • Introduction to Software Configuration Management
  • Introduction to Quality Assurance

Grading

Assignments (i.e. Term Project) 50%; Midterm 15%; Final 35%. The grading scheme will be confirmed in the first week of classes.

Required Books

  • Software Engineering (8th ed), Ian Sommerville, Addison-wesley (Pearson), June 2006, 0-321-31379-8

Reference Books

  • Project-Based Software Engineering: An Object-Oriented Approach, Evelyn Stiller and Cathie LeBlanc, Addison Wesley, 2002, 0-201-74225-X
  • ,
  • Software Engineering: An Object-Oriented Perspective, Eric J. Braude, Wiley, 2001
  • The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison Wesley, 1998, 0-201-571689-4
  • Professional Software Development, Steve McConnell, Addison Wesley, 2004, 0-321-19367-9
  • Code Complete, Steve McConnell, Addison Wesley

Recommended Books

  • The Mythical Man-Month, Frederick P. Brooks, Addison-Wesley, Anniver, 1995, Anniversary Edition

Academic Honesty Statement

Academic honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty will be handled in accordance with the SFU Academic Honesty and Student Conduct Policies ( http://www.sfu.ca/policies/Students/index.html ). Students are also encouraged to read the School's policy information page ( http://www.cs.sfu.ca/undergrad/Policies/ ).

Data Last Updated: