Faculty of Engineering & Technology
Faculty of Engineering & Technology
Course objective:
• To learn and understand the Concepts of Software Engineering
• To Learn and understand Software Development Life Cycle
• To apply the project management and analysis principles to software project development.
• To apply the design & testing principles to software project development.
Detailed Syllabus
Sr.No. Topic Lecture Weight
Hours age(%)
1 Software and Software Engineering
Nature of software, Unique Nature of WebApps, Software Engineering 4 9
and its importance, software process, Software Engineering
practice,Software Myths.
2 Software Process Model
A Generic Process Model, Process Assessment and Improvement,
Prescriptive Process Model: Waterfall Model, Incremental Process
Models-Incremental Model, RAD Model,Evolutionary Process Models-
Prototyping, Spiral Model, Concurrent Development Models, Component-
Based Development Model
5 10
AgileDevelopment: What is Agility, What is an Agile Process,Agile
methods Process Models- Extreme programming, Adaptive Software
Development (ASD),Dynamic System Development
Method(DSDM),Scrum.
Computer Aided Software Engineering (CASE) :Overview of CASE
approach, Classification of CASE tools
3 Software Requirement Analysis and Specification
System and software requirements
Types of software requirements: Functional and non-functional
requirements, Domain requirements, User requirements 5 10
Requirements Engineering Tasks,Initiating the Requirement engineering
Process,Eliciting the requirements,Developing Use-cases, Negotiating
Requirements, Validating Requirements.
4 Software Design
Design concepts: Abstraction, Architecture, Patterns, Modularity,
Cohesion, Coupling, Information hiding, Functional independence,
Refinement, Refactoring, Design Classes.
Design Model: Data design Elements, Architectural Design Elements, 5 10
Interface Design Elements, Component Level Design elements,
Deployment-Level Design Elements.
Pattern-Based Software Design: Describing a Design Pattern,Using
Patterns in Design,Frameworks.
5 Coding
Programming languages and development tools ,Selecting languages and 3 6
tools, Good programming practices, Coding Standards
6 Software Testing Strategies
A Strategic Approach to Software Testing,
Techniques of testing: Black-box testing, and White-box testing
Test Strategies: Unit testing, Integration Testing, Interface testing, System 5 10
testing, Alpha and beta testing, Regression testing.
Design of test cases.
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Third Year Bachelor of Engineering (Computer Engineering)
(In Effect From Academic Year 2019-20)
7 Estimation
Software Scope and Feasibility, Software Project Estimation, 5 10
Decomposition Techniques, Empirical Estimation Model.
8 Risk Management
Reactive vs proactive Risk Strategies, Software Risks, Risk Identification,
6 13
Risk projection, Risk refinement, Risk mitigation, monitoring
&management, The RMMM Plan
9 Quality Management
Quality Concepts, Software Quality Assurance, Formal Approaches to 4 9
SQA, Software Reliability, The ISO 9000 Quality Standards.
10 Current trends in Software Engineering
Technology Evolution, Identifying “Soft Trends”, Technology Directions, 6 13
Tools-Related Trends.
Total 48 100
Learning Outcome:
On successful completion of this course, the student should be able to:
Software engineering is a subject that emerged recently as a result of the need to manage software
projects that are rising in demand day by day. Software is developed in diverse areas and the fact that a
systematic approach is required to manage their development spawns this interesting subject of study.
After successfully completing this module the student will be able to explain the software engineering
principles and techniques that are used in developing quality software products.
e-Resources:
• NPTEL: https://onlinecourses.nptel.ac.in/noc18_cs43/preview
https://nptel.ac.in/courses/106101061/
• Udacity: https://eu.udacity.com/course/software-development-process--ud805
• Guru99: https://www.guru99.com/software-engineering-tutorial.html
Kadi Sarva Vishwavidyalaya
Faculty of Engineering & Technology
Third Year Bachelor of Engineering (Computer Engineering)
(In Effect From Academic Year 2019-20)
Reference Books:
1. Software Engineering: A practitioner's approach by Roger S. Pressman, 7th edition,
McGraw-Hill International edition
2. Software Engineering by Ian Sommerville, 7th edition, Addison-Wesley.
3. Fundamentals of Software Engineering by Rajib Mall
4. Software Engineering by K K Agrawal and Yogesh Singh, 3rd edition, New Age International
Publishers
List of experiments
No Name of Experiment