Unformatted text preview:

SUBJECT CODE CS8494 Strictly as per Revised Syllabus of Anna University Choice Based Credit System CBCS Semester V IT Semester IV CSE Software Engineering Anuradha A Puntambekar M E Computer Formerly Assistant Professor in P E S Modern College of Engineering Pune TECHNICAL PUBLICATIONS SINCE 1993 An Up Thrust for Knowledge i Software Engineering Subject Code CS8494 Semester V Information Technology Semester IV Computer Science Engineering First Edition January 2019 Reprint June 2019 Second Revised Edition January 2020 Third Revised Edition June 2020 cid 2 Copyright with Author All publishing rights should be reproduced in any form Electronic Mechanical Photocopy or any information storage and retrieval system without prior permission in writing from Technical Publications Pune printed and ebook version Technical Publications reserved with No part of this book Published by TECHNICAL PUBLICATIONS SINCE 1993 An Up Thrust for Knowledge Amit Residency Office No 1 412 Shaniwar Peth Pune 411030 M S INDIA Ph 91 020 24495496 97 Email sales technicalpublications org Website www technicalpublications org Printer Yogiraj Printers Binders Sr No 10 1A Ghule Industrial Estate Nanded Village Road Tal Haveli Dist Pune 411041 I S B N 9 7 8 9 3 3 3 2 2 1 0 5 4 9 7 8 9 3 3 3 2 2 1 0 5 4 AU 17 9789333221054 3 ii preface The importance of Software Engineering is well known in various engineering fields Overwhelming response to my books on various subjects inspired me to write this book The book is structured to cover the key aspects of the subject Software Engineering The book uses plain lucid language to explain fundamentals of this subject The book provides logical method of explaining various complicated concepts and stepwise methods to explain the important topics Each chapter is well supported with necessary illustrations practical examples and solved problems All the chapters in the book are arranged in a proper sequence that permits each topic to build upon earlier studies All care has been taken to make students comfortable in understanding the basic concepts of the subject Representative questions have been added at the end of each section to help the students in picking important points from that section The book not only covers the entire scope of the subject but explains the philosophy of the subject This makes the understanding of this subject more clear and makes it more interesting The book will be very useful not only to the students but also to the subject teachers The students have to omit nothing and possibly have to cover nothing more I wish to express my profound thanks to all those who helped in making this book a reality Much needed moral support and encouragement is provided on numerous occasions by my whole family I wish to thank the Publisher and the entire team of Technical Publications who have taken immense pain to get this book in time with quality printing Any suggestion for the improvement of the book will be acknowledged and well A A Puntambekar Author iii appreciated Dedicated to God Syllabus Software Engineering CS8494 UNIT I Software Process and Agile Development Introduction to Software Engineering Software Process Perspective and Specialized Process Models Introduction to Agility Agile process Extreme programming XP Process Chapter 1 UNIT II Requirements Analysis and Specification Software Requirements Functional and Non Functional User requirements System requirements Software Requirements Document Requirement Engineering Process Feasibility Studies Requirements elicitation and analysis requirements validation requirements management Classical analysis Structured system analysis Petri Nets Data Dictionary Chapter 2 UNIT III Software Design Design process Design concepts Design model Design heuristic Architectural design Architectural styles Architectural design Architectural mapping using data flow User interface design Interface analysis Interface design Component level design Designing class based components Traditional components Chapter 3 UNIT IV Testing and Maintenance Software testing fundamentals Internal and external views of Testing White box testing Basis path testing control structure testing black box testing Regression Testing Unit Testing Integration Testing Validation Testing System Testing And Debugging Software Implementation Techniques Coding practices Refactoring Maintenance and Reengineering BPR model Reengineering process model Reverse and Forward Engineering Chapter 4 UNIT V Project Management Software Project Management Estimation LOC FP Based Estimation Make Buy Decision COCOMO I II Model Project Scheduling Scheduling Earned Value Analysis Planning Project Plan Planning Process RFP Risk Management Identification Projection Risk Management Risk Identification RMMM Plan CASE TOOLS Chapter 5 iv Table of Contents Unit I Chapter 1 Software Process and Agile Development 1 1 to 1 46 1 1 Introduction to Software Engineering 1 2 1 1 1 Defining Software 1 2 1 1 2 Software Characteristics 1 2 1 1 3 Categories of Software 1 4 1 2 Goals and Objectives of Software 1 5 1 3 Difference between Software Product and Program 1 6 1 4 Layered Technology 1 6 1 5 Software Process 1 7 1 5 1 Common Process Framework 1 7 1 5 2 Capability Maturity Model CMM 1 8 1 6 Prescriptive Process Models 1 9 1 6 1 Need for Process Model 1 10 1 6 2 Waterfall Model 1 10 1 6 3 Incremental Process Model 1 13 1 6 3 1 Incremental Model 1 13 1 6 3 2 RAD Model 1 14 1 6 4 Evolutionary Process Model 1 16 1 6 4 1 Prototyping 1 16 1 6 4 2 Spiral Model 1 18 1 6 4 3 Concurrent Development Model 1 21 1 7 Specialized Model 1 28 1 7 1 Component Based Development 1 28 1 7 2 Formal Methods Model 1 29 1 7 3 Aspect Oriented Software Development 1 29 v 1 8 Introduction to Agility 1 32 1 9 Agile Process 1 32 1 9 1 Agile Principles 1 34 1 10 Extreme Programming 1 34 1 10 1 XP Values 1 35 1 10 2 Process 1 35 1 10 3 Industrial XP 1 38 Two Marks Questions with Answers 1 39 Unit II Chapter 2 Requirements Analysis and Specification 2 1 to 2 98 2 1 Software Requirements 2 2 2 2 Functional and Non Functional Requirements 2 3 2 2 1 Functional Requirements 2 3 2 2 1 1 Problems Associated with Requirements 2 3 2 2 2 Non Functional Requirements 2 4 2 2 2 1 Types of Non Functional Requirements 2 4 2 2 2 2 Domain Requirements 2 6 2 2 3 Difference between Functional and Non Functional Requirements 2 6 2 3 User Requirements 2 10 2 3 1 Guidelines for Writing User Requirements 2 11 2 4 System Requirements 2 11 2 4 1


View Full Document

Anna CS 3291 - Software Engineering

Download Software Engineering
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Engineering and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Engineering and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?