This course will introduce the student to comprehensive concepts, theory, principles, and examples of software engineering. Materials covered will help the student understand the software engineering evolution, the software product components such as software life-cycle models, managing software projects, software process and project metrics. The course will also focus on using research, observation, interviews, prototypes and feedback to gather stakeholders' requirements for systems development. The student will learn how to document requirements by writing use-case descriptions, identifying and designing objects, classes, and their relationships to each other which include links, associations, and inheritance using the Unified Modeling Language (UML). An in-depth case study will be used throughout the course to allow the student to apply what they learn.
- Overview of Software Engineering, The Product, The Process
- The Software Crisis; brief history of information systems analysis, and comparison of traditional techniques with OO methodology
- Software Life-Cycle Models, Managing Software Project Software Process and Project Metrics and Software Project Planning, Review Project Management
- Scope of CASE, Risk Management/ Software Quality Assurance
- Software Configuration Management
- Object-Oriented Systems Analysis & Design using UML
- Business Event Analysis
- Use cases and System Sequence Diagrams, Domain Models
- System and Program design using Interaction diagrams and design class diagrams
- Designing Database interface and User Interface
- Gathering, Managing and Reporting Information
- Managing OO System Development
Methods of Instruction
Lecture, case study
Means of Assessment
|Assignments and Term Project
||20% - 30%
|| 5% - 15%
||25% - 30%
||30% - 35%
*** In order to pass the course, students must, in addition to receiving an overall course grade of 50%, also achieve a grade of at least 50% on the combined weighted examination components (including quizzes, tests, exams).
The student will be able to:
- explain the management and technical aspects of the software engineering discipline;
- apply concepts of managing software projects, including the software process, project planning and metrics, scheduling, risk management, configuration management, and quality assurance;
- compare conventional and object-oriented software engineering methods;
- explain modern information system analysis techniques used in business, society and government;
- explain the object-oriented systems development life cycle (OODLC) process;
- compare structured vs. OO Analysis and Design Models;
- discuss the importance and use of the “object-oriented systems development life cycle model” (OODLC) in the analysis of information systems;
- complete term project assignments using CASE modeling tool, to reinforce the concepts, techniques and methods learned.
CSIS 2200 and (CSIS 1275 or CMPT 1110)
Courses listed here must be completed either prior to or simultaneously with this course:
Courses listed here are equivalent to this course and cannot be taken for further credit:
Course Guidelines for previous years are viewable by selecting the version desired. If you took this course and do not see a listing for the starting semester/year of the course, consider the previous version as the applicable version.
Below shows how this course and its credits transfer within the BC transfer system.
A course is considered university-transferable (UT) if it transfers to at least one of the five research universities in British Columbia: University of British Columbia; University of British Columbia-Okanagan; Simon Fraser University; University of Victoria; and the University of Northern British Columbia.
For more information on transfer visit the BC Transfer Guide and BCCAT websites.
If your course prerequisites indicate that you need an assessment, please see our Assessment page for more information.