Pre-requisite: CSE370
Introduces students to all aspects of SDLC. Make them familiar with standard practices and techniques in the software industry. It aims to reduce the gap between academic and industry practice. Projects by students where they analyze the requirements and develop a system with industry best practices.
1. Introduce Students with fundamental concepts of SDLC
2. Teach students about requirement analysis of the system
3. Teach students about how software engineers work in industry and the rules they follow.
4. Explain how to build softwares using different design patterns.
5. Teach students about managing programming process and documentation
6. Help students to build a system using proper and modern tools
7. Explain different software building processes and methodology.
1. Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin, 2017, PHI, 10: 9780132350884
2. Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, 1994, Addison Wesley, 10: 0201633612
Text and Reference Books, Lecture Notes and presentation slides
# | Description | Weight | Edit |
---|---|---|---|
CO1 |
Explain the fundamental concepts of Software Engineering |
15 |
|
CO2 |
Analyze requirements and design a high-level overview of the software |
20 |
|
CO3 |
Apply different software architecture and patterns including MVC |
25 |
|
CO4 |
Evaluate the viability of software using testing and software metrics |
15 |
|
CO5 |
Design a software project using economic feasibility and project management perspective. |
15 |
Week | Lecture | CO Map |
---|---|---|
Week 1 |
Introduction to Software Engineering and software process model, different types of SDLC: Waterfall, V model, Incremental, Iterative, Spiral and CMMI |
CO1 |
Week 2 |
Requirement Engineering, Agile Development process and different framework (XP, AUP, Scrum), Introduction to UML design eg. USE CASE diagram |
CO2 |
Week 3 |
Continuation of UML design e.g CLASS diagram, Introduction to Software Architecture and Design |
CO2 |
Week 3 |
Design Pattern and its Type, example of Design Pattern and its Implementation:: Observer, Adapter and Singleton |
CO3 |
Week 4 |
Different types of software Architectural patterns: MVC, Layered, Repository, Client-Server, Pipe-Filter |
CO3 |
Week 7 |
Software Testing, Software quality metric (CFG, Cyclometric Complexity, SIX) |
CO4 |
Week 10 |
Software Engineering Effort Estimation - COCOMO |
CO4 |
Week 11 |
Project Scheduling, CPM – Critical Path Method |
CO4 |
Week 12 |
Refactoring of Software Code |
CO5 |
Week 13 |
Documentation |
CO5 |