Fundamentals of Software Engineering Course Outline
Fundamentals of Software Engineering Course Outline
Fundamentals of Software Engineering Course Outline
Course Description
As soon as computers were invented, the ability to tell them what to do made
programming an awesome task. Programmers used a technique called "code and fix”
write some code, and fix it when it breaks. But things started getting too compacted too
soon. Writing bigger software through the so-called "code and fix" mechanism had its
problems. The inability to assess progress, quality, or risks, the difficulty to
accommodate changes without a major design overhaul, and the unclear delivery
features, timing, and support made "code and fix" strategy is difficult to use in larger
projects.
Therefore, software engineering emerged as a discipline to manage software projects.
The activities in software engineering include defining what the software should do
(software requirements), describing the solution specified in the requirements on paper
(design), writing software that meets the solution using a programming language
(implementation), making sure that the implementation meets the design and
requirements (testing), and progressively modifying the software (maintenance and
evolution). But software engineering is not just a prerequisite to coding. It also defines
the way we communicate and keep stream of our tasks, it is the way we collaborate too.
The key idea that software engineering introduced in projects is traceability. The things
written in the requirements must have a corresponding solution described in the design
document, and a piece of code that implements a certain artifact on the design.
This course introduces software engineering though a project based delivery strategy
and you are expected to apply what you studied in classes on your projects
Course Objectives
Understand the basic principles of Software Engineering that helps to understand a
problem, perform requirement analysis and work on the solution. Students must
write requirements specification documents, Design a system, component, or process
to meet desired needs.
Learning Outcomes
The program provides a knowledge and understanding of the following:
Practical Skills Transferable Skills
- Perform a requirement analysis - Students will be able to work with
on different area of problem different platforms and have a handy
- Perform an object-oriented experience on working on
design documentation skills
- Prepare different types of - Effective communication skill
documents. (requirement, acquired during group work
design and testing) - A hand on experience on proposal
- Verify and validate a Software writing and different collaborative
system tools
Prerequisites:
Object Oriented Programing
Student Workload
Lecture: Tutorial: Lab: Home:
Course Content
Topic one: Introduction to Software Engineering
Schedule
Weeks Topics and Subtopics
Lecture Laboratory Assessment
Week 1- Week 3 Topic 1 ,2 Collaboration tools Proposal (Doc)
[Trello, slack]
Week 4- Week 5 Topic 3 Edraw max for Mid Exam
developing use case SRS(Doc)
Mockup tools [for UI]
Week 6- Week 8 Topic 4 Edraw max for SDS (Doc)
developing
Component,
Deployment, Class,
Sequence and sate
chart diagram