 | 
| |
Building bug-free O-O software: An introduction to Design by ContractBuilding bug-free O-O software: An introduction to Design by Contract
Advanced use of assertions for clearer specifications and greater software reliability. By OO guru Bertrand Meyer, creator of Eiffel.
|
Classic Mistakes EnumeratedClassic Mistakes Enumerated
Description of 36 ineffective development practices: people-related, process-related, product-related, technology-related. (Sample chapter from Steve McConnell's book Rapid Development.)
|
Heavy RotationHeavy Rotation
For business software, faster-cheaper can be better too.
|
High-Pressure Steam Engines and Computer SoftwareHigh-Pressure Steam Engines and Computer Software
Software safety. Parallels between the early development of high-pressure steam engines and software engineering that we can apply to the use of computers in complex systems. [PDF]
|
Introducing Demeter and its LawsIntroducing Demeter and its Laws
Adaptive Programming - specifying the connections between objects as loosely as possible. Makes programs more flexible, more resilient to change, and more adaptable to varying configurations of classes within a given domain
|
Lessons Learned -- Current ProblemsLessons Learned -- Current Problems
Technical and managerial best/worst practices. Based on study of US Department of Defense software projects.
|
The Many Dimensions of the Software ProcessThe Many Dimensions of the Software Process
Explores the importance and purpose of software process and quality.
|
Medical Devices: The Therac-25Medical Devices: The Therac-25
Case study of a well known software error. [PDF]
|
Nine Steps to Delivering Defect-Free SoftwareNine Steps to Delivering Defect-Free Software
By a software developer and consultant with over 30 years experience.
|
On the Criteria To Be Used in Decomposing Systems into ModulesOn the Criteria To Be Used in Decomposing Systems into Modules
One of the classic articles leading to modern software engineering, by D.L. Parnas.
|
Orphans PreferredOrphans Preferred
Characteristics of software developers - personality type, demographics, age, education, attitudes.
|
Principles of Good GUI DesignPrinciples of Good GUI Design
Describes the basic rules for all good interfaces - the cardinal dos and don'ts.
|
Seven Principles Of Software DevelopmentSeven Principles Of Software Development
Emphasizes "soft" issues - attitude, approach.
|
Seven Steps to Test Automation SuccessSeven Steps to Test Automation Success
This paper presents seven key steps: improve the testing process, define requirements, prove the concept, champion product testability, design for sustainability, plan for deployment, and face the challenges of success.
|
Successful Engineering Management: 7 Lessons LearnedSuccessful Engineering Management: 7 Lessons Learned
People management advice for technical people.
|
Sure It Works, But Is It Beautiful: The Relationship Between Software Aesthetics and QualitySure It Works, But Is It Beautiful: The Relationship Between Software Aesthetics and Quality
Some aspects of the relationship between quality and aesthetics (beauty) in software, using architecture analogies.
|
Survival Crib Notes: NASA's Success ChecklistSurvival Crib Notes: NASA's Success Checklist
9 Dos and 8 Don'ts for software project success, from NASA's Goddard Space Flight Center. (Sample chapter from Steve McConnell's book Software Project Survival Guide.)
|
What Do Users Want? Engineering Usability into SoftwareWhat Do Users Want? Engineering Usability into Software
User-Centered Design. Simple approaches for delivering smaller, simpler systems that better serve the needs of users.
|
|
|
|
|
|