Course Objectives :
- To introduce the basic concepts of the software development processes, Software requirements and specifications
- To impart knowledge of Software Project Planning and various Software design techniques for developing large software systems.
- To understand Software Metrics, Software Reliability, and Quality assurance using ISO 9001 and SEI-CMM.
- To impart the knowledge and use of software engineering processes and tools in analysis, design, implementation, software testing, documentation, and maintenance for software systems.
Course Outcomes (CO)
- CO 1 Ability to have an understanding of SDLC Models, Techniques for Requirement Elicitation, and SRS Document.
- CO 2 To be able to explain Software Project Planning and various methods for software design
- CO 3 To Understand Software Metrics, Software Reliability, and Quality assurance
- CO 4 Ability to have an understanding of Software testing, documentation and maintenance.
UNIT-I
Introduction: Introduction to Software Engineering, Importance of software engineering as a discipline, Software applications, Software Crisis, Software Processes & Characteristics, Software life cycle models, Waterfall, Prototype, Evolutionary and Spiral Models.
Software Requirements Analysis & Specifications: Requirement engineering, Functional and non-functional requirements, User requirements, System requirements, requirement elicitation techniques like FAST, QFD & Use case approach, requirements analysis using DFD, Data dictionaries & ER Diagrams, Requirements documentation, Nature of SRS, Characteristics & organization of SRS, Requirement Management, IEEE Std. for SRS.
UNIT-II
Software Project Planning: Size Estimation like lines of Code & Function Count, Cost Estimation Models, COCOMO, Putnam resource allocation model, Validating Software Estimates, Risk Management.
Software Design: Cohesion & Coupling, Classification of Cohesiveness & Coupling, Function Oriented Design, Object Oriented Design, User Interface Design.
UNIT-III
Software Metrics: Software measurements: What & Why, Token Count, Halstead Software Science Measures, Data Structure Metrics, Information Flow Metrics.
Software Reliability: Importance, Hardware Reliability & Software Reliability, Failure and Faults, Reliability Models- Basic Model, Logarithmic Poisson Model, Software Quality Models, CMM & ISO 9001.
UNIT – IV
Software Testing: Testing process, Functional testing: Boundary value analysis, Equivalence class testing, Decision table testing, Cause effect graphing, Structural testing: Path testing, Data flow and mutation testing, unit testing, integration and system testing, Debugging, Testing Tools & Standards.
Software Maintenance: Management of Maintenance, Maintenance Process, Maintenance Models,
Regression Testing, Reverse Engineering, Software Re-engineering, Configuration Management, Documentation.
Textbook(s):
- K. K. Aggarwal and Yogesh Singh, “Software Engineering”, New Age International, 3rd Ed., 2005.
- R. S. Pressman, “Software Engineering – A Practitioner's Approach”, McGraw Hill Int. , 5th Ed., 2001.
- Pankaj Jalote, “An Integrated Approach to Software Engineering”, Narosa, 3rd Ed., 2005.
References:
- Stephen R. Schach, “Classical & Object Oriented Software Engineering”, IRWIN, 1996.
- James Peter, W. Pedrycz, “Software Engineering: An Engineering Approach”, John Wiley & Sons.
- I. Sommerville, “Software Engineering”, Addison Wesley,8th Ed., 2009.
- Frank Tsui and Orlando Karan, “Essentials of Software Engineering”, Joes and Bartlett, 2nd Ed., 2010.
- Kassem A. Saleh, “Software Engineering”, Cengage Learning, 2009.
- Rajib Mall, “Fundamrntal of Software Engineering”, PHI, 3rd Ed., 2009.
- Carlo Ghizzi, Mehdi Jazayeri and Dino Mandrioli, “Fundamental of Software Engineering”, PHI, 2nd Ed., 2003.
- Carol L. Hoover, Mel Rosso-Ll
No comments:
Post a Comment