BCS501 Software Engineering and Project Management
Course Learning Objectives
This course 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 requirement gathering, requirement classification, requirement
specification and requirements validation.
• Recognize the importance of Project Management with its methods and methodologies.
• Identify software quality parameters and quantify software using measurements and metrics.
List software quality standards and outline the practices involved
SYLLABUS COPY
MODULE - 1
Software and Software Engineering: The nature of Software, The unique nature of WebApps,
Software Engineering, The software Process, Software Engineering Practice, Software Myths.
Process Models: A generic process model, Process assessment and improvement, Prescriptive
process models: Waterfall model, Incremental process models, Evolutionary process models,
Concurrent models, Specialized process models. Unified Process , Personal and Team process models
MODULE - 2
Understanding Requirements: Requirements Engineering, Establishing the ground work, Eliciting
Requirements, Developing use cases, Building the requirements model, Negotiating Requirements,
Validating Requirements.
Requirements Modeling Scenarios, Information and Analysis classes: Requirement Analysis,
Scenario based modeling, UML models that supplement the Use Case, Data modeling Concepts,
Class-Based Modeling.
Requirement Modeling Strategies : Flow oriented Modeling , Behavioral Modeling
MODULE - 3
Agile Development: What is Agility?, Agility and the cost of change. What is an agile Process?,
Extreme Programming (XP), Other Agile Process Models, A tool set for Agile process .
Principles that guide practice: Software Engineering Knowledge, Core principles, Principles that
guide each framework activity.
MODULE - 4
Introduction to Project Management: Introduction, Project and Importance of Project Management,
Contract Management, Activities Covered by Software Project Management, Plans, Methods and
Methodologies, Some ways of categorizing Software Projects, Stakeholders, Setting Objectives,
Business Case, Project Success and Failure, Management and Management Control, Project
Management life cycle, Traditional versus Modern Project Management Practices.
Project Evaluation: Evaluation of Individual projects, Cost–benefit Evaluation Techniques, Risk
Evaluation
MODULE - 5
Software Quality: Introduction, The place of software quality in project planning, Importance of
software quality, Defining software quality, Software quality models, product versus process quality
management.
Software Project Estimation: Observations on Estimation, Decomposition Techniques, Empirical
Estimation Models.
Course outcome
At the end of the course, the student will be able to:
● Differentiate process models to judge which process model has to be adopted for the given
scenarios.
● Derive both functional and nonfunctional requirements from the case study.
● Analyze the importance of various software testing methods and agile methodology.
● Illustrate the role of project planning and quality management in software development.
● Identify appropriate techniques to enhance software quality.
Suggested Learning Resources
Textbooks
1. Roger S. Pressman: Software Engineering-A Practitioners approach, 7th Edition, Tata McGraw Hill.
2. Bob Hughes, Mike Cotterell, Rajib Mall: Software Project Management, 6th Edition, McGraw Hill
Education, 2018.
Reference Book
3. Pankaj Jalote: An Integrated Approach to Software Engineering, Wiley India.
4. “Software Engineering: Principles and Practice”, Hans van Vliet, Wiley India, 3rd Edition, 2010.