Skip to main content

Software Engineering COMP 7082

Computer Systems Part-time Studies Course

Course details

This course offers a comprehensive overview of software engineering issues: software development methodologies, software requirements analysis, functional and non-functional requirements, software architecture, design principles and paradigms, and quality assurance. Students will learn how to apply principles, use the most adequate strategies and tools, and assure quality during the entire software development cycle.​

Prerequisite(s)

  • Acceptance into the Bachelor of Technology in Computer Systems Degree program.

Credits

3.0

Cost

$790.22

Course offerings

Fall 2022

Below is one offering of COMP 7082 for the Fall 2022 term.

CRN 45972

Duration

Wed Sep 14 - Wed Nov 30 (12 weeks)

  • 12 weeks
  • CRN 45972
  • $790.22
Class meeting times
Dates Days Times Locations
Sep 14 - Nov 30 Wed 18:30 - 21:30 Downtown DTC Rm. 364
Instructor

Tejinder Randhawa

Course outline

Course outline TBD — see Learning Outcomes in the interim.

Cost

$790.22

Important information
  1. Departmental approval needed
  2. 1. Please email cstbtech@bcit.ca for departmental approval. Include your student number (A0#), course number (COMP__) and preferred CRN. 2. This is a CST BTech course. CST BTech courses are also open to non-bachelor program students. 3. CST Bachelor program students have up to seven (7) years to complete the Bachelor program starting from the date of their first Technical degree-level course or the date of acceptance to the Bachelor program, WHICHEVER COMES FIRST.
Status

Learning Outcomes

Upon successful completion of this course, the student will be able to:

  • Apply design principles: levels of abstraction (architectural design and detailed design), separation of concerns, information hiding, coupling and cohesion and re-use of standard structures, to software project design.
  • Apply design paradigms such as structured design (top-down functional decomposition), object-oriented analysis and design, event-driven design, component-level design, and data-structure centered, aspect oriented, function oriented, and service oriented to software project design.
  • Identify design implications of non-functional requirements, including ethics, availability, fault tolerance, maintainability, scalability, security and usability.
  • Apply architecture design principles that incorporate availability, scalability, and quality and analyze how performance variation related to available resources will be monitored and measured in the presence of varying degrees of loading to software project design.
  • Incorporate fault tolerant designs into software architectures, including rollback capabilities.
  • Incorporate asynchronous designs into architectures to ensure high throughput and fault tolerance.
  • Develop software and system architectures tests for speed, throughput, and scalability.
  • Design success criteria and determine an appropriate test environment that will mimic the production system as closely as possible.
  • Analyze the data collected during tests, validate the results, and prepare a report for teams tasked with investigating and solving overall performance issues.
  • Describe the issues that are important in selecting a set of tools for the development of a particular software system, including tools for requirements tracking, design modeling, implementation, build automation, testing, deployment, and maintenance.
  • Apply multiple methods to develop reliability estimates for a software system.

Effective as of Fall 2018

Related Programs

Software Engineering (COMP 7082) is offered as a part of the following programs:

School of Computing and Academic Studies

  1. Computer Systems (Database Option)
    Bachelor of Technology Part-time
  2. Computer Systems (Games Development Option)
    Bachelor of Technology Full-time
  3. Computer Systems (Human Computer Interface Option)
    Bachelor of Technology Part-time
  4. Computer Systems (Network Security Administration Option)
    Bachelor of Technology Part-time
  5. Computer Systems (Network Security Applications Development)
    Bachelor of Technology Full-time
  6. Computer Systems (Network Security Applications Development Option)
    Bachelor of Technology Part-time
  7. Computer Systems (Wireless and Mobile Applications Development Option)
    Bachelor of Technology Part-time

Contact Us

If you have a question or comment about this course, please complete and submit the form below.

  • Privacy Notice: The information you provide will be used to respond to your request for BCIT program information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5G 3H2, email: privacy@bcit.ca.
  • This field is for validation purposes and should be left unchanged.

Subscribe

Interested in being notified about future offerings of Software Engineering (COMP 7082)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.

  • Privacy Notice: The information you provide will be used to respond your request for BCIT course information and is collected under Section 26(c) of the Freedom of Information and Protection of Privacy Act (FIPPA). For more information about BCIT’s privacy practices contact: Associate Director, Privacy, Information Access & Policy Management, British Columbia Institute of Technology, 3700 Willingdon Ave. Burnaby, BC V5A 3H2, email: privacy@bcit.ca.