Practices
  Home arrow Practices arrow Page 4 - The Art Of Software Development (part ...
Dev Shed Forums 
Administration  
Apache  
BrainDump  
DHTML  
Flash  
Java  
JavaScript  
Multimedia  
MySQL  
Oracle  
Perl  
PHP  
Practices  
Python  
Reviews  
Security  
Style-Sheets  
Web Services  
XML  
Zend  
Zope  
Forums Sitemap 
IBM® developerWorks 
Dedicated Servers 
E-Commerce Hosting 
Linux Web Hosting 
Managed Hosting 
Small Business Hosting 
Download TestComplete 
VPS Hosting 
Weekly Newsletter

 
Developer Updates  
Free Website Content 
IBM Developerworks
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
PRACTICES

The Art Of Software Development (part 2): Designing For Simplicity
By: Vikram Vaswani, (c) Melonfire
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 4
    2002-09-03

    Table of Contents:
  • The Art Of Software Development (part 2): Designing For Simplicity
  • The Best Laid Plans...
  • Building Blocks
  • Drawing Class
  • All Used Up
  • Testing Times
  • Different Strokes, Different Folks

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
     
    ADVERTISEMENT

    PCmover - $15 Off with Coupon Code CJPH7Q

    The Art Of Software Development (part 2): Designing For Simplicity - Drawing Class
    (Page 4 of 7 )

    Typically, a software design document contains the following sections,each of which is designed to address different components of thesoftwarearchitecture:
    1. Introduction: This section provides an introduction to the softwarebeing developed, together with background, scope, definitions andreferences.
    2. Application overview: This discusses the application to be developedin general, together with a broad description of software concepts andfunctions.
    3. Constraints, considerations and goals: This section describes theconstraints and guidelines to be kept in mind when designing theapplication. It includes details about the hardware and softwareavailable, the development and execution environment, user profiles,performance and security considerations, data storage and formatconstraints, together with a list of important rules to be kept in mindwhile designing the software (and the basis of each).
    4. Design strategy: This section provides information on the programmingparadigms used when designing the software. It includes information onthe IDE or programming language used, the techniques used for datastorage, interprocess communication, flow control, exception handling,resource management, garbage collection and traffic management.
    5. System architecture: This contains high-level architectural diagramsof the system design, together with descriptions of the components usedand their relationships via a modeling language. A description of thevarious modules that make up the system is also included.
    6. Component architecture: Each of the modules that makes up the systemneeds to be described in greater detail. This section may therefore befurther split into sub-sections, each one containing a detaileddescription of the internals of the various modules that make up theoverall system. These details include information on the purpose of eachcomponent, its functions, its data input and output formats, its inputand output interfaces, its internal business logic, and its interactionwith other components. You can include pseudo-code wherever needed toensure that the details are clearly communicated.
    This document serves as the basis for the developer or developmentteam's efforts, and should be reviewed at least once to identify andcorrect design flaws, if any exist, before beginning work.

    More Practices Articles
    More By Vikram Vaswani, (c) Melonfire


     

       

    PRACTICES ARTICLES

    - The System in So Many Words
    - Basic Data Types and Calculations
    - What`s the Address? Pointers
    - Design with ArgoUML
    - Pragmatic Guidelines: Diagrams That Work
    - Five-Step UML: OOAD for Short Attention Span...
    - Five-Step UML: OOAD for Short Attention Span...
    - Introducing UML: Object-Oriented Analysis an...
    - Class and Object Diagrams
    - Class Relationships
    - Classes
    - Basic Ideas
    - Choosing the Right Team
    - Trees
    - Basic Array Searching in C++

     
    Accelerating Trading Partner Performance
     
    Competing on Analytics
     
    Cost Effective Scaling with Virtualization and Coyote Point Systems
     
    Five Checkpoints to Implementing IP Telephony
     
    Hosted Email Security: Staying Ahead of New Threats
     




    © 2003-2008 by Developer Shed. All rights reserved. DS Cluster 4 hosted by Hostway