This is a cooperative project requiring the combined efforts of everyone in the class. Participants will be assigned roles in the project, and grades will be based on:
• how well each of your carries out your assigned role, as measured by products you generate.
• quality of the final product.
• conduct of a series of specification, design, and test reviews leading up to the final product qualification test
An Architectural description is provided on the next page, along with additional notes and comments. Also included are job descriptions for each of the roles to be assigned.
Purpose of the Project:
The goal of the Collaboration Server System (CSERV) is to support conduct of shared work activities of software development teams, which may be separated in both space and time. The primary function of CSERV is to support project management activities, rather than project products. That is, the goal of CSERV is to manage people, tasks, and information about software development projects that are registered with it.
The Collaboration Server will support multiple projects, and provide role-based and team-based access to information about each project. The intent is that most project information is viewable by everyone with a Collaboration Server account, but the ability to modify a stored item is, by default, awarded only to the responsible individual for that item. Any project administrator may override that default, and an item's responsible individual may grant permission to modify it to other project members.
The CSERV provides a set of tools for working with a common set of project data for: technical collaboration, documentation, disclosure, scheduling, notification, and monitoring progress against schedule. Since all tools share the same information, they work together to provide a diverse, but consistent view of a project's management information. A change in project data made by one tool is immediately visible by any other tool that accesses the same information.
The main functions provided by the Collaboration Server are:
• Record and disclose project team structures and staffing
• Organization chart with contact, job description, and biography information for each project member attached
• Announcements of new additions and changes of responsibility
• Support development, recording, disclosure, and assignment of work packages to teams and people.
• Work packages define specific activities, start and completion dates, and responsible individuals (RIs).
• Each package provides links to issues statements and completed work.
• Each package has an associated list of zero or more action items with responsible individuals and creation dates. Usually, the responsible individual will be the package RI, but additional people may be assigned co-responsibility for action completion.
• Completed action items have resolution statement and date.
• Provide scheduling support for each project, team, and individual.
• Work schedules, e.g., start, duration, and completion of each work package
• Alerts for scheduled reviews and collaboration events
• Specialized schedules for reviews, deliveries, and meetings.
• Support daily communication between teams.
• Project and team whiteboards
• Project and team Wikis
• Notification service
• Document management:
• Web-based document management system
• All documentation is available via webpages, except for correspondence with customers
• Project Progress Monitor:
• Evaluate and display progress of work package completion versus schedule for any registered project
• Evaluate and display a set of progress metrics for each team
• i. List of task completions with completion time relative to scheduled completion, in percent of project time ahead of schedule (+) or behind schedule (-).
• ii. Reviews assigned/completed
• iii. Tests assigned/completed
• iv. Documents assigned/completed
• Browsing Service:
• Supports the role-based examination of all data stored on the Collaboration Server.
• Distributed Clients:
• CSERV Clients provide access to the CSERV server information.
• Each Client supports local project communication tools, e.g., whiteboard, access to Wikis, notification client, and support for digital meetings.
• Communication System based on message-passing through sockets and web services:
• Supports client/Collaboration Server communication and Client/Client communication.
• Supports notifications.
• Data Management:
• Supports storage of all shared data, as described above, on the Collaboration Server.
• The unit of storage is an item, and every item has one, and only one, responsible individual.
Start and completion dates are associated with each work package. The schedule accesses this information for editing and display. Documentation includes specifications, design documents, code (production, test, and prototypes), schedules, and all other project planning documents. Specifications, design documents, and code are usually held in a repository, but the tools to create specifications and design documents as web pages are provided by CServ. Also, CServ provides the tool or tools to create webpage representations of code.