Fundamentals of Software Engineering
312 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Fundamentals of Software Engineering , livre ebook

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
312 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Practical Handbook to understand the hidden language of computer hardware and softwareDESCRIPTIONThis book teaches the essentials of software engineering to anyone who wants to become an active and independent software engineer expert. It covers all the software engineering fundamentals without forgetting a few vital advanced topics such as software engineering with artificial intelligence, ontology, and data mining in software engineering.The primary goal of the book is to introduce a limited number of concepts and practices which will achieve the following two objectives:Teach students the skills needed to execute a smallish commercial project.Provide students with the necessary conceptual background for undertaking advanced studies in software engineering through courses or on their own.KEY FEATURESThis book contains real-time executed examples along with case studies.Covers advanced technologies that are intersectional with software engineering.Easy and simple language, crystal clear approach, and straight forward comprehensible presentation.Understand what architecture design involves, and where it fits in the full software development life cycle.Learning and optimizing the critical relationships between analysis and design.Utilizing proven and reusable design primitives and adapting them to specific problems and contexts.WHAT WILL YOU LEARNThis book includes only those concepts that we believe are foundational. As executing a software project requires skills in two dimensions-engineering and project management-this book focuses on crucial tasks in these two dimensions and discuss the concepts and techniques that can be applied to execute these tasks effectively. WHO THIS BOOK IS FORThe book is primarily intended to work as a beginner's guide for Software Engineering in any undergraduate or postgraduate program. It is directed towards students who know the program but have not had formal exposure to software engineering.The book can also be used by teachers and trainers who are in a similar state-they know some programming but want to be introduced to the systematic approach of software engineering.TABLE OF CONTENTS1. Introductory Concepts of Software Engineering2. Modelling Software Development Life Cycle3. Software Requirement Analysis and Specification4. Software Project Management Framework5. Software Project Analysis and Design6. Object-Oriented Analysis and Design7. Designing Interfaces & Dialogues and Database Design8. Coding and Debugging9. Software Testing10. System Implementation and Maintenance11. Reliability12. Software Quality13. CASE and Reuse14. Recent Trends and Development in Software Engineering15. Model Questions with AnswersABOUT THE AUTHORHitesh Mohapatra received a B.E. degree in Information Technology from Gandhi Institute of Engineering and Technology, Gunupur, Biju Patnaik University of Technology, Odisha in 2006, and an MTech. Degree in CSE from Govt. College of Engineering and Technology, Bhubaneswar, Biju Patnaik University of Technology, Odisha in 2009. He is currently a full-time PhD scholar at Veer Surendra Sai University of Technology, Burla, India since 2017 and expected to complete by August 2020. He has contributed 10+ research-level papers (SCI/Scopus), eight international/national conferences (Scopus), and a book on C Programming. He has 12+ years of teaching experience both in industry and academia. His current research interests include wireless sensor network, smart city, smart grid, smart transportation, and smart water. Amiya Kumar Rath received a B.E. degree in computer from Dr Babasaheb Ambedkar Marathwada University, Aurangabad, in 1990, and an M.B.A. degree in systems management from Shivaji University in 1993. He also received an MTech. Degree in computer science from Utkal University in 2001, and a PhD degree in computer science from Utkal University, in 2005, with a focus on embedded systems. He is currently a Professor with the Department of Computer Science and Engineering, Veer Surendra Sai University of Technology, Burla, India. He has contributed over 80 research-level papers to many national and international journals and conferences, authored seven books published by reputed publishers. His research interests include embedded systems, ad hoc networks, sensor network, power minimization, evolutionary computation, and data mining. Currently, deputed as an adviser to the National Assessment and Accreditation Council (NAAC), Bangalore, India.

Sujets

Informations

Publié par
Date de parution 14 janvier 2020
Nombre de lectures 1
EAN13 9789388176774
Langue English
Poids de l'ouvrage 4 Mo

Informations légales : prix de location à la page 0,0600€. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Extrait

Fundamentals of Software Engineering

Designed to provide an insight into the software engineering concepts

by
Hitesh Mohapatra
Amiya Kumar Rath
FIRST EDITION 2020
Copyright © BPB Publications, India
ISBN: 978-93-88511-773
All Rights Reserved. No part of this publication may be reproduced or distributed in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication.
LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY
The information contained in this book is true to correct and the best of author’s & publisher’s knowledge. The author has made every effort to ensure the accuracy of these publications, but cannot be held responsible for any loss or damage arising from any information in this book.
All trademarks referred to in the book are acknowledged as properties of their respective owners.
Distributors:
BPB PUBLICATIONS
20, Ansari Road, Darya Ganj
New Delhi-110002
Ph: 23254990/23254991
MICRO MEDIA
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Ph: 22078296/22078297
DECCAN AGENCIES
4-3-329, Bank Street,
Hyderabad-500195
Ph: 24756967/24756400
BPB BOOK CENTRE
376 Old Lajpat Rai Market,
Delhi-110006
Ph: 23861747
Published by Manish Jain for BPB Publications, 20 Ansari Road, Darya Ganj, New Delhi-110002 and Printed by him at Repro India Ltd, Mumbai
Dedicated to Our Students
About the Authors
HITESH MOHAPATRA received the B.E. degree in Information Technology from Gandhi Institute of Engineering and Technology, Gunupur, Biju Patnaik University of Technology, Odisha in 2006, the MTech degree in CSE from Govt. College of Engineering and Technology, Bhubaneswar, Biju Patnaik University of Technology, Odisha in 2009. He is currently a full time Ph.D. scholar at Veer Surendra Sai University of Technology, Burla, India since 2017 and expected to complete by August 2020. He has contributed 10+ research level papers (SCI/Scopus), 8 international/national conferences (Scopus) and a book on C Programming. He has 12+ years of teaching experience both in industry and academia. His current research interests include wireless sensor network, smart city, smart grid, smart transportation and smart water.
AMIYA KUMAR RATH received the B.E. degree in computer from Marathwada University, Maharashtra in 1990, the M.B.A. degree in systems management from Shivaji University, Maharashtra in 1993, the MTech. degree in computer science from Utkal University, Odisha in 2001, and the Ph.D. degree in computer science from Utkal University, in 2005, with a focus on embedded systems. He is currently a Professor with the Department of Computer Science and Engineering, Veer Surendra Sai University of Technology, Burla, Odisha, India. He has contributed over 100+ research level papers to many national and international journals and conferences. He has published seven books by reputed publishers. His research interests include embedded systems, ad hoc networks, sensor network, Smart City, evolutionary computation and data mining. Currently, he has been deputed as adviser to National Assessment and Accreditation Council (NAAC), Bangalore, India.
Acknowledgement
We would like to express our gratitude to BPB Publications, who conceived this idea of a concise introductory book and created this opportunity. We would also like to express our thanks to our students as they not only learned from us but also taught us many things.
Preface
As a process of guiding beginners on Software Engineering remains one of the hardest subjects to teach largely because of the wide range of topics the area encompasses. We have believed for some time that we often tend to teach too many concepts and topics in guiding process resulting in shallow knowledge and little insight on the application of these concepts. The Software Engineering is finally about the application of concepts to efficiently engineer good software solutions.
Goals
We believe that guide book on Software Engineering should focus on imparting to students the knowledge and skills that are needed to successfully execute a commercial project of a few person-months efforts while employing proper practices and techniques. It is worth pointing out that a vast majority of the projects executed in the industry today fall in this scope—executed by a small team over a few months. I also believe that by carefully selecting the concepts and topics, we can, in the course of a semester, achieve this. This is the motivation of this book. The goal of this book is to introduce to the students a limited number of concepts and practices which will achieve the following two objectives:
– Teach the student the skills needed to execute a smallish commercial project.
– Provide the students necessary conceptual background for undertaking advanced studies in software engineering, through courses or on their own.
Organization
We have included in this book only those concepts that we believe are foundational and through which the two objectives mentioned above can be met. Advanced topics have been intentionally left out. As executing a software project requires skills in two dimensions—engineering and project management—this book focuses on key tasks in these two dimensions, and discusses concepts and techniques that can be applied to effectively execute these tasks. The book is organized in a simple manner, with one chapter for each of the key tasks in a project. For engineering, these tasks are requirements analysis and specification, design of the module and its architecture, coding and testing. For project management, the key tasks are project planning and project monitoring and control, but both are discussed together in one chapter on project planning as even monitoring has to be planned. In addition, the book contains one chapter that clearly defines the problem domain of Software Engineering and another chapter that discusses the central concept of software process which integrates the different tasks executed in a project. Each chapter opens with some introduction and then clearly lists the chapter goals, or what the reader can expect to learn from the chapter. For the task covered in the chapter, the important concepts are first discussed, followed by a discussion of the output of the task, the desired quality properties of the output, and some practical methods and notations for performing the task. The explanations are supported by examples, and the key learnings are summarized in the end for the reader. The chapter ends with some self-assessment exercises and another chapter which is added on in this is model questions and answers. This chapter will help students to prepare for the examination and for own assessment.
Target Audience
The book is primarily intended for as a beginner’s guide for Software Engineering in any undergraduate or postgraduate program. It is targeted for students who know the programme but have not had formal exposure to software engineering. The book can also be used by teachers and trainers who are in a similar state—know some programming but want to be introduced to the systematic approach of software engineering.
Errata
We take immense pride in our work at BPB Publications and follow best practices to ensure the accuracy of our content to provide with an indulging reading experience to our subscribers. Our readers are our mirrors, and we use their inputs to reflect and improve upon human errors if any, occurred during the publishing processes involved. To let us maintain the quality and help us reach out to any readers who might be having difficulties due to any unforeseen errors, please write to us at :
errata@bpbonline.com
Your support, suggestions and feedbacks are highly appreciated by the BPB Publications’ Family.
Table of Contents
1. Introductory Concepts of Software Engineering
Objective
Introduction
Definition
Evolution and Impact of SE
Software Engineering Process
Software Engineering
Levels of Software Process
Importance of SW Project Construction
Problems in System Development
Solutions to the Problems
Qualities of the Software
System Analysis and Design
System Analysis
System Architecture and Design
Summary
Questions and Answers
Exercises
2. Modelling Software Development Life Cycle
Objectives
System Analysis and Design
Data and Process
Process oriented approach
Data oriented approach
Types of Systems and System Developments
Transaction processing system
Management information system
Decision support system
Expert system
Overview of SDLC
Brief Description on Different Phases
Feasibility study
Requirement analysis and design
Coding
Testing
Maintenance
Types of Models
The Iterative Waterfall Model
The V-process Model
The Spiral Model
Software Prototyping
Incremental Approach
Evolutionary Model
The Importance of Metaphors
Summary
Questions and Answers
Exercises
3. Software Requirement Analysis and Specification
Objectives
Introduction To Software Requirement
Requirement Engineering
Software Requirements Specification
Software Requirement Definition
Software Requirement Specification
Software Requirement Collection
Traditional Methods for System Requirements
Interviewing and listening
Questionnaires
Modern Methods for System Requirements
CASE tools in JAD
GSS with JAD
Prototyping for system requirement
Radical Methods for System Requirement
Principles of Re-engineering
Software Requirement Classification
Functional Requirements
Performance Requirements
Design Requirements
Derived Requirements
Allocated Requirements
Software Requirement Analysis
Software Requirement Documentation
Architecture/Design Doc

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents