Software development currently is in the hands of people drawn from various disciplines who have no formal training in software engineering, its various aspects, such as the principles, fundamentals, theory and practice. The motivation to write this book, Software Engineering: Principles and Practice, comes from the long felt need to provide a text that has an integrated view of the principles and practice of software engineering. It is designed primarily for the students in graduate courses. Postgraduate students who wish to pursue a career in software design and development and professionals too, will find this book useful as a desk reference. Software engineering has emerged as a discipline like the civil, mechanical and electrical engineering, where engineering principles such as modeling, prototyping, designing, developing, testing, delivery, installation and maintenance are the broad steps woven together to achieve the final engineering objective. While these engineering disciplines are more or less a science, based on mathematics, material sciences, physics and chemistry, the same is not true for software engineering. Software engineering tends to be closer to science essentially because of its approach being scientific, systematic, and the use of standards, protocols, tools and techniques. Further, it encourages the principles of good design and architecture. In view of this, software engineering at the core level is an engineering science. But, when it comes to application, it is dominated by technology and different schools of thought influenced by the standards and vendor-initiated tools, techniques and methodology. In this book, the emphasis is on well-accepted, tested and proven theories and practice of software engineering. The book does not offer recommendations on approach, models and standards, tools and techniques, but, offers them with differential analysis for the user to choose. The process of software development is empirical in nature. However, the process can be systematised using formal methods and application of sound engineering principles customised to the software application domain. This would certainly reduce the risk of developing unacceptable software systems or products in terms of quality, cost and benefits. Organisation of the Book
The organisation of the book is based on modularization of the entire scope of software engineering, prepared by IEEE/ACM. It is presented in five parts and six appendices using an umbrella model. Five parts and six appendices using an umbrella model.
(218.0K)
The organisation of SE in this model is intended to help design courses for students and professionals. Items shown on the umbrella are of common interest to all readers—students as well as practitioners. Those involved in the development of advanced critical complex systems are required to know the management of software development and acquire knowledge of advanced topics in software engineering and CASE tools. Content Design
Objective
The content is crafted with the objective of taking the reader through the basic concepts, theory of software engineering and its applications in the real world of business. Hence, the title Software Engineering: Principles and Practice. The book covers the entire scope of SE from introduction to the code of ethics and social responsibilities. Case Study
The book offers a case for study and analysis. The case is followed by a set of questions for
discussion. The same case has been taken throughout the book; it is presented at the end of each part with questions related to the topics just learnt. At the end of the text, an integrated test solution for the case is given to the reader covering the entire development cycle using both the approaches, SSAD and OOSAD. It is expected that solving questions on the case at the end of each part and then studying and analysing the integrated case solution will enhance the understanding of the underlying concepts and their practical application. Term Project
Three cases are given in Part V for the students to solve and submit as a term project. The case subject has been chosen from the public domain. Presentation Style
The text is written in simple language and explains convincingly the theory of SE with examples, illustrations and cases from a common business scenario. It is aimed at achieving quick understanding and easy learning of the subject. Supplements
A book specific Online Learning Center provides online content for additional learning and reference. This includes general information about the book such as chapter objectives, glossary of key terms, and sample sections from the book. Additionally, it provides a test bank and links to informative Web sites for the students, and solutions to difficult chapter-end questions, guidelines for solving the term project cases, PowerPoint slides, and template forms to work on projects for the instructors. Road Map to Learning Software Engineering
The content of the book can be viewed and used in the following manner, with some variations, if required.The content of the book
(118.0K)
Readers’ Profile
General knowledge of computers, hardware, software, Internet, programming languages and their capabilities are the prerequisites for quick start and self-study of software engineering. Analytical reasoning, problem-solving skills and general awareness about the business and industry processes will expedite the learning process. Suggested reading paths for the various levels of readership are shown in the chapter network diagram.Chapter Network Diagram
Chapter Network Diagram
(65.0K)
Acknowledgements
A number of people have contributed towards the evolution of this book. The existing leading books on the subject written by Roger R. Pressman; Ian Sommerville, Ali Behforooz and Frederic J. Hudson; Carlo Ghezzi, Mehdi Jazayeri, Dino Mandriol; Stephen R. Schach and Ali Bahrami have been the sources of inspiration and have tremendously contributed to the development of the content of this book. I am grateful to these renowned authors.I am also grateful to the reviewers for suggesting modifications, including additions, and for providing valuable suggestions for the improvement of the first draft of the manuscript of all the chapters. The manuscript of the book was data-entered at m’blem, Pune. I am grateful to Mandar and Nandubhau of m’blem for their valuable, non-failing and encouraging support in this activity. The entire text has been written by me in the late night and early morning hours, causing my wife Sudha worry and tension and loss of sleep. I thank her for her tolerance and encouragement throughout. WAMAN S JAWADEKAR
e-mail: jawadekar@vsnl.com |