JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY HYDERABAD

PRINCIPLES OF SOFTWARE ENGINEERING

M.Tech I Year I Semester (R19)

Prerequisites

Software Engineering

Course Objectives

Your studies will enable you to develop:

  • a broad and critical understanding of all the processes for engineering high quality software and the principles, concepts and techniques associated with software development
  • an ability to analyze and evaluate problems and draw on the theoretical and technical knowledge to develop solutions and systems
  • a range of skills focused on the analysis of requirements, design and implementation of reliable and maintainable software, with strong emphasis on engineering principles applied over the whole development lifecycle
  • an awareness of current research in software development, the analytical skills and research techniques for their critical and independent evaluation and their application to new problems.

UNIT - I

Introduction to Software Engineering: The evolving role of software, Changing Nature of Software, legacy software, Software myths. A Generic view of process: Software engineering - A layered technology, a process framework, The Capability Maturity Model Integration (CMMI), Process patterns, process assessment, personal and team process models. Process models: The waterfall model, Incremental process models, Evolutionary process models, specialized process models, The Unified process.

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.

UNIT - III

Design Engineering: Design process and Design quality, Design concepts, the design model, pattern-based software design. Creating an architectural design: software architecture, Data design, Architectural styles and patterns, Architectural Design, assessing alternative architectural designs, mapping data flow into a software architecture. Modeling component-level design: Designing class-based components, conducting component- level design, object constraint language, designing conventional components. 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, Frame work for Product metrics, 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.

Page 3 of 53

R19 M.TECH. SOFTWARE ENGG.

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, Software reliability, The ISO 9000 quality standards. Configuration Management: Configuration Management planning, Change management, Version and release management, System building, CASE tools for configuration management.

Text Books:

  • 1. Software Engineering: A practitioner’s Approach, Roger S Pressman, sixth edition. McGraw Hill International Edition, 2005
  • 2. Software Engineering, Ian Sommerville, seventh edition, Pearson education, 2004.

Reference Books:

  • 1. Software Engineering, A Precise Approach, Pankaj Jalote, Wiley India, 2010.
  • 2. Software Engineering: A Primer, Waman S Jawadekar, Tata McGraw-Hill, 2008
  • 3. Fundamentals of Software Engineering, Rajib Mall, PHI, 2005
  • 4. Software Engineering, Principles and Practices, Deepak Jain, Oxford University Press.
  • 5. Software Engineering1: Abstraction and modeling, Diner Bjorner, Springer International edition, 2006.
  • 6. Software Engineering2: Specification of systems and languages, Diner Bjorner, Springer International edition, 2006.
  • 7. Software Engineering Foundations, Yingxu Wang, Auerbach Publications, 2008.
  • 8. Software Engineering 3: Domains, Requirements and Software Design, D. Bjorner, Springer, International Edition.
  • 9. Software Engineering Principles and Practice, Hans Van Vliet,3rd edition, Wiley India edition.
  • 10. Introduction to Software Engineering, R.J. Leach, CRC Press.
  • 11. Software Engineering Fundamentals, Ali Behforooz and Frederick J. Hudson, Oxford University Press, rp2009
  • 12. Software Engineering Handbook, Jessica Keyes, Auerbach, 2003. Page 4 of 53 R19 M.TECH. SOFTWARE ENGG. M. Tech. – I Year – I Semester (Software Engineering)

Loading Question Papers

Fetching data from database...