CSE470

Software Engineering

CSE470: Software Engineering

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.

Course Objectives

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.

List of Books

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

Course Materials

Text and Reference Books, Lecture Notes and presentation slides

Course Outcome

# 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

Course Lectures

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

Course Coordinator

Mr. Taufiqul Islam Khan


©2024 BracU CSE Department