BIT Software Engineering
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
Course Objective
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.
