Software Engineering
Software Engineering
II Year – II SEMESTER
4 0 3
SOFTWARE ENGINEERING
OBJECTIVES
To understand the software life cycle models.
To understand the software requirements and SRS document.
To understand the importance of modeling and modeling languages.
To design and develop correct and robust software products.
To understand the quality control and how to ensure good quality software.
To understand the planning and estimation of software projects.
To understand the implementation issues, validation and verification procedures.
To understand the maintenance of software
UNIT-I:
Software and Software Engineering: The Nature of Software, The Unique Nature of
WebApps, Software Engineering, Software Process, Software Engineering Practice, Software
Myths.
Process Models: A Generic Process Model, Process Assessment and Improvement, Prescriptive
Process Models, Specialized Process Models, The Unified Process, Personal and Team Process
Models, Process Terminology, Product and Process.
UNIT-II:
Requirements Analysis And Specification: Requirements Gathering and Analysis, Software
Requirement Specification (SRS), Formal System Specification.
Software Design: Overview of the Design Process, How to Characterise of a Design?, Cohesion
and Coupling, Layered Arrangement of Modules, Approaches to Software Design
UNIT – III:
Function-Oriented Software Design: Overview of SA/SD Methodology, Structured Analysis,
Developing the DFD Model of a System, Structured Design, Detailed Design, Design Review,
over view of Object Oriented design.
User Interface Design: Characteristics of Good User Interface, Basic Concepts, Types of User
Interfaces, Fundamentals of Component-based GUI Development, A User Interface Design
Methodology.
UNIT – IV:
Coding And Testing: Coding, Code Review, Software Documentation, Testing, Unit Testing,
Black-Box Testing, White-Box Testing, Debugging, Program Analysis Tool, Integration Testing,
Testing Object-Oriented Programs, System Testing, Some General Issues Associated with
Testing
UNIT – V:
Software Reliability And Quality Management: Software Reliability, Statistical Testing,
Software Quality, Software Quality Management System, ISO 9000, SEI Capability Maturity
Model.
Computer Aided Software Engineering: Case and its Scope, Case Environment, Case Support
in Software Life Cycle, Other Characteristics of Case Tools, Towards Second Generation CASE
Tool, Architecture of a Case Environment
UNIT – VI
Software Maintenance: Software maintenance, Maintenance Process Models, Maintenance
Cost, Software Configuration Management.
Software Reuse: what can be Reused? Why almost No Reuse So Far? Basic Issues in Reuse
Approach, Reuse at Organization Level.
OUTCOMES
Define and develop a software project from requirement gathering to implementation.
Obtain knowledge about principles and practices of software engineering.
Focus on the fundamentals of modeling a software project.
Obtain knowledge about estimation and maintenance of software systems
TEXT BOOKS:
1. Software Engineering - Concepts and Practices: Ugrasen Suman, Cengage Learning
2. Software Engineering - A Practitioner’s Approach, Roger S. Pressman, Seventh Edition
McGrawHill International Edition.
3. Fundamentals of Software Engineering, Rajib Mall, Third Edition, PHI.
4. Software Engineering, Ian Sommerville, Ninth edition, Pearson education
REFERENCE BOOKS:
1. Software Engineering : A Primer, Waman S Jawadekar, Tata McGraw-Hill, 2008
2. Software Engineering, A Precise Approach, PankajJalote, Wiley India,2010.
3. Software Engineering, Principles and Practices, Deepak Jain, Oxford University Press.
4. Software Engineering1: Abstraction and modeling, Diner Bjorner, Springer International
edition, 2006.