Topics Covered in Software Engineering
UNIT - I:
Introduction to Software Engineering: The evolving role of software, Changing Nature of Software, Software myths.
A Generic view of process: Software engineering- A layered technology, a process framework, Process patterns, and process assessment
Process models: The waterfall model, Incremental process models, Evolutionary process models, The Unified process, Agility and Agile Process model, Extreme Programming, Other process models of Agile Development and Tools
A Video Presentation on Software Engineering
UNIT - II:
Software Requirements: Functional and non-functional requirements, User requirements, System requirements, Interface specification, the software requirements document
Requirements Engineering Process: Feasibility studies, Requirements elicitation and analysis, Requirements validation, Requirements management
System models: Context Models, Behavioral models, Data models, Object models, structured methods. UML Diagrams
UNIT - III:
Design Engineering: Design process and Design quality, Design concepts, the design model.
Creating an architectural design: Software architecture, Data design, Architectural styles and patterns, Architectural Design.
Object-Oriented Design: Objects and object classes, An Object- Oriented design process, Design evolution.
Performing User interface design: Golden rules, User interface analysis and design, interface analysis, interface design steps, Design evaluation .
UNIT - IV:
Testing Strategies: A strategic approach to software testing, test strategies for conventional software, Black-Box and White-Box testing, Validation testing, System testing, the art of Debugging.
Product metrics: Software Quality, Metrics for Analysis Model, Metrics for Design Model, Metrics for source code, Metrics for testing, Metrics for maintenance.
Metrics for Process and Products: Software Measurement, Metrics for software quality.
UNIT - V :
Risk management: Reactive vs. Proactive Risk strategies, software risks, Risk identification, Risk projection, Risk refinement, RMMM, RMMM Plan.
Quality Management: Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality Assurance, The Capability Maturity Model Integration (CMMI), Software reliability, The ISO 9000 quality standards.
TEXT BOOKS:
1. Software engineering A practitioner’s Approach, Roger S Pressman, 6th Edition. McGraw Hill International Edition.
2. Software Engineering, Ian Summerville, 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, 200
3. Software Engineering: Principles and Practices, Deepak Jain, Oxford University Press.
4. Software Engineering 1: Abstraction and Modelling, Diner Bjorner, Springer International edition, 2006.
5. Software Engineering 2: Specification of Systems and Languages, Diner Bjorner, Springer International edition 2006.
6. Software Engineering Principles and Practice, Hans Van Vliet, 3rd edition, John Wiley & Sons Ltd.
7. Software Engineering 3: Domains, Requirements, and Software Design, D. Bjorner, Springer International Edition.
8. Introduction to Software Engineering, R. J. Leach, CRC Press. Course.