About Me

header ads




Subject Code:18CS35 CIE Marks :40
SEE Marks:60
Number of Contact Hours/Week:3:0:0 Total Number of Contact Hours:40 Exam Hours:3 Hrs

Course Learning Objectives: This course (18CS35) will enable students to:

Outline software engineering principles and activities involved in building large software programs.
Identify ethical and professional issues and explain why they are of concern to software engineers.
Describe the process of requirements gathering, requirements classification, requirements specification and requirements validation.
Differentiate system models, use UML diagrams and apply design patterns.
Discuss the distinctions between validation testing and defect testing.
Recognize the importance of software maintenance and describe the intricacies involved in software evolution.
Apply estimation techniques, schedule project activities and compute pricing.
Identify software quality parameters and quantify software using measurements and metrics.
List software quality standards and outline the practices involved.
Recognize the need for agile software development, describe agile methods, apply agile practices and plan for agility.

Module 1

Introduction: Software Crisis, Need for Software Engineering. Professional Software Development, Software Engineering Ethics. Case Studies.
Software Processes: Models: Waterfall Model (Sec 2.1.1), Incremental Model (Sec 2.1.2) and Spiral Model (Sec 2.1.3). Process activities.
Requirements Engineering: Requirements Engineering Processes (Chap 4). Requirements Elicitation and Analysis (Sec 4.5). Functional and non-functional requirements (Sec 4.1). The software Requirements Document (Sec 4.2). Requirements Specification (Sec 4.3). Requirements validation (Sec 4.6). Requirements Management (Sec 4.7).

Module 2

System Models: Context models (Sec 5.1). Interaction models (Sec 5.2). Structural models (Sec 5.3). Behavioral models (Sec 5.4). Model-driven engineering (Sec 5.5).
Design and Implementation: Introduction to RUP (Sec 2.4), Design Principles (Chap 17). Object-oriented design using the UML (Sec 7.1). Design patterns (Sec 7.2). Implementation issues (Sec 7.3). Open source development (Sec 7.4).

Module 3

Software Testing: Development testing (Sec 8.1), Test-driven development (Sec 8.2), Release testing (Sec 8.3), User testing (Sec 8.4). Test Automation (Page no 42, 70,212, 231,444,695).
Software Evolution: Evolution processes (Sec 9.1). Program evolution dynamics (Sec 9.2).
Software maintenance (Sec 9.3). Legacy system management (Sec 9.4).

Module 4

Project Planning: Software pricing (Sec 23.1). Plan-driven development (Sec 23.2). Project scheduling (Sec 23.3): Estimation techniques (Sec 23.5). Quality management: Software quality (Sec 24.1). Reviews and inspections (Sec 24.3). Software measurement and metrics (Sec 24.4). Software standards (Sec 24.2)

Module 5

Agile Software Development: Coping with Change (Sec 2.3), The Agile Manifesto: Values and Principles. Agile methods: SCRUM (Ref “The SCRUM Primer, Ver 2.0”) and Extreme Programming (Sec 3.3). Plan-driven and agile development (Sec 3.2). Agile project management (Sec 3.4), Scaling agile methods (Sec 3.5).

Course Outcomes: The student will be able to :

Design a software system, component, or process to meet desired needs within realistic constraints.
Assess professional and ethical responsibility
 • Function on multi-disciplinary teams
Use the techniques, skills, and modern engineering tools necessary for engineering practice
Analyze, design, implement, verify, validate, implement, apply, and maintain software systems or parts of software systems

Question Paper Pattern:

The question paper will have ten questions.
Each full Question consisting of 20 marks
There will be 2 full questions (with a maximum of four sub questions) from each module.
Each full question will have sub questions covering all the topics under a module.
The students will have to answer 5 full questions, selecting one full question from each module.

Question Bank:


1. Ian Sommerville: Software Engineering, 9th Edition, Pearson Education, 2012. (Listed topics only from Chapters 1,2,3,4, 5, 7, 8, 9, 23, and 24)
2. The SCRUM Primer, Ver 2.0, http://www.goodagile.com/scrumprimer/scrumprimer20.pdf

Reference Books:

1. Roger S. Pressman: Software Engineering-A Practitioners approach, 7th Edition, Tata McGraw Hill.
2. Pankaj Jalote: An Integrated Approach to Software Engineering, Wiley India

Web Reference for eBooks on Agile:
1. http://agilemanifesto.org/
2. http://www.jamesshore.com/Agile-Book/