template for detailed design2

Upload: vishu-kukkar

Post on 14-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Template for Detailed Design2

    1/33

    aricent.com - Rel #.#.#.#Software Design Document

    ARICENT:

    Revision Number:

  • 7/30/2019 Template for Detailed Design2

    2/33

    Copyright 2009 Aricent Inc. All Rights Reserved. No part of this document may be reproduced, storedin a retrieval system or transmitted, in any form, or by any means, electronic or otherwise, includingphotocopying, reprinting, or recording, for any purpose, without the express written permission of Aricent.

    Printed in ________

    TRADEMARKS ARICENT and THE ARICENT LOGO are trademarks of Aricent Inc. in the U.S. andother countries. The use of any of these trademarks without Aricent prior written consent is strictlyprohibited. Other trademarks and trade names may be used in this document to refer to either theentities claiming the marks and names or their products. Aricent Inc. disclaims any proprietary interest inthe trademarks and trade names other than its own.

    DISCLAIMER The information in this book is provided as is, with no warranties whatsoever, includingany warranty of merchantability, fitness for any particular purpose or any warranty otherwise arising outof any proposal, specification or sample. This document is provided for informational purposes only andshould not be construed as a commitment on the part of Aricent. Information in this document is subjectto change without notice.

    REQUESTS For information or obtaining permission for use of material of this work, please submit awritten request to: Corporate Marketing and Legal, Aricent onwww.aricent.com

    DOCUMENT No.:ARICENT:

    http://www.aricent.com/http://www.aricent.com/http://www.aricent.com/http://www.aricent.com/
  • 7/30/2019 Template for Detailed Design2

    3/33

    REVISION HISTORY

    RevisionNo.

    Date Description of Change Author Reviewed &Approved By

  • 7/30/2019 Template for Detailed Design2

    4/33

  • 7/30/2019 Template for Detailed Design2

    5/33

    SOFTWARE DESIGN DOCUMENT 1ARICENT CONFIDENTIAL

    Contents

    CHAPTER 1: 1. INTRODUCTION ______________________________________________ 71.1 PURPOSE...................................................................................................... 71.2 SCOPE.......................................................................................................... 71.3 DEFINITIONS ANDACRONYMS......................................................................... 71.3.1 Definitions................................................................................................. 71.3.2 Acronyms ................................................................................................. 81.4 REFERENCES ................................................................................................ 81.5 DOCUMENT ORGANISATION............................................................................ 81.6 TYPOGRAPHICAL CONVENTIONS (OPTIONAL) .................................................. 81.7 APPROVALS ANDAUTHORIZATIONS................................................................. 81.8 DISTRIBUTION................................................................................................ 9

    CHAPTER 2: 2. HIGH LEVEL DESIGN ________________________________________ 112.1 LEVEL 0DESIGN DESCRIPTION.....................................................................11

    2.1.1 Interface Description ..............................................................................112.2 LEVEL X DESIGN DESCRIPTION .....................................................................12 2.2.1 Module name (level x1) .......................................................................122.2.1.1 Decomposition Description ----------------------------------------------------- 122.2.1.1.1 Module Description ------------------------------------------------------------ 132.2.1.1.2 Process Description ----------------------------------------------------------- 152.2.1.2 Interface Description ------------------------------------------------------------- 152.2.1.2.1 Process Interface -------------------------------------------------------------- 152.2.1.3 Dependency Description -------------------------------------------------------- 152.2.2 Module 2 (level x-1) ................................................................................152.3 LEVEL (X+1)DESIGN DESCRIPTION ..............................................................15 2.4 CONTROL FLOW SCENARIO..........................................................................15

    CHAPTER 3:

    3.ALTERNATE DESIGN ________________________________________ 17

    3.1 ALTERNATE DESIGNS...................................................................................17 3.2 DESIGN EVALUATION REPORT ......................................................................17 3.3 DESIGN LIMITATIONS ...................................................................................17

    CHAPTER 4: 4. DETAILED DESIGN __________________________________________ 194.1 MODULE 1 ...................................................................................................194.1.1 Detailed Data Design .............................................................................194.1.1.1 Data Structure ABC -------------------------------------------------------------- 194.1.1.2 Total Data Size -------------------------------------------------------------------- 204.1.2 Detailed Module design ..........................................................................214.2 MODULE 2 ...................................................................................................224.2.1 Detailed Data Design .............................................................................22

    4.2.2 Detailed Module Design .........................................................................22CHAPTER 5: 5. SYSTEM ISSUES ____________________________________________ 23

    5.1 PERFORMANCE ...........................................................................................23 5.2 SCALABILITY................................................................................................23 5.3 SYSTEM SIZING............................................................................................23 5.4 LOGGING.....................................................................................................23

    CHAPTER 6: 6. SYSTEM MANAGEMENT DESIGN CONSIDERATIONS _____________ 256.1 MIBDESIGN................................................................................................25

  • 7/30/2019 Template for Detailed Design2

    6/33

    - REL #.#.#.#

    2 ARICENT:ARICENT CONFIDENTIAL

    6.1.1 Standard MIB .........................................................................................256.1.2 Proprietary MIB ......................................................................................256.2 CONFIGURATION AND CONTROL....................................................................26 6.2.1 Overview ................................................................................................266.2.2 Start-up ...................................................................................................266.2.3 Shutdown ...............................................................................................266.2.4 Creation of < Table name > New Entries ...............................................266.2.5 Deletion of < Table name > Entries .......................................................266.3 ERROR HANDLING .......................................................................................26 6.3.1 System Errors.........................................................................................266.3.2 Interface Errors.......................................................................................266.3.3 Protocol Errors .......................................................................................266.4 RESOURCE REQUIREMENTS.........................................................................27

    YOUR OPINION MATTERS __________ERROR! BOOKMARK NOT DEFINED.

    REVISION HISTORY ____________________________________________ 29

  • 7/30/2019 Template for Detailed Design2

    7/33

  • 7/30/2019 Template for Detailed Design2

    8/33

  • 7/30/2019 Template for Detailed Design2

    9/33

    SOFTWARE DESIGN DOCUMENT 5ARICENT CONFIDENTIAL

    Tables

    Table 1-1: Definitions Used in this Document ............................................................................................... 7

    Table 1-2: Acronyms Used in this Document ................................................................................................ 8Table 1-3: Approvals and Authorizations ...................................................................................................... 8Table 1-4: Distribution.................................................................................................................................... 9Table 4-1: Field Description Table ............................................................................................................... 20Table 4-2: Total Data Size ........................................................................................................................... 20

  • 7/30/2019 Template for Detailed Design2

    10/33

  • 7/30/2019 Template for Detailed Design2

    11/33

    SOFTWARE DESIGN DOCUMENT 7ARICENT CONFIDENTIAL

    Chapter

    11.Introduction

    1.1 Purpose

    Specify the purpose of the software and the document

    Specify the intended audience.

    1.2 Scope

    Identify the software by name.

    Explain what the software product(s) will and will not do (either directly or byreference to another software document).

    Describe the application of the product (either directly or by reference toanother software document).

    1.3 Definitions and Acronyms

    Provide the definitions of all terms, acronyms and abbreviations requiredto properly understand the SDD. List them in the alphabetical order.

    Sample given below.

    1.3.1 Definitions

    Table 1-1: Definitions Used in this Document

  • 7/30/2019 Template for Detailed Design2

    12/33

    - REL #.#.#.#

    8 ARICENT:ARICENT CONFIDENTIAL

    OSI ISIS for IP and Dual Environments, RFC 1195, Dec 1990.

    Intermediate System to Intermediate system Intra-Domain RoutingInformation Exchange Protocol, ISO/IEC 10589:1992 (E)

    1.3.2 Acronyms

    Table 1-2: Acronyms Used in this Document

    Acronym Explanation

    ATM Asynchronous Transfer Mode

    ISDN Integrated Services Digital Network

    PSTN Public Switched Telephone Network

    SS7 CCSS7 Common Channel Switching System 7

    1.4 References

    List all the documents referenced elsewhere in the document

    1.5 Document Organisation

    Explain how the Software Design Document is organized.

    Specify the purpose of each section.

    1.6 Typographical Conventions (Optional)

    Specify any conventions used in the document.

    1.7 Approvals and Authorizations

    Table 1-3: Approvals and Authorizations

  • 7/30/2019 Template for Detailed Design2

    13/33

    CHAPTER 1: INTRODUCTION

    SOFTWARE DESIGN DOCUMENT 9ARICENT CONFIDENTIAL

    Designation Name Date

    Approved by Quality Co-ordinator

    Authorized by Engineering Manager

    1.8 Distribution

    Table 1-4: Distribution

    Copy No. Holders Designation Issue Date

    1 Engineering Manager

    2 Project Co-ordinator

    3 Quality Co-ordinator

    4 Team members

  • 7/30/2019 Template for Detailed Design2

    14/33

  • 7/30/2019 Template for Detailed Design2

    15/33

    SOFTWARE DESIGN DOCUMENT 11ARICENT CONFIDENTIAL

    Chapter

    22.High Level Design

    2.1 Level 0 Design Description

    2.1.1 Interface Description

    User

    Client Interface TFTP server

    Client interacts with the TFTP server through the client interface.

    Client generates the request to read\write a file.

    Server processes the client request(update\retrive file), then generates an appropriate response forthe client.

  • 7/30/2019 Template for Detailed Design2

    16/33

    - REL #.#.#.#

    12 ARICENT:ARICENT CONFIDENTIAL

    2.2 Level 1 Design Description

    2.2.1 Module name (level 0)

    Client interface

    2.2.1.1 Decomposition Description

  • 7/30/2019 Template for Detailed Design2

    17/33

    CHAPTER 2: HIGH LEVEL DESIGN

    SOFTWARE DESIGN DOCUMENT 13ARICENT CONFIDENTIAL

    Client interface forwards the user request in a format that can beprocessed by the server.

    Client interface receives the servers response.

    2.2.1.1.1 Module DescriptionClient Interface

    User sends a request to read from a file(download data).The client interfacereceives the request and generates a read request packet(RRQ).

    Server in response sends the data(DATA n) of the file.

    The client interface on receiving the data further sendsacknowledgment(ACK n) corresponding to the data block received.

    This continues until the server is done reading the file.

    (Should we write the case where ack is not received(error cases)??)

    (Should I include the frame formation by client interface??or should

    that be in low level??)

    Data Description

    In our case, the data elements will be same for both level 1 and level 2DFD.Because the frame sent by the client interface will beforwarded(without any changes) to the tftp request handler..

    1. RRQ

    2. WRQ

    3. DATA

    4. ACK

    5. ERROR

    (Read Request)/ WRQ(Write request) :

    This message type is used to read/write data from/to the server once a

    connection is established between the server and a client. The format of these

    messages is given below.

    ------------------------------------------------

    | Opcode | Filename | 0 | Mode | 0 |

    ------------------------------------------------

    The opcode field(2 bytes) differentiates between a RRQ and a WRQ in

    that it is 1 for RRQ and 2 for WRQ.

    Filename is a variable sized string which is the name of the file.

    Mode defines the transfer mode used by TFTP. In general there are two types of

    modes

    i) (for an ASCII file)

  • 7/30/2019 Template for Detailed Design2

    18/33

    - REL #.#.#.#

    14 ARICENT:ARICENT CONFIDENTIAL

    ii) octet (for binary file)

    DATA message :

    It is used by either of the client or server to send blocks of data.

    ----------------------------------

    | Opcode | Block # | Data |

    ----------------------------------

    Its 2 byte opcode field has a value 3. The Block number(2 bytes) is used

    for sequencing purpose. The data block must be 512 bytes for all DATA

    messages except the last block which indicates the end of file.

    ACK message :

    In a communication process knowing the stats of the no of data blocks received

    correctly is important, which can be done by giving an ACKnowledgment to the

    server by the client process. It is in whole 4 bytes long. It has 2 bytes for opcode

    whose value is 4 for ACK message. It also has 2 bytes for Block number which

    tells the number of blocks received.

    If in case the ACK is after a WRQ(sent by server to indicate that it is ready for

    data retrieval from client) then the block no is 0.

    ERROR Message :

    When a faulty communication occurs that is the connection is not formed or the

    filename specified does not exist, then the program needs to declare about the

    problem. This is done by giving an ERROR message by either the client or server.

    It can be considered as a negative ACK.

    -----------------------------------------

    | Opcode | ErrorCode | ErrMsg | 0 |

    -----------------------------------------

    The opcode value is 5 in this case. The errorcode fields define the type of error

    which stores an integer value between 0 -4 , each integer having a particular

    error message associated to it.

  • 7/30/2019 Template for Detailed Design2

    19/33

    CHAPTER 2: HIGH LEVEL DESIGN

    SOFTWARE DESIGN DOCUMENT 15ARICENT CONFIDENTIAL

    2.2.1.1.2 Process Description

    Server can support multiple users simultaneously. Here we are creating newprocess to serve each user individually.

    2.2.1.2 Interface Description

    Should I copy paste the data description as it is??

    2.2.1.2.1 Process Interface

    Again repetition of process description??

    2.2.1.3 Dependency Description

    The Dependency Description is represented by Structure Charts, whichare used in design to show how software is decomposed into modules.

    Derive the Structure Charts from DFD of this level. This will capture thedependency information.

    2.2.2 Module 2 (level x-1)

    This is the module identified in the previous level x-1, if this undergoesfurther decompositions.

    All the subsections mentioned above, if applicable.

    2.3 Level (x+1) Design Description

    If any modules identified (as the result of decomposition) above furtherlevel decompositions. This level will be applicable (All the subsectionsmentioned above, if applicable).

    2.4 Control Flow Scenario

    Add the control flow from the earlier dfd doc(vishu).

  • 7/30/2019 Template for Detailed Design2

    20/33

  • 7/30/2019 Template for Detailed Design2

    21/33

    SOFTWARE DESIGN DOCUMENT 17ARICENT CONFIDENTIAL

    Chapter

    33.Alternate Design

    3.1 Alternate Designs

    3.2 Design Evaluation Report

    Following are the contents of the formal evaluation report

    Identification of Alternatives

    Criteria for identifying alternatives Expected Functionality and Keyconstraints

    List of alternatives

    Evaluation Criteria

    Priority to categories and individual criteria

    Evaluation method

    Evaluation results (Plug Matrix, any other methodology specifiedcomparison)

    Final Recommendation and any potential risk with the selection

    3.3 Design Limitations

  • 7/30/2019 Template for Detailed Design2

    22/33

    - REL #.#.#.#

    18 ARICENT:ARICENT CONFIDENTIAL

  • 7/30/2019 Template for Detailed Design2

    23/33

    SOFTWARE DESIGN DOCUMENT 19ARICENT CONFIDENTIAL

    Chapter

    44.Detailed Design

    Describe the detailed design in terms of pseudocode & PDL

    Give the detailed design information for data and modules identified inabove sections

    List down the modules identified after Level 1 DFD

    4.1 Module 1

    4.1.1 Detailed Data Design

    List down all the data elements in that module like constants & its values,data structures, its description of fields, and size of fields, globalvariables and their sizes, and also macros. As a summary also list downa table that indicates the memory requirement of the application. Thistable should contain the name of the Data, its size in bytes, the numberof instances that will be used by the application. Two sample tables onefor individual data structure and the other for the total memoryrequirement are illustrated below:

    4.1.1.1 Data Structure ABC

  • 7/30/2019 Template for Detailed Design2

    24/33

    - REL #.#.#.#

    20 ARICENT:ARICENT CONFIDENTIAL

    Table 4-1: Field Description Table

    Field Name Field Description Size (bytes)

    IP address The destination network IPaddress. IP address is stored as

    4 byte integral value. The returnvalue of library call inet_aton() isstored in this field. If requiredplease specify if the data isrepresented in little or bigendian format.

    4

    MAC address High Upper 32 bits of the next hopMAC address

    4

    MAC address Low Lower 16 bits of the next hopMAC address

    4

    XYZ Something 2

    PAD Padding bytes 2

    4.1.1.2 Total Data Size

    Table 4-2: Total Data Size

    Data Name Size (bytes) # of instances Total Size (bytes)

    Static Memory Requirement

    DataStruct xyz1 64 1 64

    DataStruct xyz2 4 10 40

    GlobalVar gvar1 100 1 100

    GlobalVar gvar2 2 5 10

    StaticVar svar1 4 1 4

    Dynamic MemoryRequirement

    DataStruct dynDS1 8 200* 1600

    DataStruct dynDS2 24 15 360

    GRAND TOTAL 2178

    * The maximum number of instances that will be allocated at runtime

  • 7/30/2019 Template for Detailed Design2

    25/33

    CHAPTER 4: DETAILED DESIGN

    SOFTWARE DESIGN DOCUMENT 21ARICENT CONFIDENTIAL

    4.1.2 Detailed Module design

    The detailed module design is described in module description.

    The module description contains prototype, purpose, prerequisites,description, inputs, outputs, returns, list of called by modules & called

    modules and also processing of the module is defined by pseudocode.

    Output(s)

    ReturnValue(s)

    Called By This will be used to calculate stack buildup.

    Calls

  • 7/30/2019 Template for Detailed Design2

    26/33

    - REL #.#.#.#

    22 ARICENT:ARICENT CONFIDENTIAL

    4.2 Module 2

    4.2.1 Detailed Data Design

    4.2.2 Detailed Module Design

  • 7/30/2019 Template for Detailed Design2

    27/33

    SOFTWARE DESIGN DOCUMENT 23ARICENT CONFIDENTIAL

    Chapter

    55.System Issues

    5.1 Performance

    If applicable, mention the level of performance as per this design.

    5.2 Scalability

    If applicable, mention the level of scalability.

    5.3 System sizing

    If applicable, mention the system-sizing parameters.

    5.4 Logging

    Introduce design information on logging.

  • 7/30/2019 Template for Detailed Design2

    28/33

  • 7/30/2019 Template for Detailed Design2

    29/33

    SOFTWARE DESIGN DOCUMENT 25ARICENT CONFIDENTIAL

    Chapter

    66.System Management Design Considerations

    6.1 MIB Design

    6.1.1 Standard MIB

    Mention the level of conformance ie., whether all scalar variables and tablesin standard MIB are supported.

    Note: it is not required to mention the complete MIB.

    6.1.2 Proprietary MIB

    Mention the description of the new MIB.

    Note: there is no need to mention the complete MIB.

  • 7/30/2019 Template for Detailed Design2

    30/33

    - REL #.#.#.#

    26 ARICENT:ARICENT CONFIDENTIAL

    6.2 Configuration and control

    6.2.1 Overview

    Aricent XXX is designed to be fully configurable and....

    6.2.2 Start-up

    Describes the steps associated with bringing up a protocol

    6.2.3 Shutdown

    Describes the steps associated with bringing down a protocol...

    6.2.4 Creation of < Table name > New Entries

    Steps involved in creating table entries and its effects (necessary forcrucial tables only like iftable etc.) The title of this section can change asappropriate.

    6.2.5 Deletion of < Table name > Entries

    The template for the module/function description:

    Effect of deleting a table entry. The title of this section can change asappropriate.

    6.3 Error Handling

    6.3.1 System Errors

    Describes how errors like memory allocation failure, task spawn failuresare handled.

    6.3.2 Interface Errors

    Describes the error codes that will be generated to external entities.

    6.3.3 Protocol Errors

  • 7/30/2019 Template for Detailed Design2

    31/33

    CHAPTER 6: SYSTEM MANAGEMENT DESIGN CONSIDERATIONS

    SOFTWARE DESIGN DOCUMENT 27ARICENT CONFIDENTIAL

    Describes how situations, which are not addressed in the specs, arehandled (this may not be applicable to all protocols).

    6.4 Resource Requirements1

    In this section memory requirement & other OS resources (queues,semaphores) required should be specified.

    1Note: (For products division, these details are given in a separate document on request by customer. But during

    product design, this section must be filled. In the documents that will be sent to customer, these can be moved to

    another document).

  • 7/30/2019 Template for Detailed Design2

    32/33

  • 7/30/2019 Template for Detailed Design2

    33/33

    Revision History

    Rev Date of Issue Author Approver Scope

    2.0 18-Sep-07 AnjanaGangadharan

    QG/SEPG Supersedes FS DP081