(PCC-1) Software Engineering
Teaching Scheme Evaluation Scheme
Lectures: 3 Hrs./ Week Theory: MSE: 30 Marks, TA: 20 Marks, ESE: 50 Marks
Laboratory: 2 Hrs./ Week
Self-study: 1 Hr/ Week Laboratory: CIE: 50 Marks, ESE: 50 Marks
Course outcomes
Students will be able to:
1. Describe fundamental concepts of system development lifecycle through SDLC.
2. Design user interface prototypes for real world scenarios using appropriate methods of analysis
and design.
3. Devise procedure to assure the quality and maintainability of the product before and after
deployment.
4. Develop skill to transfer acquired knowledge across a wide range of industrial and commercial
domains and have a basis for further studies in software engineering or in computing related
industries.
5. Analyze real world scenario and apply tools and techniques to produce application software
solutions from informal and semiformal problem specifications.
6. Develop an ability to work in a team by communicating computing ideas effectively in writing a
technical report.
Course content
Software Development Process: [8 Hrs]
Software Engineering basics, Software Crisis and Myths, Software Quality Attributes, Software Process
and development, Software life cycle and Models, Analysis and comparison of various models, Iterative
Enhancement Models, agile process.
Requirement Engineering: [6 Hrs]
Requirements Engineering, requirement engineering process, SRS Document, IEEE Standards for SRS, Introduction
to Analysis model.
System Architecture and Design Overview: [8 Hrs]
Architecture 4+1 view, architecture styles, Design process, Data Flow Diagrams, Entity Relationship Diagrams,
Refactoring of designs, quality concepts – modularity, cohesion coupling, Analysis model to Design Model
transformation, Standardisation using UML.
Project Management & Software Metrics: [6 Hrs]
Project Management Concepts - Planning, Scope, Project Scheduling, Work break-down structure, Milestones,
Deliverables, Introduction to Software Metrics-Size-oriented metrics and function point metrics. Effort and cost
estimation techniques - LOC-based and Function- point based measures - The COCOMO model.
Testing and Maintenance: [8 Hrs]
Validation and Verification activities, Testing Principles and strategies, testing levels- Test Drivers and Test Stubs,
Testing types- White Box & Black Box Testing, Software Maintenance, Types of Maintenance, Overview of Software
Configuration Management.
Quality Assurance: [6 Hrs]
Quality Assurance, Quality Standards Models Overview - ISO, Process improvement Models: CMM & CMMI. Quality
Control and Quality Assurance
Self-study: [12 Hrs]
Case Study of SRS as per IEEE Standards, Entity Relationship Diagrams, Risk Management, Software Configuration
Management Tools, Quality Standards Models - TQM, Six-Sigma.
Textbooks
1. R. S. Pressman, “Software Engineering: A Practitioners Approach”, McGraw Hill, 7th edition, 2010
2. Rajib Mall, “Fundamentals of Software Engineering”, PHI Publication, 3rd edition, 2009
3. “G. Booch, J. Rumbaugh and I. Jacobson. The Unified Modeling Language User Guide, Addison Wesley,
1999.
Reference Books
1. “Shari Pfleeger, “Software Engineering”, 2nd Edition. Pearson’s Education, 2001. · “Ian Sommerville,
“Software Engineering”, 6th Edition, Addison-Wesley, 2000
2. “Pankaj Jalote, “An Integrated Approach to Software Engineering”, Narosa publication house
3. “Fred Brooks, “Mythical Manmonths”
Web references
1. [Link]/~yfcai/CS4517/.
Laboratory assignments
A full-fledged working system in the form of mini project will be implemented following the task list given below.
Students in groups of two will be working on mini project. After consultation with the course instructor and
finalization of the topic following deliverables are expected under mini project. Task List for the same is as follows:
1. Carry out state of art surveys, selecting appropriate domain, problem identification statement formulation
based on research problems or real-world problems, industry-based problems etc.
2. Develop workflow graphs and carry project estimation, calculation of efforts,project planning (schedule)
using automated tools.
3. Gather requirements and Write the Software Requirement specification (SRS, IEEE specs) document for
the project.
4. Design System architecture using different ERD, DFD, UML diagrams for the proposed system. (Use
different open-source tools for design.)
5. Coding/Implementation using suitable Programming Languages/ Technology.
6. Develop Test cases. Propose solution for wrong results in test cases by focusing on regression testing.
7. Write the constraints, advantages and disadvantages of your project over existing system. Write the future
scope of your project. Develop help manual for maintenance and usability.
Students will be required to submit a technical report written using LaTEX. The technical report will include
description of the project/problem, design of the software, description of problems solved and solution design,
result analysis of test cases and conclusions. Students will also be required to demonstrate and present their work
in a viva-voce.