350 likes | 458 Views
Instructor: Dr. Lawrence Chung. TeraSoft Distributed Meeting Scheduler. Team Blitzkrieg: Aditya Dhamankar , Ajay Narasimmamoorthy , Bryan Parker Jassem Shakil , Jeevan Kumar , Muhammad Abdullah , Preeti Ganeshmohan , Sean Wilson , Vinay SampathKumar. PROJECT PHASE 1
E N D
Instructor: Dr. Lawrence Chung TeraSoft Distributed Meeting Scheduler Team Blitzkrieg: AdityaDhamankar, Ajay Narasimmamoorthy, Bryan Parker JassemShakil, Jeevan Kumar, Muhammad Abdullah, PreetiGaneshmohan, Sean Wilson, VinaySampathKumar PROJECT PHASE 1 System Requirement Specification
Agenda • System Overview • Requirement Engineering Process • Issues & Resolutions • Writing Specifications • Prototype • Future Work
Target Audience • Intended Users • TeraSoft • The system will be designed specifically for TeraSoft as per the requirements posted by TeraSoft • Organizations with IT Infrastructure • Any organization with IT infrastructure can use Distributed Meeting Scheduler for scheduling intra-organization meetings
Stakeholders • TeraSoft • The organization which has requested the services of Team Blitzkrieg for requirements engineering and development of the Distributed Meeting Scheduling System • Team Blitzkrieg • Team, responsible for carrying out the aforementioned activities • Professor Lawrence Chung • Coordinated with TeraSoft on behalf of Team Blitzkrieg to gather customer’s requirements
Requirements Source • Initial requirements have been provided by Professor Lawrence Chung • Direct hate-mail to Dr. Chung
User Type Definition • Active Participant • Speaker within the meeting • Specifies equipment requirements • Important Participant • Doesn’t have to speak, but someone with great importance (e.g. Professor Chung) • Specifies location preferences • Regular Participant • A regular attendee • Has no bearing on the location or equipment
Why ??? Some Common Problems: • Time Constraint • Unidentified Roles • Availability of attendees • Availability of meeting locations • Convenience and Efficiency
Why ??? Solutions to all these problems: Automation! • Reduces time and effort • Identifies roles and customizes meeting scheduling process accordingly • Ensures availability of attendees as per their convenience • Ensures availability of most appropriate meeting location • Easy to use for naïve users
What ??? • Monitor Meetings • Plan Meeting • Re-plan Meeting • Resolve Conflicts • Manage Interactions • Manage Concurrent Meetings
How ??? • Monitor Meetings → Accurately control and manage the entire meeting scheduling process • Plan Meeting → Select most convenient meeting date and time, and location • Re-plan Meeting → Support variations and changes in the Schedule • Resolve Conflicts → Perform negotiations • Manage Interactions → Maintain necessary but minimal communication • Manage Concurrent Meetings → Allow users to submit and manage multiple meeting requests
Requirements Engineering Process
Process Model Evolutionary Spiral Model
Process • Analyzing and discussing requirements in team meetings • Constructing deliverables • Reviewing deliverables for amendments before submission • Making final changes
Project Deliverables The project is divided into two phases with each phase having two sub-phases. The following are the deliverables at the end of Interim-Phase I.
Team Roles • Developer: A developer will be responsible to construct the deliverable and perform relevant software engineering practices. • Reviewer: A reviewer will be responsible to review the deliverables and suggest appropriate modifications when deemed necessary. • Team Lead: A team lead will facilitate communication between Developers and Reviewers and will act as an arbiter for conflict resolution between the two teams. The major responsibility of Team Lead is to ensure the production of high quality deliverables before the deadlines. Team Lead Developers Reviewers
Definition Issues • Incompleteness • Undefined phrases • Incomplete list • Ambiguity • Imprecise wording • Unclear phrases • Inconsistency • Contradictory Statements • Unsoundness • Incorrect/Illogical requirements
Identifying Issues and Their Solutions • Identify the issue • Propose elements of the solution • Negotiate different approaches • Specify a preliminary set of solution requirements
Types of requirements • Domain: How do people-ware, software and hardware interact within the domain? • Functional: What are the services, the system must provide? • Non-Functional: What are the constraints, how will the system provide services?
Domain Requirements – Issues & Solutions • [DR1] In the application domain, meetings are typically arranged in the following manner. • [DR1] In the application domain, meetings are arranged in the following manner. • [DR5] meeting date shall be defined perhaps by a pair (calendar date, time period). • [DR5] A meeting date shall be defined by a calendar date, day of the week, and time.
Domain Requirements – Issues & Solutions • [DR7] The initiator could also ask, in a friendly manner, active participants to provide any special equipment requirements on the meeting location. • [DR7] The initiator asks active participants, people who are going to actively participant in a meeting, for any special equipment they might need at the meeting location (e.g., overhead projector, workstation, network connection, telephone, etc.). . • [DR19] Furthermore itshould ideally belong to one of the locations preferred by as many important participants as possible. • [DR19] Furthermore it [the meeting room] shall belong to one of the locations preferred by the majority of important participants.
Functional Requirements – Issues & Solutions • [FR3] Monitor meetings, especially when they are held in a distributed manner; • [FR3] Monitor meetings which include arranging the meeting location and date, after consensus from the participants and getting the resources for the meeting, especially when they are held in a distributed Manner. • [FR5] Re-plan a meeting to support the changing user constraints; • [FR5] Only the meeting initiator is allowed to Re-plan or make changes to a meeting to support the changing user constraints.
Functional Requirements – Issues & Solutions • [FR8] Manage all the interactions among participants required during the organization of the meeting, for instance: to make participants aware of what's going on during the planning process; • [FR8] Everybody who received the meeting request are updated (includes important, active participants and also participants who declined the meeting request.) to make participants aware of what's going on during the planning process; • [FR10] Meeting requests can be competing when they overlap in time or space. Concurrency must thus be managed. • [FR10]Meeting requests can be competing when they overlap in time or space and in such cases ties are broken by the meeting initiator who decides if the meeting needs to be cancelled/postponed/changed.
Non-Functional Requirements – Issues & Solutions • [NFR2] A meeting should be accuratelymonitored, especially when it is held in a virtual place. Here, nomadicity will then be important to consider; • [NFR2] A meeting shall be monitored, using valid and updated information including exclusion and preferred sets, locations and resource requests. Here, availability of precise aforementioned information to the meeting initiator regardless of his/her geographic location shall then be important to consider. • [NFR6] The system should reflect as closely as possible the way meetings are typically managed (see the domain theory above); • [NFR6] The system shall exactly reflect the way meetings are managed (see the domain theory above);
Non-Functional Requirements – Issues & Solutions • [NFR9] Physical constraints should not be broken --- e.g., a person may not be at two different places at the same time; a meeting room may not be allocated to more than one meeting at the same time; etc.; • [NFR9] The system shall not: 1) allow a person to attend more than one meetings at the same time 2) allocate a meeting room to more than one meetings at the same time. • [NFR12] The system should be customizable to professional as well as private meetings - ...; • [NFR12] The system shall allow a meeting initiator to term a meeting as professional or private at the time of initiating a meeting. The system functionality will remain unaffected in professional as well as private meeting
Improved Understanding • Lack of ambiguity – There is only one possible interpretation for each requirement statement • Conciseness – Represented in minimal number of words • Completeness – The specification contains all requirements known to date • Consistency – There are no conflicting requirements • Traces to origins – The source/origin of each requirement is identified. It may have evolved from a more general requirement • Organized into logical meaningful groups
Writing Specifications • Uniquely identify each specific requirement to make referencing them easier (e.g. DFR1, FR 5, NFR10) • Establish a single source for requirement storage (SRS Document) • Follow a standard or recommended guide for adopting a structure for the document. (WRS Template) • Adhere to standard rules for writing good requirements statements (atomic requirements, appropriate use of shall/should/will) • Assess and improve document quality (traceability matrix, percentage of possible change)
Functional vs Nonfunctional Functional & Nonfunctional Traceability
Prototype • Blitzkrieg Distributed Meeting Scheduler
Percentage of Change • 25% of Change • Rationale • Weighted each requirement based on the level of implementation difficulty. • Selected the requirement that are the least difficult to change. • Calculated percentage: Requirement Changes/Total Requirements
Future Work • Process Specification • Issue Analysis Revisited • Product Requirement Models • Prototype
Thank You! Any Questions?