Docstoc

Elicitation

Document Sample
Elicitation Powered By Docstoc
					CSCI – 630 SOFTWARE ENGINEERING




Elicitation Work Product

                 for


             Mood-e


            Prepared by


           Suresh Bhatia
           Nauman Malik
          Noopur Ambekar
           Hardev Saini



  Department of Computer Science

  California State University, Chico
Statement of need and feasibility


The document is about the web portal named Mood-e. This document will describe all
the features and functionalizes that are require by this web portal. The document will
mainly cover the initial requirement and will provide a base line for the developers to
construct their design.

Mood-e is meant to be a fun and simple mood tracking and exploring utility with a
focus on entertaining the general public through the organization of friendly mood
groups. Its purpose is to bring communication through mood to the emotionless
Internet and provide a channel for open communication about mood and feelings.
Since the general Internet using public is Mood-e’s base user class, Mood-e must not
only appeal to a wide variety of people and cultures, but it must unify these entities.
The very core of Mood-e accomplishes this. Since mood is a universal human
characteristic, Mood-e uses it to unify people of varying ethnic, cultural, educational,
or experiential backgrounds.

Although Mood-e’s base user class is the entire world, Mood-e is amenable to
microcosms like office spaces, friends, or support groups (How better to start a
support group then with a product geared toward mood). In the office, workgroups
or managers can use Mood-e to monitor the overall disposition of their workers or
cohorts. We all know that happy cohorts make friendly cohorts and happy groups
are “jelled” groups. Thus, if prolific work environments are essential, so is Mood-e
(Work environments would rely heavily on Mood-e’s analysis features). Nonetheless,
why not just use Mood-e to keep tabs on your friends. Every body needs a cheer up
once in a while, and Mood-e’s historical mood tracking is the utility to avoid the
futility of repeated mood depressors.



Statement of Scope

The Mood-e is a one of its kind product. It will track the moods of the users and will
make them available to the other users, which are in same group. This web portal
will also be beneficial for the individual as well as the whole group. The Mood-e will
also provide an interface for its functionalities through the web site and a web
service. The web service will help it to integrate it in to other 3rd party products.


List of stakeholders participating in Elicitation

The list of stakeholders for our project is as follows:

   1.   Senior Manager
   2.   Project Manager
   3.   Software Engineers
   4.   Customers
   5.   End-users




                                            2
System Technical Environment

The Mood-e is a web portal and it can be virtually installed on any windows based
web server. The .NET frame work will be a prerequisite for this web site. The .NET
frame work version 1.1 will be a compatible with this web site. The other software
that will be required will be any up to date anti virus software and Microsoft SQL
Server Client.

The server that will be used for this web site should be IBM technology based. The
minimum system required will be Pentium IV 1 GHz with 1 GB Memory and at least
40 GB hard disk.


External Interface Requirements

User Interfaces

The interface of the web portal should be simple and user friendly. All the links and
menus should be properly synchronized and well lay out. The over all theme of the
web portal should be customizable.

The main menu of the web site should have the tabs horizontally at the top end,
listing each section of the web site. The hyper links related to each domain should be
provided on the left hand side of the screen vertically.

The all the CSS provided with the web site should be totally supported by the
embedded html. The configuration file of the portal should be editable, with all the
main attributes of the site i.e. Session Time out, CSS path, CSS name, Database
variable etc.

The other interface should be through web service, which should be running on the
web server. The web server should only expose the functions required. The web
service should maintain all the standards of WSDL and SOAP.

Hardware Interfaces

This web site should support IBM based systems. One system should be used as the
Web Server and the other one as the Database server.

Web Server:

The hardware required for web server will be provided by the company and should
be totally compatible with all the functionalities of the web site. The hardware should
support IBM based system, with Pentium Processor not less then 1 GHz and with at
least 1GB Memory and 40 GB of Hard disk drive. The server should also be installed
with a CD ROM.
The web server should be connected with a high speed internet with data speed of at
least 256 Kbps.
The power supply should also be provided as a backup power source.

1.1.1 Database Server:




                                          3
The hardware required for this database server should be an IBM based system, with
Pentium Processor not less then 1 GHz and with at least 1GB Memory and 40 GB of
Hard disk drive. The server should also be installed with a CD ROM.
The database server should not be connected with internet. The power supply should
be maintained properly with a backup power source.


The client should not be dependent on any specific hardware to view and use this
web site.

1.2 Software Interfaces

This web site should be installable over a Microsoft Windows 2000 Web Server. The
operating system should be used for this web site is Microsoft Windows 2000 Server
Edition with all service packs installed. The other basic requirement will be the .NET
Framework. The .NET Framework version 1.1 should be totally compatible with this
web site. This system should also be installed with Microsoft SQL Server.

This web site should use the database from the database server. The database
server should also be installed with the Microsoft windows 2000 Server Edition. In
addition to that server should be installed with the Microsoft SQL Server.

The other software that is required for the Web Server and the Database Server
includes the Anti Virus and Firewall. The anti virus should have the virus definition
updated. The firewall installed on each system should be properly configured for the
allowed programs to communicate.

1.3 Communications Interfaces

The only communicating interface required for this web site should be a web
browser. Any web browser with the functionality equivalent to the Microsoft Internet
Explorer version 6 or higher should be totally compatible for this web site to view.


List of Requirements organized by functions
      1. Security

1.4    1.1 Sign Up:

             Requirements
             REQ-1:    A Mood-e public homepage must exist with a link to the sign
                       up page.
             REQ-2:    A sign up page must exist and contain a request for a
                       username, password, e-mail address, reminder question drop
                       down (i.e. favorite pet?, etc.), and a spot for answering the
                       reminder question. The user is not required to provide a
                       reminder, but must provide all the other fields.        Error
                       conditions should be noted through a validation summary in
                       the right column.




                                          4
              REQ-3:   Methods for grabbing and storing new user data, and
                       checking for duplicate e-mail addresses in the data store
                       should be present.
              REQ-4:   A backend data store should be provided for the storage of
                       new user credentials.



1.2 Authentication:

              Requirements
              REQ-1:   A Mood-e public homepage must exist with inputs for
                       username and password requests.
              REQ-2:   SSL should be set up with a valid certificate for secure
                       connections.
              REQ-3:   Methods for grabbing the credential data, encrypting it via
                       md5 and comparing it to the data store credentials should be
                       present.
         REQ-4: A backend data store should be provided for credential
     comparison.


2.

2.1 Creating

              Requirements
              REQ-1:   A Mood-e user specific main screen should exist with a link to
                       the user profile application.
              REQ-2:   The Mood-e profile application page should exist with inputs
                       on it for creating/editing all login information plus inputs for
                       profile information as noted in this feature’s description. The
                       public private options are very important for allowing view
                       access.
              REQ-3:   Methods for grabbing and storing profile data, to the data
                       store should be present.
              REQ-4:   A backend data store should be provided for the storage of
                       user profile data.



2.2 Editing

              Requirements
              REQ-1:   A Mood-e user specific main screen should exist with a link to
                       the user profile application.
              REQ-2:   The Mood-e profile application page should exist with inputs
                       on it for creating/editing all login information plus inputs for
                       profile information as noted in this feature’s description. The
                       public private options are very important for allowing view
                       access.




                                          5
           REQ-3:   Methods for grabbing and storing profile data, to the data
                    store should be present.
           REQ-4:   A backend data store should be provided for the storage of
                    user profile data.


3. Setting Mood

     Requirements
           REQ-1:   All security features for authenticating into Mood-e account.
           REQ-2:   A Mood-e user home screen from which a “Set Mood” option
                    is available.
           REQ-3:   A mood selection web application displaying various emoticon
                    buttons for selecting the current mood.

           REQ-4:   Ability to send Mood-e e-mail reminders (see Mood-e Mailer)
                    to text and html mail clients.
           REQ-5:   Ability to respond to above e-mail reminders and store a
                    user’s mood selection without going through the standard log
                    in process or compromising the user’s credentials in clear text
                    e-mails.
           REQ-6:   Methods for grabbing the mood value and logging it in the
                    data store.
           REQ-7:   A backend data store should be provided for mood logging.



4. Building Mood Reminder Schedule

     Requirements
           REQ-1:   All security features for authenticating into Mood-e account
                    developed.
           REQ-2:   A Mood-e user home screen from which a “Mood-e Scheduler”
                    option is available.
           REQ-3:   A mood selection web application implementing the
                    functionality described in detail above.
           REQ-6:   Methods for grabbing the schedule as defined above and
                    storing it in the data store.
           REQ-7:   A backend data store should be provided that allows the
                    storage and retrieval of a user’s schedule as defined above.


5. Viewing Mood

     5.1   Current Mood Views
           Requirements
           REQ-1:   A Mood-e user specific main screen should exist with a spot
                    for displaying the current mood and a link to a current mood
                    view, and authenticating into this screen should be functional.




                                       6
           REQ-2:   A mood viewing page that displays the current mood and
                    profile and possibly a mood timeline retrieved from the data
                    store should exist.
           REQ-3:   Methods for garnering and presenting the above data should
                    exist.
           REQ-4:   At least the public/private profile configuration option should
                    be implemented to allow or restrict the display of data.
           REQ-5:   Web service code to access Mood-e user XML data should
                    exist.
           REQ-6:   Setting the mood requirement listed in 3.3 should be
                    functional.
           REQ-7:   A backend data store should be provided for the storage of
                    user profile data.



     5.2   Historical Mood Views
           Requirements
           REQ-1:   A Mood-e user specific main screen should exist with a spot
                    for displaying the current mood and a link to a current mood
                    view, and authenticating into this screen should be functional.
           REQ-2:   A mood viewing page that displays the current mood and
                    profile and a mood timeline retrieved from the data store
                    should exist.
           REQ-3:   Methods for garnering and presenting the above data should
                    exist including the statistics necessary to coalesce moods with
                    weighted averages.
           REQ-4:   At least the public/private profile configuration option should
                    be implemented to allow or restrict the display of data.
           REQ-5:   Web service code to access Mood-e user XML data should
                    exist.
           REQ-6:   Setting the mood requirement listed in 3.3 should be
                    functional.
           REQ-7:   A backend data store should be provided for the storage of
                    user profile data.


6. Mood Suggestions

     Requirements
           REQ-1:   All security features for authenticating into Mood-e account
                    developed.
           REQ-2:   The mood can be set, retrieved, and analyzed. Setting the
                    mood is covered in 3.3 and analyzing the mood is covered in
                    3.7, so both of these features should be planned and
                    developed before this feature is considered. When designing
                    those features keep this one in mind, however.
           REQ-3:   An A.I. script database needs to be developed for all the
                    moods supported in Mood-e.
           REQ-4:   An A.I. agent needs to be constructed to utilize the scripts in
                    a human like fashion (free source code exists for these types
                    of agents on the web).



                                       7
7. Mood Analysis

     Requirements
           REQ-1:   Mood setting and retrieving functionality is required.
           REQ-2:   An event like scheduling interface for defining custom time
                    patterns.
           REQ-3:   Methods for building a merged timeline view which could also
                    be used in the historical view feature.
           REQ-4:   Methods for creating a graphical histogram and statistics from
                    mood data.
           REQ-5:   A backend data store where moods are logged and retrieved
                    from.


8. Mood-e Groups

     8.1   Searching for Groups
           Requirements
           REQ-1:   A Mood-e user specific main screen should exist with a spot
                    for searching for groups.
           REQ-2:   A page view displaying search results as described in
                    “Response 1” above should be created.
           REQ-3:   Functionality for creating, editing, and joining groups should
                    be completed.
           REQ-4:   The public/private designation of groups should be well
                    defined.
           REQ-5:   Setting the mood requirement listed in 3.3 should be
                    functional.
           REQ-6:   A backend data store should be provided for the search and
                    retrieval of group data.


     8.2   Joining / Leaving Groups
           Requirements
           REQ-1:   Mood-e authentication should be completed.
           REQ-2:   A user home screen should be present with three grouping
                    boxes. First a box showing the user’s groups, second a box
                    showing the user’s invitations, and third a box for showing
                    the user’s created channels should be present along with the
                    options for these boxes discussed above and in this
                    document.
           REQ-3:   The code for creating and configure a group should be
                    finished.    This code includes options for defining the
                    following: a group title, a group description, public or private,
                    a list of users invited to the channel, search code to find
                    these users, and code to invite unknown users via e-mail,
                    code to monitor who has joined via secure invite tokens, code
                    to assign group users group control options (i.e. “Invitations
                    Control,” public/private control, restrain a user control,
                    remove a group user control, and various other control
                    features.



                                       8
           REQ-4:   Methods for adding users to a group and removing them from
                    a group should be present.
           REQ-5:   Searching for users can be completed after this code is
                    completed although they are dependent.
           REQ-6:   A backend data store should be provided for the insertion and
                    retrieval of group data.


     8.3   Viewing Group Member's Moods
           Requirements
           REQ-1:   All requirements of section 3.5 are present
           REQ-2:   All necessary group create/edit/delete/join/leave functions
                    are defined.
           REQ-3:   CSS styles for each Mood-e mood are created.
           REQ-4:   A page for listing a group’s members and moods is present.


     8.4   Analyzing Group Member's Moods
     Requirements
           REQ-1:   Mood setting and retrieving functionality is required.
           REQ-2:   An event like scheduling interface for defining custom time
                    patterns.
           REQ-3:   Methods for building a merged timeline view which could also
                    be used in the historical view feature.
           REQ-4:   Methods for creating a graphical histogram and statistics from
                    mood data.
           REQ-5:   A backend data store where moods are logged and retrieved
                    from.

     8.5   Group Management (Creating / Editing / Deleting / Control)
           Requirements
           REQ-1: Only the requirements listed in 3.1 are necessary to begin
           programming this feature.
           REQ-2: Internal features to this feature can be added incrementally,
           but creating, editing, and deleting groups is vital.


9. Mood-e Mailer

     Requirements
     REQ-1: All basic features of Mood-e touched upon in this document should be
            implemented.




                                      9
Usage scenarios


1. Security
      1.1 Sign Up:
              Stimulus/Response Sequences
              Stimulus 1: From the public Mood-e homepage, a user clicks on the
              “Sign Up” link to bring them to a simple sign up page. The user types
              in a username, password, and a reminder question and submits his/her
              data.
              Response 1: A new Mood-e user is created and identifying credentials
              for that user are stored. The user is passed through to the Mood-e
              main screen where he/she can begin exploring Mood-e.

              Stimulus 2: A Mood-e member sends a group or personal invitation to
              an unknown e-mail address. The receiver of the e-mail follows a link in
              the e-mail to the Mood-e sign up page.
              Response 2: If the invitation is a simple invitation to Mood-e the
              response is the same as in “Response 1,” but if the invite originated
              from a group invitation, a unique group token should be sent with the
              e-mail link. The sign up process should keep track of this token to
              validate a group invitation, and when a user finishes the sign in
              process, as in “Response 1,” the token is used to add the inviting
              group to their group

      1.2 Authentication:

              Stimulus/Response Sequences
              Stimulus 1: From the public Mood-e homepage, a user provides sign in
              credentials (i.e username and password) and clicks on the submit
              button.
              Response 1: A secure channel via SSL passes those credentials to a
              login page or server process to md5 encrypt them and search for their
              combination in a data store. If the credentials are verified, the user is
              provided with his/her Mood-e home screen, otherwise they remain on
              the Mood-e homepage with an error stating that their username or
              password is invalid.

              Stimulus 2: A Mood-e member wants to access his Mood profile from
              the Mood-e web service, and he/she provides login credentials.
              Response 2: The web service validates the credentials via the md5
              encrypted credentials in the data store. Based on the credentials the
              user is either granted or denied access to the web service.


2. User Profile

       2.1 Creating
              Stimulus/Response Sequences
              Stimulus 1: From their home screen a user wishes to create his/her
              profile that will be displayed when his/her current mood is viewed by




                                          10
              himself or other Mood-e users. He/She selects the link to activate
              profile web application.
              Response 1: A web page that is populated with the users already
              known data as noted in the description shows up (previously created
              profile data should also show). The user can edit this data and click a
              save button to save the new or updated data to the Mood-e data store.


2.2 Editing

              Stimulus/Response Sequences
              Stimulus 1: From their home screen a user wishes to create his/her
              profile that will be displayed when his/her current mood is viewed by
              himself or other Mood-e users. He/She selects the link to activate
              profile web application.
              Response 1: A web page that is populated with the users already
              known data as noted in the description shows up (previously created
              profile data should also show). The user can edit this data and click a
              save button to save the new or updated data to the Mood-e data store.


3. Setting Mood

      Stimulus/Response Sequences
              Stimulus 1: From the user’s home screen, he/she chooses to set a new
              current mood by selecting the set mood button or link.
              Response 1: A new web application page is launched portraying
              graphic emoticon buttons, representing different moods, in a 5 X 6 grid
              (Note that future Mood-es will not have a static grid dependent on the
              linear number line). The user must click on the emoticon button of
              his/her choosing to fire the methods necessary for logging the mood
              selection. Once a mood is chosen the user is transferred to his/her
              current mood view.

              Stimulus 2: A user receives a mood reminder page through e-mail.
              From this page the user can select his/her mood as if he/she is logged
              into Mood-e and viewing the mood application. A user selects his/her
              mood via e-mail emoticon button or link.
              Response 2: The selected link allows secure logging of the user’s
              current mood without the requirement of logging in.


4. Building Mood Reminder Schedule

      Stimulus/Response Sequences
              Stimulus 1: From the user’s home screen, he/she chooses to set a
              Mood-e schedule
              Response 1: The user is sent to the scheduler page as described
              above. The user follows a series of steps to define a reminder schedule
              as in the example above. The user receives e-mails on this schedule
              that contain content to set the user’s current mood (see Mood-e Mailer
              and Setting Mood).




                                         11
5.Viewing Mood

     5.1   Current Mood Views
           Stimulus/Response Sequences
           Stimulus 1: User logs in to home screen.
           Response 1: Current mood emoticon is looked up and displayed near
           the top of the page with other content.

           Stimulus 2: User clicks on current mood emoticon from home screen
           or follows a link to current view while on their Mood-e site
           Response 2: The user is transferred to the Mood-e view displaying the
           current mood and items from the user’s profile.
           Stimulus 3: A member wishes to show profile on his site.
           Response 3: If the member is a public user, his/her mood and profile is
           accessible in XML format via a web service supplying only a username,
           otherwise the user must log into the web service and provide
           credentials to obtain this file.

           Stimulus 3: Somebody clicks on a Mood-e emoticon displayed on
           someone’s site.
           Response 3: The user is transferred to a Mood-e page displaying that
           user’s current mood and possible mood timeline to the web-surfer
           unless the user is private. If the user is private the web-surfer is
           informed of this and directed to sign up for Mood-e.


     5.2   Historical Mood Views
           Stimulus/Response Sequences
           Stimulus 1: User logs in to home screen and clicks on current mood.
           Response 1: Current mood and profile page is displayed above the
           historical mood displayed as a timeline in one of the above suggested
           phases (i.e. a year, a month, a day, possibly a week or hour).

           Stimulus 2: User clicks on historical mood timeline to traverse from a
           year to a month view.
           Response 2: The timeline changes to show a timeline of moods over
           the course of a month. These monthly moods are derived from the
           weighted mood averages as described above.

           Stimulus 3: User clicks on historical mood timeline to traverse from a
           month to a day view.
           Response 3: Results of this action are identical to Response 2 with the
           granularity of the month changed. All similar actions also incur a
           similar response.



6.Mood Suggestions

     Stimulus/Response Sequences
           Stimulus 1: A mood change occurs or a user logs in to view his/her
           mood.
           Response 1: The computer randomly looks at mood pertaining to that
           user and pulls an A.I. script from a script database related to the



                                      12
           selected mood. The computer initiates a conversation about the user’s
           mood via the script. The user can respond if desired.



7. Mood Analysis

      Stimulus/Response Sequences

           Stimulus 1: A user follows an “Analyze” link from one of several
           locations: their home screen, a group screen, or some publicly available
           linking site.
           Response 1: The user is taken to a page similar to the one described in
           sections 3.4 on building a schedule, and that page is passed the keys
           necessary to determine which user this analysis is on. The user
           chooses a time pattern by selecting a start date, a start time, a stop
           data, a stop time, and selecting a preset schedule as defined in section
           3.4, or building a custom schedule, also defined like 3.4. The user
           submits this schedule and is presented with the two views for a chosen
           user as described in the description above.




8. Mood-e Groups

     8.1    Searching for Groups
           Stimulus/Response Sequences
           Stimulus 1: User logs in to home screen and selects search criteria
           from the above mentioned drop down, inputs his/her search terms, and
           submits.
           Response 1: A listing of all groups that match the search terms is
           displayed. Next to each group listed is an option for joining that group,
           and getting a description (i.e. creator, members, etc.) of that group if it
           is public (options are disabled if the group is private). Private groups
           only have an “Invite Request” option, which allows a searching user to
           request from the group creator admittance into the group.


     8.2    Joining / Leaving Groups
           Stimulus/Response Sequences
           Stimulus 1: User logs in, searches for a group, and clicks the join
           button next to that group.
           Response 1: The user is added to the group, and this addition should
           be reflected in the home screen box listing that user’s groups. The user
           can now access the moods of that group and its members by following
           the group’s link from his home screen group box.

           Stimulus 2: User receives an invitation token to a group.
           Response 2: The user is notified of this invitation via e-mail, and must
           log into his/her Mood-e home screen to view this invitation in the
           invitation box. The user can click on “Accept” or “Reject” next to each
           invited group to add, or not, his/her name to the group. Either way,
           the invite token is updated as having been used so nobody else can use
           it, and the invite box is cleared of this invitation.


                                        13
      Stimulus 3: A user creates a group.
      Response 3: (See section 3.8.6 on group management)

      Stimulus 4: A user with “Invitation Control” for a group can not find a
      friend in the user member database, so he/she invites the friend by
      providing an e-mail address.
      Response 4: The e-mail address is checked against Mood-e members, if
      it is not there, an invitation is sent to the address to join Mood-e with a
      special token to be used to invite the user to a group once they have
      followed the e-mail link and gone through the Mood-e sign up process.
      Once the new user is signed up, he/she joins as in “Stimulus 2”, where
      the invitation token is the one sent to the e-mail.


8.3    Viewing Group Member's Moods
      Stimulus/Response Sequences
      Stimulus 1: A user wants to view his groups’ moods. The user logs into
      Mood-e, clicks on a group listed in his home screen group box.
      Response 1: A listing of that group’s members appears with their
      currently selected mood adjacent a small profile. A group mood is
      calculated from the current moods of all the group members and
      displayed (Note: future versions of Mood-e should allow groups to be
      viewed just as individual users are viewed). A color scheme that
      reflects the overall group mood should be used, so it will be necessary
      to have a CSS designed for each mood.
      Stimulus 2: From the group mood page, a user clicks on a name of a
      member of the group.
      Response 2: The user is transferred to the mood profile of the user as
      defined in section 3.5.


8.4    Analyzing Group Member's Moods
      Stimulus/Response Sequences
      Stimulus 1: A user wants to analyze his groups’ moods. The user logs
      into Mood-e, clicks on a group listed in his home screen group box.
      Response 1: A listing of that group’s members appears with their
      currently selected mood adjacent a small profile. A group mood is
      calculated from the current moods of all the group members and
      displayed (Note: future versions of Mood-e should allow groups
      to be analyzed just as individual users are analyzed). A color
      scheme that reflects the overall group mood should be used, so it will
      be necessary to have a CSS designed for each mood.

      Stimulus 2: From the group mood page, a user clicks on a name of a
      member of the group.
      Response 2: The user is transferred to the mood analysis web
      application to select a analysis pattern for this user as defined in
      section 3.7.


8.5    Group Management (Creating / Editing / Deleting / Control)
      Stimulus/Response Sequences




                                   14
           Stimulus response sequences for the above features are straight
           forward since they are well defined features in other systems like IRC.


9. Mood-e Mailer

           Stimulus/Response Sequences
           Stimulus 1: User logs in to home screen and selects search criteria
           from the above mentioned drop down, inputs his/her search terms, and
           submits.
           Response 1: A listing of all groups that match the search terms is
           displayed. Next to each group listed is an option for joining that group,
           and getting a description (i.e. creator, members, etc.) of that group if it
           is public (options are disabled if the group is private). Private groups
           only have an “Invite Request” option, which allows a searching user to
           request from the group creator admittance into the group.




                                        15

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:8
posted:11/2/2011
language:English
pages:15