III - IV - CS304 - Software Engineering Syllabus
III - IV - CS304 - Software Engineering Syllabus
Software Engineering 3 0 0 3
Course Objectives:
1. To understand software process models such as waterfall and evolutionary models.
2. To understand software requirements management process, including SRS document.
3. To understand different software architecture styles including enterprise architecture
4. To understand software testing approaches such as unit testing, component testing and
integration testing.
5. To understand quality control and how to ensure good quality software.
6. To understand Software project management to deliver efficient software products
and solutions
Course Content
UNIT- I: Introduction to Software Engineering: The evolving role of software, Changing
Nature of Software, Industry 4.0 and Digital Transformation, Software myths. A Generic
view of process: Software engineering- A layered technology, a process framework, Process
models: The waterfall model, Incremental process models, Agile software development,
Evolutionary process models, The Unified process, Product development Lifecycle – stages.
UNIT – III: Design Engineering: Design concepts, design model. Cohesion & Coupling,
Introduction to Enterprise architecture and frameworks.
Testing Strategies: A strategic approach to software testing, test strategies for conventional
software, Black-Box and White-Box testing, Validation testing, Unit testing, System
integration testing, Penetration testing, Regression testing, Software configuration
management and prominently used tools, Debugging.
UNIT- IV:
Product Metrics: Metrics for Analysis Model, Metrics for Design Model, Metrics for
testing, Metrics for maintenance. Metrics for Project Management, Metrics for Process and
Products: Software Measurement.
Risk Management: Reactive vs. Proactive Risk strategies, Software risks, Risk
identification, Risk projection, Risk refinement, RMMM Plan, Risk management process
(identify, analyze, prioritize, response, monitor) includes Risk mitigation strategies.
Quality Management: Quality concepts, Software quality assurance, Software Reviews,
Formal technical reviews, The ISO 9000 quality standards.
Text Books
1. “Software Engineering: A practitioner’s Approach”, Roger S Pressman, 6th edition.
McGrawHill International Edition.
2. “Software Engineering”, Ian Sommerville, 7th edition, Pearson education.
Reference Books
1. "Software Engineering, A Precise Approach", Pankaj Jalote, Wiley India, 2010.
2. "Software Engineering: A Primer", Waman S Jawadekar, Tata McGraw-Hill, 2008
3. "Fundamentals of Software Engineering", Rajib Mall, PHI, 2005
4. PMI’s PM Body of knowledge
Learning Outcomes: Upon successful completion of the course, student will be able to:
1. Identify the minimum requirements for the development of application
2. Develop, maintain, efficient, reliable and cost-effective software solutions
3. Critically think and evaluate assumptions and arguments
4. Manage the software development life cycle
5. Identify and apply appropriate software architectures and patterns to carry out high
level design of a system and be able to critically compare alternative choices.