Upcoming Events
Seattle Game Conference
2/4 @ Seattle, WA

Casuality Europe
2/7 - 2/9 @ Amsterdam, Netherlands

Profiting in the Video Game Economy
2/16 @ New York, NY

nullarbor
2/23 @ Perth, Australia

More events...


Quick Stats
6796 people currently visiting GDNet.
1945 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Home » Articles & Resources » Programming » Software Engineering
  search:   
Software Engineering

An architect can't build a building without following a defined process. The same goes for software development. This section provides articles on software analysis and design, design patterns, planning, quality assurance, testing, reuse, and project management.

For more information about Software Engineering, check out:

Resources Listed: 45

Jump To :
Code DesignFormal Methods
Design PatternsObject Oriented
Design Patterns Links 

 
Subcategory: Code Design
Topic Author Description
Removing The 'Tech' From 'Design Document'
[Added: 2/20/2002]
Michael Sikora  Explains what a technical document is, and how it can speed up the development process. 
The C++ Pimpl
[Added: 4/2/2002]
Sobeit Void  Describes a method allowing you to modify the private interface of your class while avoiding recompilation of code using the public interface. 
Using PDL for Code Design and Documentation
[Added: 6/13/2001]
Drew Sikora  Describes how Program Design Language can be used to improve your code design. 
 
Subcategory: Design Patterns
Topic Author Description
Patterns FAQ
[Added: 6/19/2001]
Kevin Hawkins  Explains the basic concepts behind the patterns listed here. 
Appearance Map
[Added: 6/19/2001]
Zachary Booth Simpson  Isolate Model state from Model appearance to minimize impact on controllers when art changes. 
Context/Virtual Self
[Added: 6/19/2001]
Mat Noguchi  Sharing state data between multiple objects, either to implement a finite state machine or to compose multiple objects to perform a particular task. 
Controller
[Added: 6/19/2001]
Zachary Booth Simpson  Update a Model's state based on circumstance. 
Controller State Machine
[Added: 6/19/2001]
Zachary Booth Simpson  Track a complicated state process with a controller. 
Creating a Generic Object Factory
[Added: 5/19/2004]
Robert Geiman  Provides an explanation and implementation of object factories. 
Design Pattern: Variant
[Added: 12/24/2003]
Ernest S. Pazera  Presents a pattern useful in message handling and AI. 
Double Buffered State
[Added: 6/19/2001]
Zachary Booth Simpson  Track an old and new state for multi-Model Controllers. 
Gateway
[Added: 6/19/2001]
Zachary Booth Simpson  Isolate database changes for index and/or client/server synchronization. 
Mini-kernel
[Added: 6/19/2001]
Zachary Booth Simpson  Provide each Controller with a chance to execute once per game frame. 
Model
[Added: 6/19/2001]
Zachary Booth Simpson  Store the state of an object which exists in the game world. 
Model Database
[Added: 6/19/2001]
Zachary Booth Simpson  Aggregate the Model objects into one database. 
Reflective Factory
[Added: 6/19/2001]
Chris Hargrove  Treat the class of an object as its own object, serving as both a factory for runtime instantiation and a mechanism for simple reflection services like runtime type identification.  
Render Delegation
[Added: 6/19/2001]
Zachary Booth Simpson  Pass-off special render cases to Model code. 
Spatial Index
[Added: 6/19/2001]
Zachary Booth Simpson  Speed searches by position in a Model Database. 
The One: A Singleton Discussion
[Added: 5/24/2002]
Robin Tan  Discusses some of the problems encountered when using the singleton pattern, and suggests some solutions, including nifty counters and Zerob singletons. 
The Singleton Class Cluster
[Added: 7/6/2005]
Tristam MacDonald  Suggests an optimal implementation of the singleton and a way to combine it with the class cluster design pattern. 
Trigger
[Added: 6/19/2001]
Zachary Booth Simpson  Provide a simple mechanism for building geometric game puzzles. 
Type Database
[Added: 6/19/2001]
Zachary Booth Simpson  Store information which is common to Model types. 
Usecode
[Added: 6/19/2001]
Zachary Booth Simpson  Create a simple and safe embedded language with which game designers and (potentially) end-users can build game logic. 
View
[Added: 6/19/2001]
Zachary Booth Simpson  Render the visible Models given a P.O.V. 
 
Subcategory: Design Patterns Links
Topic Author Description
Design Patterns Tutorial
[Added: 6/20/2001]
  Gives an introduction to the concept of design patterns in programming. 
Gamasutra: Patterns
[Added: 6/20/2001]
  Game development patterns, updated monthly. 
Patterns Home Page
[Added: 6/20/2001]
  The centralized home of everything patterns. Includes a list of general software pattern resources. 
 
Subcategory: Formal Methods
Topic Author Description
A Review of Formal Methods
[Added: 8/29/2001]
Robert L. Vienneau  This report overviews the technical basis for formal methods, while critically noting weaknesses. 
An Analysis of two Formal Methods: VDM and Z
[Added: 8/29/2001]
Thomas McGibbon  This paper compares and contrasts the strengths and weaknesses of the Vienna Development Method (VDM) and Z in the software design life cycle phase, and compares and contrasts VDM and Z to other formal models. 
Beyond the black box: Open implementation
[Added: 8/29/2001]
Gregor Kiczales  Open Implementation is a software design technique that helps write modules that are both reusable and very efficient for a wide range of clients.  
Blind Man's Bluff
[Added: 3/20/2004]
Dean Margerison  Provides a brief insight into the current problems that many projects face, and what can be done to transform the situation for the better. 
Game Unified Process
[Added: 5/14/2003]
Kevin Flood  Describes how the author applied Rational and XP development processes to game development. 
Incremental Development
[Added: 6/24/2002]
Drew Sikora  This article will introduce you to a method of development that will supplement skill, knowledge, dedication, and goals in order to enable you to achieve your goals. 
Test Driving Expression Template Programming
[Added: 6/27/2004]
Kent Lai  In this article, you will be introduced to the concept of writing unit tests for your projects, and going a step further, to begin driving your development process with the test first, code later concept. 
 
Subcategory: Object Oriented
Topic Author Description
A Laboratory for Teaching Object-Oriented Thinking
[Added: 8/29/2001]
Kent Beck and Ward Cunningham  Description of software design technique for both novice and experienced procedural programmers to the anthropomorphic perspective necessary for object-oriented design. 
Building bug-free O-O software: An introduction to Design by Contract
[Added: 8/29/2001]
ISE  The notion of Design by Contract is central in the systematic approach to object-oriented software construction, as embodied in the Eiffel method. This article presents the key ideas.  
Design Principles and Design Patterns
[Added: 8/29/2001]
Robert C. Martin  A brief explanation of the ten Principles of OOD with supporting patterns. 
No Silver Bullet Reconsidered
[Added: 8/29/2001]
Brad Cox  Superdistribution could let software engineers overcome the software crisis as tangible domains surmounted the same problem, by encapsulating complexity so thoroughly that everyone else can forget it. The solution requires enforcing property rights in digital goods as robustly as conservation of mass enforces them for tangible goods. 
Object-Oriented Metrics: People and Publications
[Added: 8/29/2001]
Empirical Software Engineering Research Group  This annotated bibliography is meant to offer an authoritative coverage of what is known about measurement of object-oriented technology and its use.  
Object-Oriented Scene Management
[Added: 5/2/2002]
Jeff Kershner  This article will present an abstract, expandable, object-oriented method to handle generic objects for a practical and organized game engine. 
Object-Oriented System Development Method
[Added: 8/29/2001]
Dennis de Champeaux, Douglas Lea, and Penelope Faure  Complete description of a object-oriented software development method. 
Principles of Object-Oriented Design
[Added: 8/29/2001]
Robert C. Martin  Robert C. Martin describe several key design principles for object-oriented software and source code dependency management 
Structuring Use Cases with Goals
[Added: 8/29/2001]
Alistair Cockburn  This paper introduces a theory based on a small model of communication, distinguishing "goals" as a key element of use cases. The result is an easily used, scaleable, recursive model that provides benefits outside requirements gathering: goals and goal failures can be explicitly discussed and tracked; the goals structure is useful for project management, project tracking, staffing, and business process reengineering. The model and techniques described here have been applied and evaluated on a relatively large (50 work-year, 200 use-case) project. 
The UML v1.1 and Beyond: The Techniques of Object-Oriented Modeling
[Added: 8/29/2001]
Scott W. Ambler  This white paper describes the object-oriented (OO) modeling techniques employed on large-scale, mission-critical (MCCR) applications using the Unified Modeling Language (UML) v1.1. 
 
 Key: = HTML article hosted here  , = HTML article hosted elsewhere  = link to another web site  = Adobe Acrobat document  = Zip files  = Word or text document