Trustworthy Systems Through Quantitative Software Engineering
|
| List Price: | $118.50 |
| Price: | $98.94 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
35 new or used available from $59.99
Average customer review:Product Description
A benchmark text on software development and quantitative software engineering
"We all trust software. All too frequently, this trust is misplaced. Larry Bernstein has created and applied quantitative techniques to develop trustworthy software systems. He and C. M. Yuhas have organized this quantitative experience into a book of great value to make software trustworthy for all of us."
-Barry Boehm
Trustworthy Systems Through Quantitative Software Engineering proposes a novel, reliability-driven software engineering approach, and discusses human factors in software engineering and how these affect team dynamics. This practical approach gives software engineering students and professionals a solid foundation in problem analysis, allowing them to meet customers' changing needs by tailoring their projects to meet specific challenges, and complete projects on schedule and within budget.
Specifically, it helps developers identify customer requirements, develop software designs, manage a software development team, and evaluate software products to customer specifications. Students learn "magic numbers of software engineering," rules of thumb that show how to simplify architecture, design, and implementation.
Case histories and exercises clearly present successful software engineers' experiences and illustrate potential problems, results, and trade-offs. Also featuring an accompanying Web site with additional and related material, Trustworthy Systems Through Quantitative Software Engineering is a hands-on, project-oriented resource for upper-level software and computer science students, engineers, professional developers, managers, and professionals involved in software engineering projects.
An Instructor's Manual presenting detailed solutions to all the problems in the book is available from the Wiley editorial department.
An Instructor Support FTP site is also available.
Product Details
- Amazon Sales Rank: #394801 in Books
- Published on: 2005-10-19
- Original language: English
- Number of items: 1
- Binding: Hardcover
- 464 pages
Editorial Reviews
Review
"In a study, the book was found to be successful at significantly increasing the students' willingness and competency in using good software engineering processes." (Computing Reviews.com, May 10, 2006)
"…the book is an excellent and very readable guide to the development of reliable software, augmented with humor, case studies, useful tidbits…highly recommended for all software engineers." (CHOICE, March 2006)
From the Back Cover
A benchmark text on software development and quantitative software engineering
"We all trust software. All too frequently, this trust is misplaced. Larry Bernstein has created and applied quantitative techniques to develop trustworthy software systems. He and C. M. Yuhas have organized this quantitative experience into a book of great value to make software trustworthy for all of us."
—Barry Boehm
Trustworthy Systems Through Quantitative Software Engineering proposes a novel, reliability-driven software engineering approach, and discusses human factors in software engineering and how these affect team dynamics. This practical approach gives software engineering students and professionals a solid foundation in problem analysis, allowing them to meet customers' changing needs by tailoring their projects to meet specific challenges, and complete projects on schedule and within budget.
Specifically, it helps developers identify customer requirements, develop software designs, manage a software development team, and evaluate software products to customer specifications. Students learn "magic numbers of software engineering," rules of thumb that show how to simplify architecture, design, and implementation.
Case histories and exercises clearly present successful software engineers' experiences and illustrate potential problems, results, and trade-offs. Also featuring an accompanying Web site with additional and related material, Trustworthy Systems Through Quantitative Software Engineering is a hands-on, project-oriented resource for upper-level software and computer science students, engineers, professional developers, managers, and professionals involved in software engineering projects.
About the Author
LAWRENCE BERNSTEIN is the Series Editor for the Quantitative Software Engineering Series, published by Wiley. Professor Bernstein is currently Industry Research Professor at the Stevens Institute of Technology. He previously pursued a distinguished executive career at Bell Laboratories. He is a Fellow of IEEE and ACM.
C. M. YUHAS is a freelance writer who has published articles on network management in the IEEE Journal on Selected Areas in Communication and IEEE Network. She has a BA in English from Douglass College and an MA in communications from New York University.
Customer Reviews
It's about time! Signed, a former software engineer on the Space Shuttle
Well, this is certainly a much different type of software engineering textbook than I have seen in the last score of years ☺! I was a reviewer of early editions of Pressman, and a user of every edition since the second one at four different universities. Shooman's classic 20+ years ago is another early data point for a graduate course. The Software Engineering Lectures of Tom DeMarco and Ed Yourdon from 1979 are still shelved six feet away from me, and have been referenced in every undergrad and graduate software engineering related course I have taught since 1984. The same shelves contain Pfleeger, Leach, Lethbridge, Peters, Watts & Humphrey, Sommerville, Thayer and many others within the combined 12 foot lineal span. They obviously are used, but not to the extent of Pressman.
That may be about to be changed! Larry Bernstein's new text states on page 32 ".. none of these [principles of sound organizations] will work unless our profession recognizes the next core element in the evolution of software processes as a fundamental principle. Software trustworthiness is the next major area in which academic and industry must focus -- both for national security reasons as well as to ensure that the U.S. software industry maintains its leadership. The three attributes of software reliability, security and safety comprise trustworthiness."
I totally agree with the belief about where we should focus our attention in coming years, but not for the reasons that Larry cites. Let me explain:
* Having worked as a software/knowledge engineer on the Space Shuttle program for Rockwell International for four years, including the maiden flight of Discovery within a few months of my hire date in 1984, I am a very firm believer that the trustworthiness of the software in the shuttle and all the support effort was a gold standard at the time. I was also a full-time professor of CS concurrently, so could bring such issues to all of my classes. Although I have given up my dream of going to the moon, hatched when my small team of high school students fired off rockets in a farmer's field prior to Sputnik, I still hope to make it to the international space station, so a trustworthy system is not only of academic interest! In the last 20+ years, the ubiquity of computing, particularly embedded systems in all modes of transportation, makes such a standard a MUST, not just "nice to have" in our cars, trucks, planes, etc. When a team of Ford software engineers showed up in my office 10+ years ago, asking for help in developing safe software systems for next generation side impact sensors, I could not brush off their concerns! Obviously, software systems pervade the lives of many of the 6.6 billion people residing on this planet today, not just the billion or so who access the Internet. It is irresponsible, not to mention a direct violation of codes of ethics for computing and software engineering, NOT to develop such trustworthy systems.
* I cannot agree with Larry's rationale about the leadership of the U.S. in software. Trustworthiness of software systems knows no national boundaries! Other engineering artifacts do not know such artificial boundaries - do we want the bridges and high rise buildings of Europe, Asia, the Middle East, South America, Africa, etc. to be less safe, reliable and secure than those in the United States? I think not, if for not other reason than millions of our citizens travel to and live in those countries every day. Clearly, the lives of people across the world are just as valuable as those fortunate enough to live in our 50 states. The state-of-the-art in engineering methods is being advanced on a world-wide basis - why should we think software engineering education is somehow an exception? I would hope that this new text would be published in many languages and used by students and practitioners worldwide. I had first met Professor Bernstein on November 30, 2000 during my sabbatical to set up an International Software Engineering University Consortium (www.iseuc.org). So Larry clearly knows of my penchant for the world-wide importance of software engineering ☺!
Why do I think this new text is different from earlier ones and would recommend strongly that all current faculty and practitioners consider it carefully, especially for an introduction? The rationale includes the following. The text:
1. Focuses on the increasingly vital role that trustworthy software systems will play in the lives of current and future generations. Consequently, it is quite easy to engage or "hook" students in an introductory software engineering course about the importance of the topic - they see the impact of the lack of such systems on a weekly, if not daily, basis. Many of them will be able to share personal and professional experiences. The marvelous column by Neumann in every copy of ACM's SIGSOFT Software Engineering News provides ample examples, in any case.
2. Is cleverly written with excellent and realistic case studies with real questions and answers
3. Draws on the demonstrated expertise of the primary author when he was the CTO for Bell Labs
4. Truly demonstrates the rationale for the role of quantitative software engineering methods throughout the development life-cycle, beginning on page 4!
Reliabilty = e-k?t, where k is a normalizing constant, ? is complexity/(effectiveness x
staffing) and t is the time the software executes from its launch.
5. Emphasizes the "why" as well as the "how"
6. Includes excerpts from student teams related to the growing use of Real Projects for Real Client Courses - RPRCC-in software engineering and other courses
7. Covers most of the topics in a traditionally-structured software engineering text, but does so in a more contemporary and intuitive way. Some of the topics in other texts that wind up at the end, hence often not covered, are main-line chapters in the Bernstein text*. The newest edition of Sommerville's text does indeed have a 20-page chapter 3 on "Critical Systems" and a complete 120 page Part 4 on the same topic, but this is certainly an anomaly among current texts. The Bernstein text emphasizes trustworthiness as a continuing theme throughout, with the continual use of quantitative measures - witness the large number of "Magic Number" boxes for empirical results and heuristics contained in virtually each chapter. I admit that there would be a "learning curve" for most of us, but hey, aren't we supposed to be paragons for "life-long learning" that we espouse for our students?
8. Has fewer pages than virtually every other text. This is a real advantage. Students (and faculty) feel they have a "prayer" of being able to use the material in one course!
9. Has nice on-line support site.
10. And, finally, Larry will go to great personal lengths to support his text ☺!
A couple of possible sources of improvement for the second edition would include the following:
1. Include Failure Mode Effect Analysis (FMEA) as a major component when designing critical systems. This is a common engineering tool that was used in the design and testing of the Space Shuttle Main Engines (SSME) over the last 30 years.
2. How can the vital concept covered in the text be applied to the massive task of rendering trustworthy the extant base of millions of software systems? The text does a superb job for developing such systems, but can trustworthiness be "bolted on" existing systems? I doubt it, but cannot see an easy answer here.
3. A friendlier website for both instructors and students would be helpful, ala those for other software engineering textbooks
*Topics in the text
Part I. Getting Started
1. Think Like an Engineer - Especially for Software
2. People, Product, Process, Project - The Big Four
Part II. Ethics and Professionalism
3. Software Requirements
4. Prototyping
5. Architecture
6. Estimation, Planning, and Investment
7. Design for Trustworthiness
Part III. Taking the Measure of the System
8. Identifying and Managing Risk
9. Human Factors in Software Engineering
10. Implementation Details
11. Testing and Configuration Management
12. The Final Project: By Students, For Students
Great Case Study Variety and Depth
The most commendable single aspect of this book is the extensive set of real case studies. The main author (Bernstein) comes from decades in high tech industry and this permeates the entire book. The book is extremely broad in scope too, so the prospective reader or student gets a tour of a vast array of related subjects. The quantitative basis for the entire book constantly reminds the reader of the usefulness of a quantitative approach to all sorts of aspects of software engineering. Prospective buyers can dive in to the text at Amazon and make up their own mind about the usefulness for their own purposes. Take a look!
A great course text and practitioner reference guide!
This book does a great job of covering the key tools and techniques used in the development of software systems. It is very readable, and is suitable as a course text or an informative reference guide for practicing programmers and managers. A wealth of case study material provides insights into how to develop reliable software, on time and within budget. Sprinkled throughout are pragmatic rules of thumb and metrics. A good read and a good addition to any reference collection!



