Fall 2019 - CMPT 275 E100

Software Engineering I (4)

Class Number: 8897

Delivery Method: In Person

Overview

  • Course Times + Location:

    Sep 3 – Dec 2, 2019: Mon, 5:30–8:20 p.m.
    Burnaby

  • Exam Times + Location:

    Dec 9, 2019
    Mon, 7:00–10:00 p.m.
    Burnaby

  • Prerequisites:

    One W course, CMPT 225, (MACM 101 or (ENSC 251 and ENSC 252)) and (MATH 151 or MATH 150). MATH 154 or MATH 157 with at least a B+ may be substituted for MATH 151 or MATH 150.

Description

CALENDAR 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. Students with credit for CMPT 276 may not take this course for further credit.

COURSE DETAILS:

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, configuration management and people management are examined.

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 design (detailed design of classes)
  • Implementation: code standards, code review, etc.
  • Testing: unit, integration, system, user acceptance and test plans
  • Documentation: user manual, etc.
  • Introduction to Software Configuration Management

Grading

NOTES:

Assignments (i.e. Term Project) 50%; Midterm 15%; Final 35%

Materials

MATERIALS + SUPPLIES:

  • Project-Based Software Engineering: An Object-Oriented Approach, Evelyn Stiller and Cathie LeBlanc, Addison Wesley, 9780201742251
  • Software Engineering, Ian Sommerville, Addison Wesley, 9780133943030, 10th Edition
  • Software Engineering: An Object-Oriented Perspective, Eric J. Braude, Wiley, 9780471322085
  • Professional Software Development, Steve McConnell, Addison Wesley, 9780321193674
  • Object-Oriented Software Engineering: Practical Software Development using UML and Java, Timothy C. Lethbridge, Robert Laganiere, McGraw Hill, 2004, 9780077109080, Second Edition

RECOMMENDED READING:

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

ISBN: 9780201835953

  • Object-Oriented Software Engineering: Using UML, Patterns, and Java
  • Bernd Bruegge, Allen H. Dutoit
  • Prentice Hall
  • 3rd Edition

ISBN: 9780136061250

Registrar Notes:

SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS