Software Engineering
Unit 1:Introduction To Software Engineering and Process Models
1.1 Definition of Software
1.2 Nature of Software Engineering
1.3 Changing nature of software
1.4 Software Process
1.4.1 The Process Framework
1.4.2 Umbrella Activities
1.4.3 Process Adaptation
1.5 Generic Process Model
1.6 Prescriptive Process Models
1.6.1 The Waterfall Model
1.6.2 Incremental Process Models
1.6.3 Evolutionary Process Models
1.6.4 Concurrent Models
1.6.5 The Unified Process
For Notes
Unit 2: Agile Model
2.1 What is Agility?
2.2 Agile Process
2.2.1 Agility Principles
2.2.2 The Politics Of Agile Development
2.2.3 Human Factors
2.3 Extreme Programming(XP)
2.3.1XP Values
2.3.2XP Process
2.3.3 Industrial XP
2.4 Adaptive Software Development(ASD)
2.5 Scrum
2.6 Dynamic System Development Model (DSDM)
2.7 Agile Unified Process (AUP)
For Notes
Unit 3: Requirment Analysis
3.1 Requirement Elicitation,
3.2 Software requirement specification (SRS)
3.2.1 Developing Use Cases (UML)
3.3 Building the Analysis Model
3.3.1 Elements of the Analysis Model
3.3.2 Analysis Patterns
3.3.3 Agile Requirements Engineering
3.4 Negotiating Requirements
3.5 Validating Requirements
For Notes
Unit 4: Requirment Modeling
4.1 Introduction to UML
4.2Structural Modeling
4.2.1 Use case model
4.2.2Class model
4.3Behavioral Modeling
4.3.1 Sequence model
4.3.2 Activity model
4.3.3 Communication or Collaboration model
4.4 Architectural Modeling
4.4.1 Component model
4.4.2 Artifact model
4.4.3 Deployment model
For Notes
Unit 5: Design Process Concepts
5.1 Design Process
5.1.1 Software Quality Guidelines and Attributes
5.1.2 Evolution of Software Design
5.2 Design Concepts
5.2.1 Abstraction
5.2.2 Architecture
5.2.3 Patterns
5.2.4 Separation of Concerns
5.2.5 Modularity
5.2.6 Information Hiding
5.2.7 Functional Independence
5.2.8 Refinement
5.2.9 Aspects
5.2.10 Refactoring
5.2.11 Object Oriented Design Concepts
5.2.12 Design Classes
5.2.13 Dependency Inversion
5.2.14 Design for Test
5.3 The Design Model
5.3.1 Data Design Elements
5.3.2 Architectural Design Elements
For Notes
Reference Books:
1. Software Engineering : A Practitioner’s Approach - Roger S. Pressman, McGraw hill(Eighth Edition) ISBN-13: 978-0-07-802212-8, ISBN-10: 0-07-802212-6
2. A Concise Introduction to Software Engineering - Pankaj Jalote, Springer ISBN: 978-1-84800-301-9
3. The Unified Modeling Language Reference Manual - James Rambaugh, Ivar Jacobson, Grady Booch ISBN 0-201-30998-X