Logo

BIT Software Engineering

bitsemester 5

Software Engineering

Subject Code: BIT302

Course Title: Software Engineering

Course No: BIT302

Nature of Course: Theory & Practical

Full Marks: 100

Pass Marks: 40

Credit Hours: 3

Course Description

This course familiarizes students with different concepts and techniques of software engineering mainly focusing on software practices, different process models, requirements engineering, project management, project planning, quality assurance and software testing techniques.

Course Objective

The main objective of this course is to give knowledge of software engineering so that the students will be able to use different methodologies and techniques to develop high quality software.

Course Contents

Unit 1: Introduction (2 Hrs.)

Professional Software Development, Software Engineering Ethics, Case Studies.

Unit 2: Software Process Model (8 Hrs.)

Software Process Models, Process Activities, Coping with Change, Process Improvement, Agile Software Development.

Unit 3: Requirements Engineering (3 Hrs.)

Functional and Non-Functional Requirements, Requirements Engineering Processes, Requirements Elicitation, Requirements Validation, Requirements Change.

Unit 4: System Modeling (6 Hrs.)

Context Models, Interaction Models, Structural Models, Behavioral Models, Model Driven Architecture.

Unit 5: Architectural Design (6 Hrs.)

Architectural Design Decisions, Architectural Views, Architectural Patterns, Application Architectures.

Unit 6: Design and Implementation (5 Hrs.)

Object-Oriented Design Using the UML, Design Patterns, Implementation Issues, Open-Source Development.

Unit 7: Software Testing (5 Hrs.)

Introduction to Software Testing, Development Testing, Test-Driven Development, Types of Testing.

Unit 8: Project Management and Planning (5 Hrs.)

Introduction to Project Management, Management Activities, Introduction to Project Planning, Software Pricing, Plan-Driven Development, Project Scheduling, Agile Planning, Estimation Techniques, COCOMO Cost Modeling.

Unit 9: Software Quality Assurance (3 Hrs.)

Introduction to Software Quality, Software Quality Assurance, Software Reviews.

Unit 10: Configuration Management (2 Hrs.)

Introduction to Version Management, Change Management and Release Management.

Reference Books

  • Software Engineering, 10th Edition, Ian Sommerville, Pearson Education, 2016.
  • Software Engineering: A Practitioner's Approach, 8th Edition, Roger S. Pressman and Bruce R. Maxim, McGraw-Hill Education, 2015.
  • C. Ghezzi, M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering, Prentice Hall of India, Ltd.
  • G. Booch, J. Rumbaugh, J. Jacobson, The Unified Modeling Language – User Guide, Addison-Wesley.

Lab Works

Students should use project management tools focusing on resource management, project scheduling and people management. They should use CASE tools for drawing UML diagrams. They should use tools for realizing agile development, version control and change control respectively. They should be able to develop test cases and use tools to demonstrate different types of testing.