Dr.
MPS Memorial College of Business Studies
COURSE FILE
Course Title: Software Engineering
Course Code: C-303
Bachelor of Computer Application
Year: Second
Semester: III
Submitted by:
Faculty Name: Vinod Kumar Gautam
Designation: Assistant Professor
Department: Computer Science
Course File: Software Engineering
Programme: B.C.A.
Year: First
Semester: Third
Course Code: C-101
Course Title: Software Engineering
Credits: 6
Core/Elective: Elective
Total Lectures: 90
Max Marks: 50 (Internal) + 50 (External)
Min Passing Marks: 20 (Internal) + 20 (External)
Course Outcomes (COs):
After completing this course, students will be able to:
CO1: Explain the concepts and characteristics of software and software engineering.
CO2: Differentiate between various software process models.
CO3: Apply design principles including modularity and architectural styles.
CO4: Use testing techniques to verify and validate software applications.
CO5: Estimate software costs and write software requirements specifications.
Lesson Plan:
Week Unit Topic Teaching Method Cos
1 I Introduction to Software and SE Lecture CO1
2 I Types, Characteristics, Attributes Lecture + PPT CO1
3 II Waterfall & Evolutionary Models Discussion CO2
4 II CBSE, Incremental, Spiral Models Lecture + Diagrams CO2
5 II Agile, XP, RAD Activity-Based CO2
6 III Design Concepts: Abstraction, Architecture Lecture CO3
7 III Modularity: Cohesion, Coupling Chalk & Talk CO3
8 III UI Design, HCI, Evaluation Demonstration CO3
9 IV Testing Techniques Lecture CO4
10 IV Levels of Testing Case Study CO4
11 IV Test Cases, CMM, Quality Lecture + Demo CO4
12 V Cost Estimation Techniques Problem Solving CO5
13 V Maintenance Costs, SRS Lecture CO5
14 V Specification Techniques Lecture + Activity CO5
15 — Revision & Doubts Interaction All Cos
Teaching Methodology:
To ensure effective delivery of the Software Engineering course, a variety of teaching
methodologies will be adopted, focusing on conceptual clarity, industry relevance, and
student engagement. The following strategies will be used:
1 Lecture Method
Detailed theoretical explanations of software engineering concepts using chalk and board or
multimedia presentations.
Real-life analogies to make abstract topics like modularity, abstraction, and architecture
easier to understand.
2. PowerPoint Presentations
Visually rich presentations to explain process models, system design diagrams, testing
techniques, etc.
Use of flowcharts and architectural diagrams to simplify complex ideas.
3. Group Discussions
Classroom discussions on software process models and quality frameworks like CMM.
4. Case Studies
Analysis of real-world software project failures and successes to relate theory to
practice.
Assessment Methods:
Internal (50 Marks):
Class Test: 15 Marks
Assignments: 10 Marks
Attendance/Participation: 5 Marks
Practical & Viva: 20 Marks
External (50 Marks):
University Examination (Theory and Practical)
Assignment Topics:
Convert Decimal numbers to Binary, Octal, and Hexadecimal
Draw flowcharts for basic decision-making tasks
Practice internal and external DOS commands
Create a formatted document using MS Word
Design a spreadsheet in Excel with calculations and charts
Prepare a PowerPoint presentation on a given topic
Design a simple database in MS Access
Suggested Question Bank:
Unit I
Define software and its types.
What are the characteristics of good software?
Define Software Engineering.
Unit II
What is a software process model?
What is Incremental Delivery?
Unit III
What is abstraction in software design?
Define cohesion and coupling.
What is the client-server model?
Unit IV
Differentiate between black-box and white-box testing.
What are alpha and beta testing? Give suitable examples.
What is regression testing? Why is it required?
Write a note on Capability Maturity Model (CMM).
Unit V
What are the main software cost estimation techniques?
Write a sample SRS for a library management system.
Explain different types of software maintenance.
What are the steps involved in requirement specification?
Reference Books
1. Ian Sommerville – Software Engineering, Pearson, 10th Edition
2. Amiya Kumar Rath – Fundamentals of Software Engineering
3. Roger S. Pressman – Software Engineering: A Practitioner’s Approach, McGraw Hill