- An introduction to the scope and ethics of software engineering
- Systems Development Life Cycle (SDLC) phases:
- Planning and system investigation
- Implementation and testing
- Training and transition
- Software development paradigms and models: waterfall, incremental, prototyping, spiral, and agile
- An introduction to software project management and software quality management
- Software documentation: requirements, design, technical, and user documentation
- Modern software development tools:
- Build automation
- Graphical User Interface (GUI) designers
- Git version control system
- Requirements engineering:
- Requirements gathering
- Use cases and requirements analysis
- Software requirements specification
- Software design:
- Design concepts and considerations: abstraction, modularity, information hiding, performance, scalability, etc.
- Object-oriented design principles
- Basics of database design: Entity-Relationship (ER) modeling and simple data normalization
- An introduction to software testing:
- The testing pyramid
- Test-driven development
- An introduction to advanced software engineering:
- Component-based systems
- Distributed software systems
- Service-oriented systems
- Real-time systems
Methods of instruction will include some or all of the following: lectures, labs, and self-directed learning (assignments and group projects).
Evaluation will be carried out in accordance with the Douglas College Evaluation Policy. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following.
0% - 15%
20% - 30%
0% - 15%
20% - 35%
25% - 40%
* In order to pass the course, in addition to receiving an overall course grade of 50%, students must achieve a grade of at least 50% on the combined weighted examination components (including quizzes, term tests, and final examinations.)
Upon the completion of this course, successful students should be able to:
- Describe the scope and importance of software engineering.
- Define technical terms used by information systems practitioners.
- Identify and differentiate between the roles and responsibilities involved in a software development team.
- Identify various software process models, e.g. agile vs. plan-driven development.
- Identify the major phases included in a modern software development process.
- Identify outcomes and deliverables of core development activities, from requirements analysis and software design to implementation and user documentation.
- Generate a software requirements specification to detail functional and non-functional requirements.
- Use Unified Modeling Language (UML) to model different perspectives of a software system.
- Describe different data models and apply simple data normalization.
- Utilize standard coding styles that are effective in pair programming and code review.
- Identify various testing techniques and software quality management activities.
- Describe the goals, principles, activities, and components of software quality management.
- Implement best ethical practices for teamwork dynamics in software development.
- Utilize a modern Integrated Development Environment (IDE) and various software development tools such as Git version control system, debuggers, and builders to promote teamwork and successfully complete software projects.
Consult the Douglas College Bookstore for the latest required textbooks and materials.
Software Engineering (latest edition), Ian Sommerville, Pearson, ISBN: 9780133943238
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.
|Institution||Transfer Details||Effective Dates|
|Alexander College (ALEX)||ALEX CPSC 2XX (3)||2021/05/01 to -|
|Athabasca University (AU)||AU COMP 361 (3)||2021/05/01 to -|
|Camosun College (CAMO)||CAMO ICS 125 (3)||2021/05/01 to -|
|College of New Caledonia (CNC)||CNC CSC 2XX (3)||2021/05/01 to -|
|College of the Rockies (COTR)||COTR COMP 2XX (3)||2021/09/01 to -|
|Columbia College (COLU)||COLU CSCI 275 (3)||2021/05/01 to -|
|Kwantlen Polytechnic University (KPU)||No Credit||2021/05/01 to -|
|North Island College (NIC)||NIC CPS 2XX (3)||2021/05/01 to -|
|Okanagan College (OC)||No credit||2021/05/01 to -|
|Simon Fraser University (SFU)||SFU CMPT 276 (3)||2021/05/01 to -|
|Thompson Rivers University (TRU)||TRU COMP 3520 (3)||2021/05/01 to -|
|University Canada West (UCW)||UCW CPSC 2XX (3)||2021/05/01 to -|
|University of British Columbia - Okanagan (UBCO)||UBCO COSC 2nd (3)||2021/05/01 to -|
|University of British Columbia - Vancouver (UBCV)||UBCV CPSC 210 (4)||2021/05/01 to -|
|University of Northern BC (UNBC)||UNBC CPSC 300 (3)||2021/05/01 to -|
|University of the Fraser Valley (UFV)||UFV COMP 370 (3)||2021/05/01 to -|
|University of Victoria (UVIC)||UVIC SENG 2XX (1.5)||2021/05/01 to -|
|Vancouver Community College (VCC)||VCC CSTP 1204 (3)||2021/05/01 to -|
|Vancouver Island University (VIU)||VIU CSCI 1st (3)||2021/05/01 to -|
|Yorkville University (YVU)||No Credit||2021/05/01 to -|