CMPT 2276: Introduction to Software Engineering
Effective date
September 2020
Department
UT Computing Science&Software
Description
This course provides an overview of software engineering practices used for development and management of information systems. Students are introduced to a variety of software development processes and major phases included in a software development lifecycle such as planning, requirements analysis, system design, implementation, testing, documentation, and maintenance. Different modeling tools and documentation skills are also discussed in this course. An introduction to project management issues and tools is also provided to give students a clear understanding about different roles and responsibilities of the members of a software development team. Students also apply these skills on a case study to complete a team project.
Year of study
2nd Year Post-secondary
Prerequisites
MATH 1120 with a 'C' and CMPT 2225 with a 'C'.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Define information systems terms as used in current practice
- Explain the functions of systems analysis and design, and the roles and responsibilities of systems analysts and project managers
- Use analysis methodologies including data flow diagrams, entity-relationship diagrams, structure charts, data dictionaries, UML and various process definition methods
- Describe the major phases and activities involved in the information system development process, and the corresponding outcomes and deliverables
- Apply the systems development process in exercises and case studies, within an organizational context, using relevant techniques and methods
Prior Learning Assessment & Recognition (PLAR)
None
Hours
Lecture, Online, Seminar, Tutorial: 45
Clinical, Lab, Rehearsal, Shop, Kitchen, Simulation, Studio: 15
Total Hours: 60
Instructional Strategies
Lectures and computer labs (and assignments)
Grading System
Letter Grade (A-F)
Evaluation Plan
Type
|
Percentage
|
Assessment activity
|
Assignments
|
15
|
Three assignments of 5% each
|
Midterm Exam
|
20
|
Midterm
|
Project
|
30
|
Group Project
|
Final Exam
|
35
|
Final Exam
|
Course topics
- Introduction to Software Engineering
Software Quality Measures
Members of Software Development Team
Software Development Process
Software Development Lifecycle
Tools and Techniques for Process Modeling
Development Strategies
Planning and Managing a Project
Feasibility Study
Tracking Progress
Effort Estimation
Risk Management
Fact-Finding Techniques
Capturing Requirements
Structured vs. Object-Oriented Analysis
Requirement Modeling Tools
Requirement Documentation
User Interface Design
Data Modeling and Design
Designing the Architecture
Object-Oriented Design and UML Design Tools
Systems Implementation and Testing Process
Programming Standards, Procedures, and Guidelines
Structured vs. Object-Oriented Implementation Issues
Programming and Scripting Languages
Programming Environments and Development Tools
Software Faults and Failures and Testing Issues
Quality Assurance: Unit, Integration, and System Testing
Documentation
Maintenance Techniques and Tools
Notes:
- Course contents and descriptions, offerings and schedules are subject to change without notice.
- Students are required to follow all College policies including ones that govern their educational experience at VCC. Policies are available on the VCC website at:
https://www.vcc.ca/about/governance--policies/policies/.
- To find out if there are existing transfer agreements for this course, visit the BC Transfer Guide at https://www.bctransferguide.ca.