Indian Talent, Global Content |
Chillibreeze Premium Services: Global companies and consultants |
February 2012: Serving Customers Dec-Jan News |
Tutorial on Writing a
|
| Phase | Description | Phase product/activity |
| Initiation | Begins when a need for developing a software product arises. | Concept proposal |
| Concept development | Defines the scope of the proposed software product. | Scope document, Cost benefit analysis, Risk management plan, feasibility study |
| Planning | Involves estimating or planning for a software product to get the required resources. | Project plan |
| Requirement analysis | Involves ascertainment of user requirements. | Software Requirement Specification (SRS) Document |
| Design | This phase focuses on how to deliver the required functionality. Transforms the requirements into complete, detailed systems design. | Design document |
| Development | Converts design into complete software product. | Program codes, Databases, Test cases, reviews |
| Integration and testing | Confirms if the developed system corresponds to the requirements in the SRS. | Test case execution and test analysis report |
| Implementation | Involves implementation of the software product into a production environment and resolution of the problems identified in testing activities. | Test case execution and test analysis report, Implementation testing |
| Maintenance | Describes the tasks required to operate and maintain information systems in a production environment. | Post implementation reviews of the software product |
As seen above, the design phase is a vital activity in the entire SDLC. In this phase, software requirements stated by the customer are modeled or transformed into design models that describe the details of data structures, system architecture, interface, and components. These design models are represented in the design document.
Components of design document
High Level Design
While designing a software product, the most important consideration is to ensure that each and every requirement specified by the customer is catered to. For this, a broader representation of the requirements in the form of design models is made. This process of modeling the requirements refers to High Level Design (HLD).
HLD essentially represents the software architecture ie various components and the overall look and feel or user interface of the software product. It is the first step to analyze and consider all requirements for a software product and attempt to establish a structure or design which is able to fulfill these requirements.
Preparation of HLD can be represented in the following steps.
User interface design (UID):
The UID lays down the look and feel of the software product. For a GUI (graphic user interface) based software product, the UID includes:
For non-GUI applications, UID can be a Command Line Interface or Application Programmatic Interface (API). API is a collection of library routines that allow you to link or layer software components. For an API, the UID consists of identification of calling interfaces, names of object methods or routines, parameters and description of what they will perform.
It is important to consider that the software product and the user interface are independent of each-other. The user interface components should be as generic as possible.
Considerations for HLD
While documenting the HLD, the following considerations should be made:
Low Level Design
Low level design (LLD), also called functional specification, provides the blueprint for coding. It details the HLD. For example, the classes you have identified during HLD are detailed in LLD. Here, you identify the objects (instances) that are required to implement the system. So, considering the example of an automated hospital system, the class doctor defines all attributes of doctors, such as name, age, qualification, charges, etc. The object ‘Dang’ refers to the specific attributes of a doctor Dang, whose other attributes are: 40, MD, Rs 700, etc.
The LLD:
Thus, if you compare the process of writing a software design document to writing a book, the HLD will represent the chapters and sections. LLD will represent the bulleted items that you plan to cover in each section. You can elaborate these bulleted items once you start writing their contents.
Considerations for LLD
While documenting the LLD, following considerations need to be made:
Template for writing a design document
Depending on your organizational requirements, you can select a template for your design document. For example, if your organization is following a particular quality model like CMM or ISO, you can use the templates specific to these models. Broadly speaking, a design document will contain the following sections:
Document information: provides information regarding the design document, viz. name of authors and document status (reviewed, draft).
Release information: name of the resources who have reviewed, approved and released the design document.
Document control information: specifies total number of pages, review period, information regarding the audience of the document.
Revision history: specifies version number, release date, description of individual changes made, resources who have approved the changes.
Purpose: lists the purpose of the design document and the intended audience.
Scope: relates the design of the document to the SRS.
Definitions, Acronyms, Abbreviations: provides definitions of all terms, acronyms and abbreviations used in the design document.
References: lists all documents referenced in the design document. It should also specify the sources from which these references are available.
Overall description: provides an overview of the software product for which the design document is being prepared.
High Level Design: details the high level design of the software product. This is represented by diagrams, such as system organization model (package diagram and deployment diagram) and High Level Application flow (represents flow of information in terms of processes).
Low Level Design: details the low level design of the software product. This is represented by diagrams, such as interaction diagrams, class diagrams, database design (entity-relationship) diagrams, state transition diagrams, and software interfaces of the system.
Chillibreeze's disclaimer: This is a contributed article and was published on Chillibreeze in March, 2010. The views and opinions expressed in this article are those of the author(s) and do not reflect the views of Chillibreeze as a company. Chillibreeze has a strict anti-plagiarism policy. Please contact us to report any copyright issues related to this article. The relevance of the facts and figures cited (if any) could change after a period of time.
Related links
An Overview of India’s Ten Leading Software Companies
Agile Methodology of Software Development
Software Patents: The Indian Perspective
The Top Five Pioneering Companies of the Indian Outsourcing Industry
Other popular articles on Chillibreeze
Agile Methodology of Software Development
E-learning: The Metamorphosis
Organizations and the Challenge of Innovation
Five Things Travel Readers Look For In a Travelogue
Two Epic Novels of Indian Literature
| Out of 5 “chilies”, our editorial team gave this article... |
|
—About our writer: Aruna Wadhwa holds a professional diploma in International Business. She has worked in the capacity of an instructional designer and technical writer and has seven years of experience in the IT industry. She has also worked as a senior software quality assurance professional. Throughout her career, she has actively been involved in gathering the specifications, interacting with project managers, team members, and clients for producing technical documents and elearning courses. Her latest interest includes writing for acedemic research. She is based in New Delhi. |
![]()
1. Articles related to Content and Outsourcing
2.
NRI and Expat Articles
3. Potpourri
4. Travel Writing
5. Book Reviews and Interviews
More resources for Writers on Chillibreeze.com Chillibreeze offers Indian writers the opportunity to work on customer projects. We are also India’s biggest writer network and a one-stop shop for Indian writers and editors. The writers’ section on Chillibreeze offers freelance writers and editors a variety of tools to advance their careers. Resources for writers include:
|
Premium Services
Managed Writing Services
Proofreading, Light Editing and Substantive Editing
Plain English Editing
Express Editing
PowerPoint Formatting
PowerPoint Makeover
Products
PowerPoint Maps
PowerPoint Diagrams
Corp. Writing Assessments
Editing Essentials Course
Expat Guides to India
Niche eBooks: India
Niche PowerPoints: India
Niche Reports: India
e-Publishing
Marketing your ebook
Indexing Services
Inviting your synopses
Electronic Publishing
Publish Your Book
How e-Publishing Works
Must Read on E-publishing
Must Reads...
Chillibreeze in the News!
Tutorial Index
Article Index
Product Reviews
English In India
Book Review: "What's This India Business?"
Outsourcing Tutorial
The Story of Me
Content Company vs Freelancers
About Chillibreeze
Upgrade Your Writing
Sign up for news, events, jobs, tips
Copyright 2004 - 2011 Chillibreeze Solutions Pvt. Ltd. |
