Software Engineering
Software Engineering
From Code to Production Systems: Engineering Reliable Software at Scale
This guide supports modules and projects that focus on software development processes, project work, teamwork, and professional practice at Vector Technology Institute. Use it alongside the Computing & Programming Guide when you are planning, building, testing, and documenting software projects.
How to use this guide
- Use this guide when you are working on software projects, team assignments, or capstone work, not just learning a programming language.
- Start with the Foundations of software engineering section for theory, then use the Project & Teamwork, Requirements & Design, Quality & Testing, and Capstone toolkit sections as you plan and deliver your project.
- For most assignments, combine one core textbook-style source, one or two articles or case studies, and one practice-oriented resource (templates, examples, or labs).
- Use the Computing & Programming Guide when you need language-specific content (e.g., C, Java, Python), operating systems, networking, or databases.
Foundations of software engineering
Best for these VTI courses: PR115 Programming Concepts, PR205 Structured Programming (with Data Structures), BU202 Project Management 1, DT207 Trends in Technology Development.
Use this section to understand what software engineering is, why process matters, and how the software development life cycle (SDLC) works.
- Open Textbook Library – Open textbooks on software engineering and related topics (search for “software engineering”). https://open.umn.edu/opentextbooks
- BCcampus Open Textbooks – STEM and computing books including software engineering and project-related titles. https://collection.bccampus.ca
- LibreTexts – Interactive STEM texts; check the computing/engineering sections for software engineering chapters. https://libretexts.org
- MIT OpenCourseWare – Software Engineering courses – Full course sites with lectures, readings, and assignments. https://ocw.mit.edu
- IEEE Access – Open-access articles on software process, methods, and tools for more advanced reading. https://ieeeaccess.ieee.org
Use these resources when you need to describe or compare lifecycle models, explain the role of software engineering in a system, or justify the overall approach you choose for a project.
Project management, process, and teamwork
Best for these VTI courses: BU202 Project Management 1, BU302 Project Management 2, BU401 Team Development & Group Management, PD200 Career Development Seminar, BU220 / BU250 Internship / ICT Application Project, BU404 Senior Project (BSICT Capstone Project).
Use this section when you plan and manage software projects, especially team-based work and long-running assignments.
- Open Textbook Library – Search for “project management” for open PM textbooks that cover scope, time, cost, risk, and communication. https://open.umn.edu/opentextbooks
- OpenStax – Business & Management – Useful for general project and operations management concepts that apply to software projects. https://openstax.org
- Saylor Academy – Free courses on project management and organisational behaviour that align with BU202, BU302, and BU401. https://www.saylor.org
- MERLOT – Case studies, assignments, and simulations for project management and teamwork. https://www.merlot.org
- Journal of Open Source Software (JOSS) – Examples of real open-source projects and how they manage contributions and releases. https://joss.theoj.org
Use these to design project charters, work breakdown structures, sprint plans, and reflections on team roles and performance.
Requirements, design, and architecture
Best for these VTI courses: BU202 Project Management 1, BU302 Project Management 2, BU220 / BU250 Internship / ICT Application Project, BU404 Senior Project (BSICT Capstone Project).
Use this section to capture what your software should do and how it will be structured, before you start coding.
- Open Textbook Library & BCcampus – Search for software engineering and systems analysis titles for chapters on requirements engineering and design.
- LibreTexts – Engineering and computing texts with sections on UML, use cases, and basic architecture patterns. https://libretexts.org
- MIT OpenCourseWare – Software engineering and systems courses that include sample requirements, design diagrams, and architecture notes. https://ocw.mit.edu
- IEEE Access – Research articles and case studies on system design and architecture decisions for more advanced students. https://ieeeaccess.ieee.org
Use these resources as models when writing your own problem statements, requirements lists, and simple architecture diagrams for BU220 / BU250 and BU404 projects.
Coding practices, version control, and documentation
Best for these VTI courses: PR115 Programming Concepts, PR205 Structured Programming (with Data Structures), GELECT1 / GELECT2 (JavaScript / HTML options), BU220 / BU250 Internship / ICT Application Project, BU404 Senior Project (BSICT Capstone Project).
This section helps you write maintainable code, track changes, and explain your work to others.
- MIT OpenCourseWare – Programming & Software Engineering – Example coding conventions, code walkthroughs, and assignment descriptions. https://ocw.mit.edu
- JOSS (Journal of Open Source Software) – Short papers that show how to document research software, including description, usage, and examples. https://joss.theoj.org
- SkillsCommons – Workforce and technical OER with labs that demonstrate practical coding and documentation practices. https://www.skillscommons.org
- MERLOT – Learning objects on version control (e.g., Git), documentation, and coding standards. https://www.merlot.org
Use these to model your README files, comments, coding style, and Git workflows for individual and group projects.
Testing, quality, and DevOps concepts
Best for these VTI courses: BU202 Project Management 1, BU302 Project Management 2, DT404 IT Systems Security, DT304 Enterprise Networking, Security, & Automation, BU220 / BU250 Internship / ICT Application Project, BU404 Senior Project (BSICT Capstone Project).
Use this section to plan and document how you test your software and how you think about quality from the start.
- Open Textbook Library & BCcampus – Look for software testing chapters in software engineering texts.
- IEEE Access – Articles on testing, quality assurance, and DevOps practices. https://ieeeaccess.ieee.org
- PLOS ONE – Broad engineering and computing articles, including software quality and reliability studies. https://journals.plos.org/plosone
- SkillsCommons – Labs and modules that include test procedures and quality-related tasks. https://www.skillscommons.org
Draw on these examples to create your own test plans, test case tables, and brief evidence of test execution in project deliverables.
Professional practice, ethics, and security by design
Best for these VTI courses: BU201 Ethics & Values in Business (General Education), DT404 IT Systems Security, DT207 Trends in Technology Development, DT310 Digital Business Transformation, BU220 / BU250 Internship / ICT Application Project.
Use this section to explore your professional and ethical responsibilities as a software engineer, including security, privacy, and broader impacts.
- National Academies Press – Free reports on cybersecurity, privacy, and technology policy that support higher-level discussion. https://nap.nationalacademies.org
- World Bank Open Knowledge Repository – ICT and digital transformation reports that highlight social and economic impacts of technology. https://openknowledge.worldbank.org
- Inter-American Development Bank Publications – Case studies and reports on digital initiatives, including in the Caribbean. https://publications.iadb.org
- OER Commons – Teaching modules on digital citizenship, privacy, and ethics in computing. https://www.oercommons.org
- MIT OpenCourseWare – Courses that touch on ethics and social issues in computing and technology. https://ocw.mit.edu
Use these sources to support ethics sections in BU201 assignments and to justify design and security decisions in DT404, DT310, internship, and capstone projects.
Industry trends, technology management, and digital transformation
Best for these VTI courses: DT207 Trends in Technology Development, DT310 Digital Business Transformation, BU130 E-Business Concepts, BU401 Team Development & Group Management, PD200 Career Development Seminar.
This section connects software engineering with digital transformation, e-business, and future career pathways.
- World Bank Open Knowledge Repository – Reports on ICT in development, digital transformation, and technology policy. https://openknowledge.worldbank.org
- Inter-American Development Bank Publications – Publications on digital business, innovation, and technology in Latin America and the Caribbean. https://publications.iadb.org
- National Academies Press – Studies on future work, AI, and emerging technologies. https://nap.nationalacademies.org
- Saylor Academy & OpenLearn – Short courses on e-business, entrepreneurship, and digital skills relevant to BU130 and PD200.
- Career and labour-market data portals (e.g., ONET and similar) – For understanding roles, skills, and tasks in software engineering and IT.
Use these resources to support trend analyses, environmental scans, and career planning tasks in DT207, DT310, BU130, BU401, and PD200.
Capstone, internship, and portfolio toolkit
Best for these VTI courses: BU220 / BU250 Internship / ICT Application Project, BU404 Senior Project (BSICT Capstone Project).
Use this section as a one-stop toolkit when you are planning, executing, and presenting your major software projects.
- MIT DSpace – Theses and project reports that show full report structures and technical depth. https://dspace.mit.edu
- UWI Mona DSpace & UWISpace – Caribbean research and theses you can use as models for structure and regional context.
- OATD & NDLTD – Global thesis and dissertation search for examples in software engineering and IT.
- JOSS – Short papers that illustrate how to describe a software artefact clearly and concisely. https://joss.theoj.org
- Zenodo & Figshare – For hosting or exploring code, datasets, and supplementary project materials.
Use these examples to shape your own proposals, weekly logs, final reports, and portfolios for BU220 / BU250 and BU404.
How this guide works with other subject guides
Use the Computing & Programming Guide for language-specific resources, operating systems, networking, cybersecurity, and databases. Use this Software Engineering Guide when you are focusing on process, teamwork, quality, ethics, and project documentation. For maths, English, statistics, psychology, and other general education topics, refer to the relevant General Education and Study Skills subject guides.
