Part 2, The Specification


  1. Must be able to maintain a membership list, with multiple categories of membership, and designate privileges based on membership category
    • Should have ability to identify users and provide special services to registered members
    • Should have ability to organize and manage membership in subgroups based on member interests
    • Should have ability to associate subscription periods with membership levels
    • Should have ability to automate administration of membership subscriptions
      • Membership subscription fees and billing
      • Membership expiration, including notices
  2. Must be able to support customized member profiles
    • Should provide support for geo-tagging and geo-mapping of members
  3. Must have facilities for member participation statistics collection and display (e.g., user points)
    • Should provide a mechanism for member acknowledgement and appreciation of other members – includes both rewards for good deeds and penalty for misdeeds (karma?)
  4. Must provide a published membership directory
    • Must provide the ability to restrict viewing of the membership directory to “members only”
    • Must provide members the ability to manage profile information shared in the directory
  5. Must provide a facility to administer groups as private or public (closed or open)
    • Should be able to support groups with topics
  6. Should provide facilities for project management – coordination of members as part of a group to accomplish work efforts or tasks.
  7. Should provide a facility for members to form informal groups (friends, followers, etc.)
    • These should be groups of the users own design. for example, there may be multiple friends groups for any one person which represent different circles of friends (work, social, etc.)
  8. Should provide support for group messages between members where multiple members participate collectively in the conversation
  9. Should support member-to-member private messaging
  10. Should support online chat
  11. Should provide support for gathering of data and presentation of statistics in the form of a community dashboard – a set of metrics to evaluate the state of the community (members, posts, posts/member, member geo-location, etc.)


  1. Must provide facilities to control access to content based on registered or anonymous access
    • Should provide support for content access according to membership level
    • Should provide the ability to subscribe to content access independent of membership level  (might be free, might be paid, might be earned based on “points”)
  2. Should be able to support delegation of administration
  3. Should provide automated tools to inhibit and manage spam
  4. Must support administration of member privileges based on member levels, groups and/or categories
  5. Should support payment processing for donations and membership fees
  6. Must support group email for service announcements
  7. Must support online notifications for service announcements
  8. Must support facilities for placing restrictions on inappropriate user names
  9. Must provide facilities for banning members

Non-functional Requirements

  1. Should have a role-based security system
  2. Should provide for support to facilitate domain based roles and privileges
  3. System architecture should support a Separation of Concerns philosophy – adherence to a more strict SoC philosophy helps achieve easier adaptability and expansibility. SoC includes things like the separation of content from format/style linked through structure in HTML versus CSS. It provides a mechanism to do things like add RDF syntax through meta-data
  4. Use of and ability to code/alter meta-data
    • For presentation (SEO, semantic web crawlers, automated consumption)
    • For content management – flexible extension (custom types, fields, etc.)

Use Case Models

  1. Member Registration
  2. Create Group
  3. Join Group
  4. Leave Group
  5. Create content
    • Create  draft
    • Edit content
    • Publish content
  6. Post Comments
  7. Create “friend”
  8. Subscribe to topical thread
    • Online email notification option
  9. Unsubscribe from topical thread
    • Unsubscribe from email



Web Links

1 thought on “Part 2, The Specification”

Record a reflection ...

This site uses Akismet to reduce spam. Learn how your comment data is processed.