Bachelors Level/Third Year/Fifth Semester/Science bit/fifth semester/software engineering/syllabus

Bachelors In Information Technology

Institute of Science and Technology, TU

Nature of the course: (Theory+Lab)

F.M: 60+20+20 P.M: 24+8+8

Credit Hrs: 3Hrs

Software Engineering [BIT302]
Course Objective
i.
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 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.

S1:Introduction[2]
1
Professional Software Development, Software Engineering Ethics, Case Studies
S2:Software Process Model[8]
1
Software Process Models, Process Activities, Coping with Change, Process Improvement, Agile Software Development
S3:Requirements Engineering[3]
1
Functional and Non-Functional Requirements, Requirements Engineering Processes, Requirements Elicitation, Requirements Validation, Requirements Change
S4:System Modeling[6]
1
Context Models, Interaction Models, Structural Models, Behavioral Models, Model Driven Architecture
S5:Architectural Design[6]
1
Architectural Design Decisions, Architectural Views, Architectural Patterns, Application Architectures
S6:Design and Implementation[5]
1
Object-Oriented Design Using the UML, Design Patterns, Implementation Issues, Open-Source Development
S7:Software Testing[5]
1
Introduction to Software Testing, Development Testing, Test-Driven Development, Types of Testing
S8:Project Management and Planning[5]
1
Introduction to Project Management, Management Activities, Introduction to Project Planning, Software Pricing, Plan-Driven Development, Project Scheduling, Agile Planning, Estimation Techniques, COCOMO Cost Modeling
S9:Software Quality Assurance[3]
1
Introduction to Software Quality, Software Quality Assurance, Software Reviews
S10:Configuration Management[2]
1
Introduction to Version Management, Change Management and Release Management
References
1.
Software Engineering, 10th Edition, Ian Sommerville, Pearson Education 2016
2.
Software Engineering: A Practitioner’s Approach, 8th Edition, Roger S. Pressman and Bruce R. Maxim, McGraw-Hill Education 2015
3.
C. Ghezzi, M. Jazayeri and D. Mandrioli, Fundamentals of Software Engineering Prentice Hall of India, Ltd.
4.
G. Booch, J. Rambaugh, J. Jacobson, The unified Modeling Language – User Guide Addison - Wesley
Labrotary Work
Student should use project management tools focusing on resource management, project scheduling and people management. They should be 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.