1. PUNJAB COLLEGE OF TECHNICAL EDUCATION
COURSE PLAN
Software Engineering [ BC- 303(N2) ]
Max. Marks 100 Internal Assessment 40
External Assessment 60
Instruction for paper setter
The question paper will consist of two sections A and B. Sections B will have Six
questions and will carry 10 marks each. Section A will have 10 short answer type
questions, which will cover the entire syllabus uniformly and will carry 20 marks in all.
Instructions for Candidates
Candidates are required to attempt four questions from section B and the entire section
A. Use of non-programmable scientific calculator is allowed.
Syllabus
Software: Characteristics, Components, Applications, Software Process Models:
Waterfall, Spiral, Prototyping, Fourth Generation Techniques, Concepts of Project
Management, Role of Metrics & Measurements.
S/W Project Planning: Objectives, Decomposition techniques: S/W Sizing, Problem-based
estimation, Process based estimation, Cost Estimation Models: COCOMO Model, The S/W
Equation, System Analysis: Principles of Structured Analysis, Requirement analysis, DFD,
Entity Relationship diagram, Data dictionary.
S/W Design: Objectives, Principles, Concepts, Design methodologies: Data design,
Architectural design, Procedural design, Object -oriented concepts
Testing fundamentals: Objectives, principles, testability, Test cases: White box & Black
box testing, Testing strategies: verification & validation, unit test, integration testing,
validation testing, system testing
References:
1. Roger. S. Pressman, "Software Engineering - A Practitioner's Approach", Third
Edition, McGraw Hill, 1992
2. R.E. Fairley, "Software Engineering Concepts", McGraw-Hill, 1985.
3. Jalota, "An Integrated Approach to Software Engineering", (Narosa Publishing House,
1992)
2. Important Guidelines
Attendance Criteria – 75% (No Compensation)
You are supposed to be present in the class on/before scheduled time. After
that you will be allowed to attend the lecture but attendance for the same will
not be awarded.
You will be informed well in advance about all the important deadlines related
to different activities.
If you will miss any of the test or presentation or any other activity, there will
be no compensation in the marks for the same.
You are advised not to copy the assignments otherwise copied assignments
and the master assignment would be cancelled and awarded zero marks.
Following are the parameters along with weight-age for the final calculation of
Internal.
Internal Evaluation Breakup
Marks Parameters
15 MID SEMESTER EXAMINATION [MSE]
5 PRESENTATION
10 TESTS [First Hourly, Second Hourly, Special]
10 ASSIGNMENTS
3. Class: BCA-II Lectures: 49
Subject: Software Engineering Tutorials: 5
Subject Code: BC-303 (N2) Tests: 3
Instructor: Anil Sharma Assignments: 3
Tests/
Lecture
Topics Assignments/
Number
Tutorials
Diff b/w program and Software
• Meaning and Definition
1. • Components
• Characteristics
• Applications
Software
• Problems
Software Engineering:
• Definition
2.
• Process, methods and tools
• Generic view of Software Engineering
• Activities involved
• Problems
Software process models
• Introduction
3. • Waterfall Model
• Advantages
• Disadvantages
• Introduction of Evolutionary Software process
models
4. • Prototyping model
• Advantages
• Disadvantages
• Spiral Model
5. • Advantages
• Disadvantages
Software Engineering:
• Fourth Generation Techniques
• Process technology
6.
• Product and Process
• Software Prototyping (selecting prototyping
approach, prototyping methods and tools)
7. TUTORIAL - I
8. Project Management Concepts:
• Management Spectrum ( The People, The
Product, Process, Project)
4. • People: Players, Team Leaders, Software Team
• Coordination & Communication Issues
• Product
• Process: Melding product and process, Process
decomposition.
9. Role of metrices and measurement
Software Project Planning:
• Observations on Estimating
• Project planning Objectives
Software Scope:
10.
• Obtaining Information Necessary for scope
• Feasibility
Scoping example
Resources:
• Human Resources
11. • Reusable Software Resources
• Environmental resources
Software Project Estimation
Decomposition Techniques:
Software Sizing
12.
Problem Based Estimation
Process Based Estimation and Example
13. TUTORIAL - II
ASSGNMENT-I
14.
TEST-I
Emperical Estimation Models:
15. • Structure of Estimation Models
COCOMO model and its advantages, disadvantages
Emperical Estimation Models (continued):
• Software Equation
• Make/Buy decision:
16.
o Creating a decision tree
o Outsourcing
Automated Estimation Tools
Requirements Analysis, Analysis Modeling,
17.
Elements of Analysis Modeling
Data Modeling:
• Data Objects
18.
• Attributes & Relationships
• Cardinality and Modality
Data Modeling (continued):
19. • Entity Relationship Diagrams
• Creating ERDs with examples
20. Data Flow Diagrams:
• Definition
5. • Drawing DFD
• Various Levels of DFD
Control Flow Diagrams, Control Flow Models,
21.
Process Specification, Data Dictionary
Design Concepts and Principles:
• Software Design and Software Engineering
• Design Process:
22.
• Design and Software quality
Evolution of software Design
Design Concepts and Principles (continued):
• Design Principles and Design Concepts:
23. • Abstraction
• Refinement
• Modularity
Design Concepts and Principles (continued):
• Design Concepts
24. • Software Architecture
• Control Hierarchy
• Structural Partitioning
Design Concepts and Principles (continued):
Design Concepts:
25. • Data Structure
• Software Procedure
• Information Hiding
26. TUTORIAL - III
ASSIGNMENT-II
27.
TEST-II
Software Architecture:
1. Architecture Definition
2. Importance of Architecture
Data Design:
28. • Data Modeling
• Data Structures
• Databases
• Data warehouse
• Data Design at component Level
Architectural Styles:
29. • Styles & Patterns
• Organization & Refinement
Structured Programming:
• Graphical Design Notation
30.
• Tabular Design Notation
• Program Design Language
31. Comparison of Design Notation
32. • Object Oriented paradigm
6. • Object Oriented Concepts:
o Classes & Objects
o Attributes
o Operations
o Methods & Services
Object Oriented Concepts:
• Messages
33.
• Encapsulation
• Inheritence and Polymorphism
Software Testing Fundamentals:
• Testing Definition
34. • Testing Objectives
• Testing Principles
• Testability
35. Test Case Design, White Box Testing
Basis Path Testing:
36. • Flow Graph Notation
• Cyclomatic Complexity
Basis Path Testing(continued):
37. • Deriving Test Cases
• Graph Matrices
Control Structure Testing:
• Condition Testing
38.
• Data Flow Testing
• Loop Testing
Black Box Testing:
39.
Graph Based Testing Methods
Black Box Testing (continued):
• Equivalence Partitioning
40. • Boundary Value Analysis
• Comparison Testing
• Orthogonal Array Testing
41. TUTORIAL - IV
ASSIGNMENT-III
42.
TEST-III
Strategic Approach to Software Testing:
• Verification & Validation
• Organizing for Software testing
43.
• Software Testing Strategy
• Criteria for completion of testing
• Strategic Issues
Unit Testing:
44. • Unit Testing Considerations
• Unit Testing Procedures
45. Integration Testing:
• Top Design Integration
7. • Bottom Up Integration
• Regression Testing
Integration Testing (continued):
• Smoke Testing
46.
• Comments on Integration Testing
• Integration Test documentation
47. Validation Testing:
• Validation Test Criteria
• Configuration Review
• Alpha & Beta Testing
System Testing:
• Recovery Testing
48. • Security Testing
• Stress Testing
• Performance Testing
49. TUTORIAL – V