BIM: Requirements Document

Section I-Introduction:

The product described in this document is project management software for use by small to midsize businesses in a networked environment. It combines the power of instant messaging software with the security of encryption coupled with innovative uses of known software techniques to improve productivity in the workplace. The product is primarily a secure instant messenger with ties to an XML based, HTML message board/newsgroup system. The product can be divided broadly into the following categories. a.) Client Side Instant Messenger : This has the functionality and appearance of the typical instant messenger including features like contact lists, ability to hold conversations with more than one user in a single window, logging of messages, encryption of outgoing messages, ability to forward conversations as email and an easy interface for printing messages in a readable format. The CSIM also has other features that work with the Group Pages described next. b.)Group Pages: This is an HTML based message board system similar to online message board sites such as www.slashdot.org. Within this system users of the instant messenger can specify groups that they belong to (e.g. a user may belong to the interns group, the quality engineering department group as well as the C++ user group in his organization). Users can then post questions or messages to the Group Pages which can only be viewed by members of the group and no one else depending on the permissions set during the creation of the group or those later set by the system administrator. Group Pages can be accessed through a URL either on a local network or on the World Wide Web. c.)User Page: This is an HTML page from which the user can access various pieces of data from the server including records of online conversations selected by date, time or whom the conversation was with, a display of all the messages the user has posted to the Group Pages, and a way to view the messages/logs of others if they allow. More options may be added to the User Page as the software grows. d.)Administration Page: This page is used by the system administrator to add/delete users and groups, modify the appearance and format of the User and Group Pages, and optimize/tune the database used to store all the information.

Section II - Overview of Software Interactions

The interaction between the CSIM and the Group Pages can be utilized to make it convenient to send and receive messages from fellow members of a group. a.) Each group a user belongs to will be displayed in the user's contact list as a single entity. The user can click on the group name from the contact list and compose a message to the group via the CSIM interface that will then appear on the Group Page of that group. b.) If users post a message to the Group Page either directly or via the CSIM they can choose to be notified if any responses to his/her posts to the Group Page have been made. There will also be significant interaction between the User Pages and the CSIM to grant added functionality and multiple choices of how to perform tasks to the user. c.) The User Page will contain search fields that enable the user to search the logs of his/her messages via the CSIM. d.) The User Page will have a means of indicating which people on the user's CSIM buddy list are currently online.

Section III - Scenario Descriptions

a.) Using the CSIM: David, an intern at XYZ software company, logs on to the CSIM at the beginning of the workday. During the course of working on a project he realizes he has a problem and wants to discover the company's policy towards posting software development questions to newsgroups. He looks on his contact list, notices that his boss is online and sends him a quick message. Shortly thereafter his boss replies and a short conversation ensues discussing exactly how much detail about the project can be posted to a public forum. Shortly afterwards David prints out the conversation and hangs it over his cubicle so he has a handy reference as to what is acceptable when posting questions to public forums. At the end of the day he logs off. b.) Using the Group Pages: The next day, David has a problem that is specific to the company's software product and thus cannot be posted to a public forum. Instead of mass mailing all the people in the company, he posts a message to the "Product ABC Problems" Group Page. Whenever someone responds to his question on the Group Page he is notified by the CSIM so he doesn't have to keep checking the Group Page himself. He eventually finds a solution to his problem and posts another message to the Group Page explaining the solution. c.) Using the User Pages: Ken, who is the project leader for David's project, is telecommuting and thus accesses the company intranet via dialup. He remembers that he had CSIM conversation with one of the developers about the scheduled date for testing the developer's module but cannot remember the details of the conversation. Ken navigates to the User Page and promptly selects the option to view the log of messages between himself and the developer. Ken finds the scheduled date in the message log and then disconnects from the service.

Section IV - Requirements Specification

1. External Interface Requirements
    1.1 User Interfaces
      1.1.1
      The B.I.M. system must provide a web-based interface for users on the Group and User Pages that is intuitive, easy to learn and visually appealing.
      1.1.2
      The B.I.M. system must provide a web-based interface on the Administrator Page that allows for a maximum amount of configuration options possible and allows access to all aspects of the system.
      1.1.3
      The CSIM should have a look and feel that is similar to contemporary instant messaging software so that there is a less steep learning curve involved in training users.
    1.2 Hardware Interfaces
      1.2.1
      The entire B.I.M. system must run on generic hardware platforms without regard or need for any specialized purchases being made.
      1.2.2
      The B.I.M. system must be run on a server with enough memory and hard drive space to handle database operations being carried out by several users from over a network.
      1.2.3
      The B.I.M. system on the client side must run on machines capable of connecting over a network (either local or the internet)
    1.3 Software Interfaces
      1.3.1
      The B.I.M. system (server side) should be able to run on a variety of database systems including mySQL, SQL Server, Oracle, Sybase,Access and postgreSQL databases.
      1.3.2
      The B.I.M. system (server side) must be able to use an existing database on the user's system if it is one of the aforementioned database systems.
      1.3.3
      The B.I.M. system (server side) should be able to run on the following operating systems Microsoft Windows™ NT 4 or Microsoft Windows™ 2000.
      1.3.4
      The web-interface for the B.I.M. system must be able to run in an XSL compliant web browser such as Microsoft Internet Explorer 5.5 and above or Mozilla 6.0 and above with no problems.
      1.3.5
      The B.I.M. system should be able to be served on a variety of web servers as long as they can handle ASP scripts including Apache Web Server and Microsoft Internet Information Server.
      1.3.6
      The CSIM must run in a Windows NT or Windows 9X environment.
      1.3.7
      The B.I.M. system on the client must be able to interface with operating system enough to perform acts such as printing, file creation & deletion and networking.
    1.4 Communications Interface
      1.4.1
      The B.I.M. system must be able to communicate with the user's printer to enable the printing of documents.
      1.4.2
      The B.I.M. system on the central server should communicate with its clients via TCP/IP, HTTP and HTTPS protocols.
      1.4.3
      The B.I.M. system should be capable of providing a secure communication to each user connecting to it from outside a local network.
2. Functional Requirements
    2.1 Client Side Instant Messenger
      2.1.1
      The CSIM must be able to display a history of all conversations had with a particular user. This includes conversations that involved multiple people.
      2.1.2
      Users of the CSIM must be able to have a conversation with multiple people at once in the same instant messenger window.
      2.1.3
      The CSIM must have the ability to maintain contact lists.
      2.1.4
      The CSIM should have the option to send messages via an encrypted protocol
      2.1.5
      The CSIM must be able to display the groups that a user belongs to in the user's friend list. Similarly the CSIM must allow the user to post messages to the Group Pages via the same interface that is used to send instant messages to other users.
      2.1.6 The CSIM should be able to inform a user when a response to a message posted by the user to the Group Page is made.
      2.1.7
      The CSIM must be able to open a browser and send the user to either the User Page or a Group Page simply by the user selecting a specific option
      2.1.8
      The CSIM must provide a simple way to print messages and message histories.
      2.1.9
      The CSIM must provide a simple way to forward messages and message histories as email.
      2.1.10
      The CSIM will allow collections of users and/or Group Pages to be grouped together as aliases to which can be treated as a single entity when sending instant messages.
      2.1.11
      When sending messages via the CSIM the user has the choice of either double clicking on a name in their contact list to send a single message to that user or the user can select a New Message option and then select which users on their contact list should receive the message.
      2.1.12
      The CSIM will make sure the user has a subject when posting to a Group Page.
      2.1.13
      If a person on the user's contact list goes offline, this CSIM's contact list will be updated to show this.
      2.1.14
      Conversations on the CSIM must be displayed in the current message window until the user closes the message window or goes offline as opposed to closing the message window after each message is sent.
      2.1.15
      The CSIM will give the user the ability to create different status messages to indicate to other users that the current user is unavailable such as Busy, Not At My Desk, On The Phone, In A Meeting, Out To Lunch, Be Right Back amongst others.
      2.1.16
      The CSIM will allow for the sending of messages to users that are offline. These messages will then be received the next time the absent user logs in. The CSIM will warn the user whenever a message is to be sent to an offline user.
      2.1.17
      The CSIM will store and be able to display the following user information: first name, last name, phone number(subdivided into work, cell and home), job title, email address and user ID. Searches can be done on other users via their first and/or last names.
      2.1.18
      When the user attempts wants to add Group Pages to the contact list, a tree view of the available groups is presented to the user. The information presented will be of the form Group name, description and owner(s). Users will not be able to add Group Pages to their contact list without adequate permissions.
      2.1.19
      If the user has no user ID the CSIM will send the user to the registration page on the server on the selection of the register option.
      2.1.20
      When adding another person to the CSIM conversations users have the option of either creating a new conversation with the new participant(s) or adding the new participant(s) to the current conversation. The difference is that if the new participants are added to the current conversation then they will be able to see the parts of the conversation that previously occurred via their history list.
      2.1.21
      The messages sent by the CSIM are time-stamped by the server before being logged.
    2.2 User Pages
      2.2.1
      The User Pages must provide links to all Group Pages to which the user belongs.
      2.2.2
      The User Page must allow the user to search conversations had on CSIM by date, whom the conversation was with and by specific text strings.
      2.2.3
      The User Page must contain information on the online status of the people in the user's CSIM contact list.
      2.2.4
      User's should be able to give access to their User Page thus allowing others to search conversations they have had, messages they have sent etc. There should also be some degree of security or setting to be made when allowing others access to the group page so that some conversations cannot be viewed/searched by others.
      2.2.5
      The User Page should contain links to the most recent posts to various Group Pages the user has made.
    2.3 Group Pages
      2.3.1
      Group Pages must only be accessible by members of the group.
      2.3.2
      Group Pages must be able to receive messages sent to them either through the CSIM or directly through using "post" option on the group page.
      2.3.3
      Group pages must offer multiple views to messages contained within including threaded views, nested views, and segregation by date.
      2.3.4
      Any member of a Group Page can add non-members to the Group Page's member list.
      2.3.5
      Group Pages are order hierarchically in a similar manner to USENET. This means that there can be main Group Pages and sub-Group Pages.Any member of a main Group Page can create a sub-Group Page. Only the system administrator can create Group Pages at the topmost level.
      2.3.6
      The Group Page must give posters the option to color code their messages (e.g. if the post is a question it will be surrounded with a red border until the question is answered correctly then the original poster can surround the post in a green border) based on the urgency, nature and state of the message.
      2.3.7
      Group Pages must indicate the members of the page as well as the creator of the page in a conspicuous manner.
    2.4 Administrator Page
      2.4.1
      The Administrator Page must offer diagnostic capabilities to the system administrator such as access to log files and certain performance results as well as database information.
      2.4.2
      The Administrator Page must provide a simple interface for adding and deleting users of the B.I.M. system on that server.
      2.4.3
      The Administrator Page should allow the systems administrator access to any and all user information in the B.I.M. database.
3. Nonfunctional Requirements
    3.1 Speed
    All interaction with the B.I.M. system should occur in a time frame expected by the user from past experience with using instant messaging and web software. All transactions should seem virtually instantaneous to the user or at best relatively fast.
    3.2 Reliability
    The B.I.M. system must be available at all times to its users. All messages sent either via the CSIM or posted to the Group Pages must eventually be stored in the database. Users expect and should receive software that will be robust and stable enough to handle as many users as the underlying server and database platform can withstand.
    3.3 Security
    Security is the most important feature of the B.I.M. system. All transactions over a network by the B.I.M. system must be encrypted. Since access from outside a corporate network is desired by users various security safeguards peculiar to engaging in transactions over the World Wide Web must be taken.
    3.4 Scalability
    The B.I.M. system should be designed in such a manner as to accommodate a varying number of users without a considerable degradation of service being noticeable. Specifically the B.I.M. should be usable by anything from one to several hundred (perhaps thousand) users.
    3.5 Extensibility
    The B.I.M. system must be designed with extensibility in mind. Thus additional options (e.g. Palmtop computer synchronization support) should be easily to add into the existing infrastructure minimal amount of changes being made. 4. Interviews The following is excerpted from an interview with Kwanzaa Hall, the system administrator for Goodworks International, LLC. Q: What problem would you like this product to satisfy? A: Due to the fact that a lot of our employees travel frequently, we need an inexpensive way for them to communicate with the office and keep people at the office up to date on their project status. Q: Why not just use email? A: We have tried email and it is cumbersome for quick conversations as well as group discussions. Q: What is your primary concern about the system? A: That it should be easy to use and relatively easy for us to secure. Q: Are you willing to invest in database software and a PC to act as a server for the software. A: It depends on how much the total cost adds up to, I'll get back to you about that. Q: What operating system would you like the software to run on? A: We currently use Windows on the servers and the desktops so it would have to work with Windows. Q: Do you allow outside access to the intranet? A: We are working on creating a Virtual Private Network but there is no time scale for when this will be ready. We also allow people to dial into the office via a modem. 5. Survey Results Here are the results of an online survey based on questions developed by the system administrator of Goodworks International, LLC. The survey can be located at http://www.25hoursaday.com/survey.html. The primary participants in the survey were the employees of Goodworks International and any individuals they forwarded the URL of the survey.

     

    a.) Age

     

    15 – 19

    3

    20 – 29

    13

    30 – 39

    4

    40 – 49

    1

    50 - 59

    3

     

    b.) Gender

    Female

    10

    Male

    14

     

    c.) Highest level of education obtained

     

    College

    12

    Doctoral

    1

    High School

    2

    Masters

    4

    Some College

    5

     

    d.) Occupation

    Administrative Staff

    2

    Consultant

    2

    Middle Management

    5

    Self-employed

    1

    Student

    7

    Trained Professional

    5

    Upper Management

    1

     

    e.) Operating System

    Linux

    2

    Mac

    1

    OS/2

    1

    Unix

    1

    Win9X

    12

    WinNT

    7

    f.) Browser

    MSIE 4

    6

    MSIE 5

    7

    Netscape 3.x

    2

    Netscape 4.x

    7

    Other

    1

     

    g.) Are any of the features in your browser disabled for security reasons?

    No

    15

    Unsure

    3

    Yes

    6

     

    h.) Which of the following features are disabled in your browser? (Check all that apply).

    Cookies

    6

    Java

    2

    Scripting

    2

     

    i.) Do you use instant messaging software such as AOL Instant Messenger, Yahoo Messenger etc.?

    No

    9

    Yes

    15

     

    j.) Do you use personal information managers such as Microsoft Outlook, Lotus Organizer etc.?

    No

    12

    Yes

    12

     

    k.) Do you use visit newsgroups or message boards either via newsreaders such as
    Netscape Communicator, Microsoft Outlook Express, etc. or through websites like dejanews.com ?

    No

    14

    Yes

    10

     

    l.) Approximately how many people are employed by your organization?

    100-500

    3

    50-100

    7

    500-2000

    3

    < 50

    6

    > 2000

    5

     

    m.) Have you ever used instant messaging software at work to communicate
    with your co-workers?

    No

    17

    Yes

    7

    n.) If the answer to the above question is no, why have you never used an instant messenger at work?
    (Ignore this question if you use an instant messenger at work)

    Never Thought About It

    4

    Email is Effective Enough

    5

    I Can Just Walk to See Them

    4

    Management Won’t Allow It

    2

    Phone is Effective Enough

    2

    Security Risks

    1

     

    o.) Have there been times when you have wanted to ask one or more co-workers a specific question (such as how to perform a certain task or for a lunch date) but could not do so easily or conveniently?

    No

    17

    Yes

    7

     

    p.) Are emails a useful record of discussions with bosses or co-workers?

    No

    1

    Yes

    23

     

    If you use or would like to use an instant messenger at work in the future what features from those listed below are most important and least important? Rate them from 1 to 5 where 1= Very Important and 5=Almost Useless.
    (If you do not plan to ever use instant messaging software at work skip this question and
    answer no to the next question).

     

    q.) Security (no one can snoop in on conversations).

    Average Score: 2.25

     

    r.) Messages are stored so they can be reviewed

    Average Score: 2.58

     

    s.) Ability to print conversations easily

    Average Score: 2.37

     

    t.) Ability to send conversations as email

    Average Score: 2.62

     

    u.) Buddy/Friend Lists

    Average Score: 2.29

     

    v.) Ability to have conversations with multiple people at once

    Average Score: 2.5

     

     

    w.) Ability to send/receive files to/from others

    Average Score: 1.87

     

    x.) Ability to share buddy lists with others

    Average Score: 1.91

     

    y.) Ability to have voice conversations with people via a mic

    Average Score: 1.62

     

    z.)Would you use an instant messenger if it had all the features you rated as important in the previous question?

    No

    2

    Yes

    22