You are here

Computer Science 275

Software Engineering

Credits: 3

Length of Course: 14 weeks

Classroom Hours: 5 hours of lecture per week

Pre-requisite: 12 credits, Computer Science 225, Math 120, Math 113 or Math 111 with a B+

Corequisite: English 100

Text: Software Engineering , Ian Sommerville, Addison Wesley, March 2010 (978-0-13-703515-1 ): 9th Edition

Recommended: The Mythical Man-Month, Frederick P. Brooks, Addison Wesley, 1995 (9780201835953): Anniversary Edition

References:
Project-Based Software Engineering: An Object-Oriented Approach, Evelyn Stiller and Cathie LeBlanc, Addison Wesley, 2002 (9780201742251)
Software Engineering: An Object-Oriented Perspective, Eric J. Braude, Wiley, 2001 (9780471322085)
The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison Wesley, 1998 (9780201309980)
Professional Software Development, Steve McConnell, Addison Wesley, 2004 (9780321193674)


Course Description:

This course introduces the basic concepts and the modern tools and techniques of Software Engineering. The course emphasizes the development of reliable and maintainable software via system requirements and specifications; software design methodologies including object-oriented design, implementation, integration, and testing; software project management; life-cycle documentation; software maintenance; and consideration of human factor and ethical issues. Provides experience in working as a team to produce software systems that meet specifications while satisfying an implementation schedule. Train students to produce professional quality oral/written presentations of system designs, reviews, and project demonstrations.


Course Topics:

  • Introduction to Software Engineering, Software Life Cycle, and Software Development Process
  • Requirements Engineering
    • Software requirements document
    • Requirements specification
    • Requirements engineering processes
    • Object-Oriented Analysis
  • Design and Implementation
    • Architectural design
    • Object-oriented design using the UML
    • Design patterns
    • Implementation issues
    • Open source development
  • Software Testing
    • Development testing, unit testing, integration testing, system testing, release testing, user testing, and test plans
  • Documentation
    • User manual, etc.
  • Software Management
    • Project management
    • Project planning
    • Configuration management
    • Quality management

Evaluation:

Final grades for the course will be computed based on the following schedule:

Assignments and Term Project 50%
Mid-term 15%
Final Examination 35%

Instructors:

Ken Chan, B.Sc. (Simon Fraser), M.S.E.E. ( Wayne)
William Cheng, B.Sc., M.Sc. ( Cal. State)

Yvonne Yang, B.Sc. (Hunan), Ph.D. (Paris)


Transferability: see www.bctransferguide.ca