Email Domain Configuration Management Tool

Authors: John Hyatt & Balazs Nagy
Affiliation: CSM
Address
Date: Dec 2001
Version 0.1

1. Introduction

2. General Description

3. Functional Requirements

        1.    Create Qmail configuration files

    1. Description

    2. On the secure server, the rcpthosts and the virtualdomains files need to be generated/maintained. On the public server, the rcpthosts and the smtproutes files need to be generated/maintained.
    3. Criticality

    4. These files are the core files needed for the QMail and VmailMgr system to know about the domain.
    5. Technical issues

    6. Ultimately, a method needs to be defined to get the configuration files onto the remote server.
    7. Cost and schedule

    8. 1day for basic functionality. 1day for remote file maintenance.
    9. Risks

    10. Changes in the file format may delay the project.
    11. Dependencies with other requirements

    12. This is the single most important feature. Without this feature, it is not possible to test the rest.
        2.    Create Unix mail domain user
    1. Description

    2. On the secure server, the unix user under which this domain will be stored needs to be generated.
    3. Criticality

    4. This user is needed for the QMail and VmailMgr system to be able to deliver the mail.
    5. Cost and schedule

    6. 1day.
    7. Risks

    8. Changes in the command line args may delay the project.
    9. Dependencies with other requirements

    10. Without this feature, it is not possible to set up the mail domain in VmailMgr.
        3.    Create VmailMgr configuration files
    1. Description

    2. On the secure server, the files required by VmailMgr need to be generated. This is a one time procedure that can be done using the vsetup as the domain user.
    3. Criticality

    4. These files are needed for the VmailMgr system to know about the mail boxes of the domain.
    5. Technical issues

    6. This utility needs to be run as the mail domain user, on the secure server.
    7. Cost and schedule

    8. 1day.
    9. Dependencies with other requirements

    10. Without this feature, it is not possible to test the mail domain.
        4.    Restart QMail server
    1. Description

    2. On the secure server, the QMail service needs to be restarted in order to take the domain changes into account.
    3. Criticality

    4. This is only needed if QMail has already delivered mail to that domain, prior to being responsible for the domain. In that case the old info is cashed, and QMail will not recieve email for that domain until it is restarted.
    5. Cost and schedule

    6. 1day.
    7. Risks

    8. Changes in the command line args may delay the project.

4. Interface Requirements

5. Performance Requirements

The system should use no more than 64Mb RAM.
6. Design Constraints

7. Other non-functional attributes

Specifies any other particular non-functional attributes required by the system. Examples are provided below.

8. Preliminary Object-Oriented Domain Analysis

This section presents a list of the fundamental objects that must be modelled within the system to satisfy its requirements. The purpose is to provide an alternative, "structural" view on the requirements stated above and how they might be satisfied in the system.

9. Operational Scenarios

This section should describe a set of scenarios that illustrate, from the user's perspective, what will be experienced when utilizing the system under various situations.

In the article Inquiry-Based Requirements Analysis (IEEE Software, March 1994), scenarios are defined as follows:

In the broad sense, a scenario is simply a proposed specific use of the system. More specifically, a scenario is a description of one or more end-to-end transactions involving the required system and its environment. Scenarios can be documented in different ways, depending up on the level of detail needed. The simplest form is a use case, which consists merely of a short description with a number attached. More detailed forms are called scripts. These are usually represented as tables or diagrams and involved identifying an action and the agent (doer) of the action. For this reason, a script can also be called an action table.

Although scenarios are useful in acquiring and validating requirements, they are not themselves requirements, because they describe the system's behavior only in specific situations; a specification, on the other hand, describes what the system should do in general.

10. Preliminary Schedule

This section provides an initial version of the project plan, including the major tasks to be accomplished, their interdependencies, and their tentative start/stop dates. The plan also includes information on hardware, software, and wetware resource requirements.

The project plan should be accompanied by one or more PERT or GANTT charts.

11. Preliminary Budget

This section provides an initial budget for the project, itemized by cost factor.

12. Appendices

The Grep ustility is based on:
http://www.ddj.com/articles/1998/9806/

Specifies other useful information for understanding the requirements. All SRS documents should include at least the following two appendices: