Waysys LLC

WAYSYS ON THE WEB
High Integrity Software


References

Books

[ADZI08]
Gojko Adzic, Test Driven .NET Development with FitNesse
This book provides information about FitNesse, the open-source Wiki and test organization tool. Although this book is geared toward .NET development, it provides useful information about the Framework for Integrated Tests and FitNesse, whether used with .NET or other development environment.
[BECK03]
Kent Beck, Test Driven Development: By Example (Addison-Wesley Signature Series)
Test driven development is one of the most powerful ideas coming out of agile development. Test driven development is a method for developing software. With this method, automated tests are developed before coding the feature. The developer then codes the features so that all tests are passed. The result is not only better code but a set of automated unit tests.
[DERS97]
Edward M. Reingold and Nachum Dershowitz, Calendrical Calculations: The Millennium Edition

This book is a definitive discussion of many different calendars and their date algorithms.

[FITZ04]
John Fitgerald et al. Validated Designs for Object-oriented Systems
This book is one of my favorites on formal methods. While many books on formal methods focus on presenting detailed mathematics and formal proofs, this book provides a tutorial on how to model specifications using a formal specification language. The specification language is the Vienna Development Method Specification Language++ (VDM++). VDM++ is a functional programming language with excellent abilities to express types, data modeling, and algorithms. VDM++ adds object orientation to its predecessor VDM-SL. Unlike some formal specification languages, VDM++ is written using normal characters on a computer keyboard (no Greek letters or special mathematical symbols needed). The book begins with a discussion of why formal modeling is useful in software development. It provides an overview on building a simple model. Part II of the book explains the VDM++ language and how to use those features in building models. Part III provides three case studies. Part IV discusses generating code from the specification. This is a book that programmers without advanced degrees in mathematics can enjoy and profit from. While formal specification is not as widely used as some other requirements approaches, it is particularly effective for use with critical or complex software development. If you have never used formal specification, this is the book to start with.
[FLAN08]
David Flanagan and Yukihiro Matsumoto, The Ruby Programming Language
This book is an excellent tutorial on the Ruby scripting language.
[GILB93]
Tom Gilb and Dorothy Graham, Software Inspection
This book descirbes the process for performing software inspections.
[GILB05]
Tom Gilb, Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage
This books describes a methodology and set of concepts for various areas of software engineering. The book discusses Requirement Specification, Design Engineering, Specification Quality Control, Impact Estimation, and Evolutionary Project Management. The book presents a methodogy for specifying procedures, rules, and other project documentation call Planguage. The book is written in the spirit of continuous improvement and the capability maturity model.
[JOHN06]
Jim Johnson, My Life Is Failure: 100 Things You Should Know to Be a Better Project Leader
This book offers very helpful advice on project management. The author is the founder and chairman of the Standish Group. This organization publishes the oft-quoted statistics on the rate of software project failures. (The percent of failures is very high.) The book offers pointers in 10 categories. I frequently refer to the book to check whether I am managing a project properly. This is not a how-to-guide. It does not tell you how to build a project plan or track a budget. But the advice is excellent. It is also a good place to get the 2004 project failure statistics.
[MUGR05]
Rick Mugridge and Ward Cunningham, Fit for Developing Software: Framework for Integrated Tests (Robert C. Martin Series)
Framework for Integrated Tests (FIT) is both a methodology and software framework for executing automated tests to verify business rules. FIT provides guidance on how the quality assurance organization can produce test cases quickly and effectively.
[ORR81]
Ken Orr, Structured requirements definition
This book is one of the first books I ever studied on requirements analysis. The Warnier-Orr notation never became mainstream, even during the structured development revolution. With the switch to Object Oriented paradigms, structured analysis notation and techniques have been largely ignored. However, this book has a lot of relevance even today. Orr discusses concepts like entity diagrams, assembly line diagrams, Warnier-Orr diagrams, functional decomposition, and the Of Language. Perhaps the most significant idea is the concept of output-oriented design. Output-oriented design starts with the outputs required of the system and works backward to the design of the database and the inputs. The concept is as valid today as in 1981. The book has a lot of valuable wisdom about system development even 25 years later.
[RUMB04]
James Rumbaugh, Ivar Jacobson, Grady Booch, The Unified Modeling Language Reference Manual (2nd Edition) (The Addison-Wesley Object Technology Series)
The Unified Modeling Language (UML) has become the standard notation of object-oriented modeling. This book provides a definitive description of UML.
[SCHN97]
Geri Schnneider and Jason P. Winters, Applying Use Cases: A Practical Guide
This book provides clear guidance on writing use cases. Since Ivar Jacobson's book on Object-Oriented Software Engineering in 1992, there have been a number of explanations and styles of use cases. The approach in this books is one of the easiest to learn and simplest to use.
[SCHW01]
Ken Schwaber and Mike Beedle, Agile Software Development with Scrum (Series in Agile Software Development)
This book is the definitive reference for managing projects using Scrum. Scrum is a method for managing projects. It is one of the agile development techniques.
[ULLM98]
Jeffrey D.Ullman
Elements of ML Programming, ML97 Edition (2nd Edition)
Detailed introduction to the functional language, ML.
[VONH02]
Barbara von Halle, Business Rules Applied: Building Better Systems Using the Business Rules Approach
This book is an excellent reference on the business rule methodology.

Standards

[IEEE90]
Institute of Electrical and Electronics Engineers, Inc., IEEE Standard Glossary of Software Engineering Terminology/IEEE Std 610.12-1990
A dictionary of software engineering terms. Software projects need a glossary of terms to avoid confusion. There are a lot of different meanings assigned to software engineering terms. A good glossary can help insure consistent terminology. This standard provides an extensive and thorough set of definitions, more or less independent of any particular software methodology.
[IEEE98]
Institute of Electrical and Electronics Engineers, Inc., IEEE Recommended Practice for Software Requirements Specifications, IEEE Std 830-1998, ISBN: 0-7381-0332-2
This is a guide for writing software requirements specifications. It describes the necessary content and qualities of a good Software Requirements Specification (SRS) and presents a prototype SRS outline.
[IEEE98A]
Institute of Electrical and Electronics Engineers, Inc., IEEE Standard for Software Project Management Plans, IEEE Std 1058-1998, ISBN: 0-7381-1447-2
The format and contents of software project management plans, applicable to any type or size of software project, are described. The elements that should appear in all software project management plans are identified.
[IEEE02]
Institute of Electrical and Electronics Engineers, Inc., IEEE Standard for Software Quality Assurance Plans, IEEE Std 730-2002, ISBN: 0-7381-3285-3
The standard specifies the format and content of software quality assurance plans. It meets the IEEE/EIA 12207.1 requirements for such plans.
Waysys LLC Home Page
Copyright © 2009, Waysys LLC
Updated: 05-Jan-2009