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.
|