Syllabus of software engineering

Course Title: Software Engineering
Course no: CSC-351                                                                                  Full Marks: 60+20+20
Credit hours: 3                                                                                           Pass Marks: 24+8+8

Nature of course: Theory (3 Hrs.) + Lab (3 Hrs.)

Course Synopsis: Discussion on types of software, developing process and
maintaining the software.

Goal: This course introduces concept of software development paradigm and
implementing these in real world.

Course Contents:

Unit 1: 11 Hrs.
 1.1 Introduction to Software Engineering: Definition of software, software
engineering. Comparing between other engineering and software engineering.

1.2 System Engineering: Introduction to System, System properties, system and their
environment, system modeling.

1.3 Software Process: Introduction, software process model, process iteration,
software specification, software design and implementation, software validation,
software evolution.

1.4 Project Management: Introduction, management activities, project planning,
project scheduling, risk management.

Unit 2: 12 Hrs.
 2.1 Software Requirements: Introduction, Types of requirements, requirements
engineering process: Feasibility study, requirements elicitation and analysis,
requirement validation, requirement management.

2.2 Software Prototyping: Introduction, prototyping in the software process, rapid
prototyping techniques, user interface prototyping.

2.3 Formal Specification: Introduction, formal specification in software process,
interface specification, behavioral specification.

Unit 3: 6 Hrs.
3.1 Architectural Design: Introduction, system structuring, control models, modular
decomposition, domain specific architecture.

3.2 Object Oriented Design: Introduction, Features of object oriented design, object
oriented software engineering.

Unit 4: 16 Hrs.
4.1 Verification & Validation: Introduction, verification and validation planning,
software inspection, cleanroom software development.

4.2 Software Testing: Introduction, types of testing, testing work benches.

4.3 Critical system validation: Introduction, formal methods and critical systems,
reliability validation, safety assurance, security assessment.

4.4 Software Cost Estimation: Introduction, productivity, estimation techniques.

4.5 Software Reengineering: Introduction, source code translation, reverse
engineering.

Laboratory works: Developing the software techniques explained in the course.

Text Books: Software Engineering, 7th Edition, Ian Sommerville, PEARSON
EDUCATON ASIA
Reference: Software Engineering: A Practitioner’s Approach, 6th Edition,
Roger S. Pressman, McGraw Hill International Edition.

Assignment: Assignment should be given from the above units in throughout the
semester.

Computer Usage: No specific

Prerequisite: C, C++, Data Structure, Automata Theory, System Analysis &
Design

Category Content: Science Aspect: 60%
                              Design Aspect: 40%

Comments