
|
|
|
|
Home / Computers / Software / Software Engineering / Articles
|
|
|
|
Web Sites
|
- Architecture Paradox - Two articles on Software Architecture Paradox, and how to defy that paradox to design resilient architectures.
www.Subrahmanyam.com/articles/architecture/Paradox.html
- Building bug-free O-O software: An introduction to Design by Contract (TM) - Advanced use of assertions for clearer specifications and greater software reliability. By OO guru Bertrand Meyer, creator of Eiffel.
www.eiffel.com/doc/manuals/technology/contract/page.html
- Classic 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.)
www.construx.com/stevemcc/rdenum.htm
- Classic Testing Mistakes - The role of testing, Planning the complete testing effort, Personnel issues, The tester at work, Test automation, Code coverage
www.testing.com/writings/classic/mistakes.html
- Community for Software Engineers - Offers various resources - including news, articles, forum and job board.
www.software-engineer.org
- Designing and Managing Successful Projects - An overview of some simple principles to attain success designing and implementing new projects
www.iws.net/wier/design.html
- Essays on System Effectiveness Management - Index to articles written by members of Jerry Weinberg's SEM Group.
www.geraldmweinberg.com/ReadingStuff/Each_Reading.html/SEM.essays.html
- Heavy Rotation - For business software, faster-cheaper can be better too.
www.acm.org/ubiquity/views/w_fiefer_2.html
- High-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.
sunnyday.mit.edu/steam.pdf
- Introducing 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
www.enteract.com/~bradapp/docs/demeter-intro.html
- Large Software SystemsBack to Basics - The importance of software architecture, and related items such as unambiguous requirements and coding standards.
stsc.hill.af.mil/crosstalk/2000/jun/evans.asp
- Lessons Learned -- Current Problems - Technical and managerial best/worst practices. Based on study of US Department of Defense software projects.
www.spmn.com/lessons.html
- Major Causes of Software Project Failures - Based on interviews with software consultants and practitioners who were asked to provide "autopsies" of failed projects with which they have been acquainted.
stsc.hill.af.mil/crosstalk/1998/jul/causes.asp
- Nine Steps to Delivering Defect-Free Software - By a software developer and consultant with over 30 years experience.
www.tenberry.com/errfree/steps.htm
- On the Criteria To Be Used in Decomposing Systems into Modules - One of the classic articles leading to modern software engineering, by D.L. Parnas.
www.acm.org/classics/may96
- Orphans Preferred - Characteristics of software developers - personality type, demographics, age, education, attitudes.
www.gamasutra.com/features/19991222/mcconnell_01.htm
- Principles of Good GUI Design - Describes the basic rules for all good interfaces - the cardinal dos and don'ts.
axp16.iie.org.mx/Monitor/v01n03/ar_ihc2.htm
- Scripting: Higher Level Programming for the 21st Century - The advantages of scripting languages - typeless data, smaller code size, greater reuse, higher productivity. By TCL creator John Ousterhout.
dev.scriptics.com/doc/scripting.html
- Seven Principles Of Software Development - Emphasizes "soft" issues - attitude, approach.
c2.com/cgi/wiki?SevenPrinciplesOfSoftwareDevelopment
- Seven 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.
www.io.com/~wazmo/papers/seven_steps.html
- Successful Engineering Management: 7 Lessons Learned - People management advice for technical people.
www.jrothman.com/Papers/usefulmgmtideas.html
- Sure 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.
www.chc-3.com/pub/beautifulsoftware.htm
- Survival Crib Notes: NASAs Success Checklist - 9 Dos and 8 Don'ts for software project success, from NASAs Goddard Space Flight Center. (Sample chapter from Steve McConnell's book Software Project Survival Guide.)
www.construx.com/stevemcc/sgcrib.htm
- Ten Things Your Mother Never Told You About the Capability Maturity Model - Common misconceptions concerning software process improvement and the Software CMM.
stsc.hill.af.mil/crosstalk/1998/sep/kulpa.asp
- The Many Dimensions of the Software Process - Explores the importance and purpose of software process and quality.
www.acm.org/crossroads/xrds6-4/software.html
- The Programmers' Stone - Recapturing, exploring and celebrating the Art of Computer Programming.
www.ftech.net/~honeyg/progstone/index.html
- The Therac-25 Accidents - Case study of a well known software error.
sunnyday.mit.edu/papers/therac.pdf
- To Hell and Back - CIOs reveal the projects that did not kill them and made them stronger.
www.cio.com/archive/120198_turk_content.html
- What Do Users Want? Engineering Usability into Software - User-Centered Design. Simple approaches for delivering smaller, simpler systems that better serve the needs of users.
foruse.com/articles/whatusers.htm
|
|
|
|
|