ENG 211: Fundamentals of Software Engineering
ENG 211: Computer and Software Engineering
200 Level • General Courses
Category
Note
File Type
File Size
0.17 MB
Views
11
Uploaded by
Spectra
Description
A comprehensive introductory guide to the principles of Software Engineering. This document explores the transition of software development from an ad-hoc process to a structured engineering discipline, focusing on reliability, scalability, and long-term maintenance. Key Highlights: - Definition and History: Understanding software as a collection of programs and documentation, and the evolution of the field from the 1940s to the modern Agile era. - Software Development Life Cycle (SDLC): A breakdown of the systematic phases including Planning, Requirements Analysis, Design, Implementation, Testing, and Deployment. - SDLC Models: Comparison of the traditional Waterfall Model (sequential) versus Agile Methodologies (iterative and collaborative). - Engineering Challenges: Discussion on managing system complexity, ensuring cybersecurity, and handling evolving user requirements. - The Software Toolkit: Introduction to essential tools like Version Control (Git), Issue Tracking (JIRA), and CI/CD pipelines (Jenkins). - Future Trends: The impact of AI, Microservices, and Quantum Computing on the future of software construction.