SDMS Meeting Scheduler
description
Transcript of SDMS Meeting Scheduler
SDMS Meeting SDMS Meeting SchedulerScheduler
Getting People TogetherGetting People Together
Getting People TogetherGetting People Together
Project GoalsProject Goals Provide Requirements for Meeting Provide Requirements for Meeting
SchedulerScheduler Define and clarify customer goalsDefine and clarify customer goals
Provide a prototype for customer Provide a prototype for customer feedbackfeedback Help define and solidify requirementsHelp define and solidify requirements
Group BreakdownGroup Breakdown
Team Member Role Function
Jessica Nixon User World: End-user
Meeting Participant Project Manager
Meeting Organizer/ Initiator
Describe functions from the enterprise perspective
Describe constraints from the enterprise perspective
Describe user interface Make project plan
(process model)
Yajing Zhao Subject World:CustomerClient Company ManagerDomain Experts/Consultants
Describe the market position of the system
Describe functions from the enterprise and system perspective
Describe constraints from the enterprise and system perspective
Describe system-developing scope (time, overhead, resource, etc. )
Gary Leask System World:Requirements Engineer
SW EngineerProduct Manger
Developer
Specify requirements and dependency graphs
Validate requirements with customers and users, talk about open issues and improve understanding
Build prototype
Requirements SourcesRequirements Sources
Initial requirementsInitial requirements Client and Customer InterviewsClient and Customer Interviews Existing SystemsExisting Systems
Meeting WizardMeeting Wizard http://www.meetwizard.comhttp://www.meetwizard.com
Meeting SchedulerMeeting Scheduler http://www.math.unipd.it/~fross/soft-sched.htmlhttp://www.math.unipd.it/~fross/soft-sched.html
Microsoft OutlookMicrosoft Outlook
Project ProcessProject Process
Identify roles and stake holdersIdentify roles and stake holders Assign and carry out activitiesAssign and carry out activities
Project ProcessProject Process
Create activity Create activity diagramdiagram
Identify Stake Identify Stake holdersholders
Model SystemModel System Enterprise FREnterprise FR System FRSystem FR
Finalize ModelFinalize Model Functional Functional Non FunctionalNon Functional
Develop prototypeDevelop prototype Document issuesDocument issues Finalize the Finalize the
requirementsrequirements
Enterprise RequirementsEnterprise Requirements
Domain level questionsDomain level questions Who are the stakeholders?Who are the stakeholders? Who has meetings?Who has meetings? What is the setting/environment for meetings?What is the setting/environment for meetings? In what manner do meetings take place? In what manner do meetings take place? How do people set up meetings?How do people set up meetings? What are the problems/issues with setting up What are the problems/issues with setting up
meetings?meetings?
Domain Modeling using UMLDomain Modeling using UML Used Activity Diagram to model domainUsed Activity Diagram to model domain Used Sequence Diagram to help refine the processUsed Sequence Diagram to help refine the process
Enterprise RequirementsEnterprise Requirements
Domain ModelingDomain Modeling
Meeting is Needed
Determine Subject & Participant
Request:DateRange
Respond:Pref&ExclSet
Check Pref&ExclSet
Conflict?Ask to
Change Set
Receivechange request
yes
Chang DateRange
Determine & NotifyDate/Time
no
yes
Consult for Loc
Remind
Hold Meeting
Monitor Meeting
Enterprise Requirements
UML Activity Diagram
Respond Loc
Determine &Notify Loc
Require to Prepare Resource
Respond Resource Prepared
InitiatorParticipant
Attend Meeting
Functional RequirementsFunctional Requirements
Describe the goals of the Describe the goals of the systemsystem The functions that need to executedThe functions that need to executed The outputs from the functionsThe outputs from the functions
Modeling the Functional Modeling the Functional RequirementsRequirements Use Case Diagrams to identify primary goalsUse Case Diagrams to identify primary goals Acti-grams to formally define Acti-grams to formally define
Inputs, output , controls and mechanismsInputs, output , controls and mechanisms Sequence and Activity Diagrams to define processSequence and Activity Diagrams to define process
Functional RequirementsFunctional Requirements
Use Case DiagramUse Case Diagram
Request new Meeting/ Set Date
Range
Request new Meeting/ Set Date
Range
Extend Date Range
Extend Date Range
Re/Schedule Meeting Time/ Send Request
Re/Schedule Meeting Time/ Send Request
Logon/ Approve Meeting
Logon/ Approve Meeting
Conflict Resolution/
Inform/ Notify
Conflict Resolution/
Inform/ Notify
Confirm/ Track/ Monitor MeetingsConfirm/ Track/
Monitor Meetings
Meeting Initiator
Participant
System Functional Requirements
UML Use Case Diagram
Change Ex/ PrefSets
Change Ex/ PrefSets
Meeting Scheduler System
Track Location/ Equipment Availability
Track Location/ Equipment Availability
Reply with Pref/ Exclusion SetsReply with Pref/ Exclusion Sets
Functional RequirementsFunctional Requirements Sequence DiagramSequence Diagram
System Functional Requirements
UML Sequence Diagram
:Meeting Initiator :MS System :MS Database :Participant
Request New Meeting()
Send Date Range/ Meeting Request()
Set Date Range()
Respond with Exclusion/ Preference Sets()
Check Loc Availability()
Return Loc Availability()
Inform Approved & Available Loc()
Return Resource Availability()
Monitor Meetings()
Figure out solution()
Determine Date/Time()
Send Final Date/Time()
Approve Meeting()
Meeting approved()
Update Meeting Record()
Consult for Location()
Send consultation()
Respond with Location()
Determine Location()
Send Location()
Update Meeting Record()
Request Resource Preparation()
Sent ResourcePrep Request()
Check Resource Availability()
Resource Prepared()Notify Resource Prepared()
Remind()
Remind()
Update Meeting Record()
Functional RequirementsFunctional Requirements Activity DiagramActivity Diagram
Problems Using UMLProblems Using UML
Cannot Describe Input, Output, Cannot Describe Input, Output, Control and Mechanism.Control and Mechanism.
No Formal DefinitionNo Formal Definition
Solution:Solution:
Expanding UMLExpanding UML
Using some notation in IDEFUsing some notation in IDEF
Functional RequirementsFunctional Requirements
Acti-Gram Describing the whole systemActi-Gram Describing the whole system
A0
System Functional Requirements
Acti-gram
username
password
PhysicalConstraints
User Profile
ParticipantSchedule
Resource/Loc Info
SDMS
Initiator Participants Computer
Date/Time
Subject
Location
Resource
Participant ListImportant, Active, General
Pref/Excl Set
Input:Username, password
Output:Meeting Subject, Meeting Date and Time, Meeting Location, Meeting Resources,Participant List (including important participants, active participants, and general participants), and Preference and Exclusion Sets of those potential participants.
Control:Physical Constraints, User Profile, Potential Participant’s Schedule, Resource andLocation Availability Data.
Mechanism:Initiator, Participants, and Computer.
Functional RequirementsFunctional Requirements
UML+ UML+
Defining Defining
activities activities
in SDMSin SDMS
Functional RequirementsFunctional Requirements
UML+ UML+
Defining Defining
activities activities
in SDMSin SDMS
Functional RequirementsFunctional Requirements Formal DefinitionFormal DefinitionLogonLogonInput: Input: Username, Password.Username, Password.Output: Output: Username, Password.Username, Password.Control:Control: null. null.Mechanism:Mechanism: Initiator. Initiator.
Verify LogonVerify LogonInput: Input: Username, Password.Username, Password.Output: Output: A boolean variant notifying whether user logged on successfully or not.A boolean variant notifying whether user logged on successfully or not.Control:Control: User Profile DB. User Profile DB.Mechanism:Mechanism: Computer. Computer.
Check Pref/Excl SetCheck Pref/Excl SetInput: Input: Potential Participant List.Potential Participant List.Output: Output: Date Range.Date Range.Control:Control: Participant’s Preference and Exclusion Set. Participant’s Preference and Exclusion Set.Mechanism:Mechanism: Initiator. Initiator.
Send RequestSend RequestInput: Input: Potential Participant List (including Important Participant List, Active Participant List and General Participant List) Potential Participant List (including Important Participant List, Active Participant List and General Participant List)
and Date Range.and Date Range.Output: Output: Potential Participant List and Date Range.Potential Participant List and Date Range. Control:Control: User Profile DB. User Profile DB.Mechanism:Mechanism: Initiator. Initiator.
Broadcast RequestBroadcast RequestInput: Input: Potential Participant List and Date Range.Potential Participant List and Date Range.Output: Output: Date Range.Date Range. Control:Control: null. null.Mechanism:Mechanism: Important Participants, Active Participant. Important Participants, Active Participant.
…………
Non-Functional RequirementsNon-Functional Requirements
Define the Constraints of the Define the Constraints of the System in terms of:System in terms of: ReliabilityReliability AvailabilityAvailability PerformancePerformance SecuritySecurity
Dependency Graph to describe Dependency Graph to describe relationships to Scheduler the relationships to Scheduler the conceptsconcepts
Non-Functional RequirementsNon-Functional Requirements
DependenciesDependencies
System Non-Functional Requirements
Dependency Graph
SDMSSystem
Security Performance ExtensibilityAvailabilityFlexibilityReliability
provides optimize provides providespromotes supports
Meeting
Participant
RequiresLongin Quickly
updates
QuicklySchedules
Can Delegate
AccuratelySchedules
Dynamically SchedulesManages Constraints
Conveniently Schedules For 24h*7d
AccuratelyKeeps
Record of
Date/Time
Location
Equipment
Teleconference
allows
Providesvariety of
AccuratelyGives Earliest
Solution
Accurately Gives
Best Solution
PrototypePrototype
Phase II FunctionalityPhase II Functionality Login / LogoutLogin / Logout Define User ProfileDefine User Profile Schedule MeetingSchedule Meeting
Phase III Functionality (future)Phase III Functionality (future) Meeting ApprovalMeeting Approval View ScheduleView Schedule
Accept / Reject / Cancel Accept / Reject / Cancel
Prototype – Screen ShotsPrototype – Screen Shots
Prototype – Screen ShotsPrototype – Screen Shots
Prototype – Screen ShotsPrototype – Screen Shots
ConclusionConclusion
Provided a process to define the Provided a process to define the requirements of the system requirements of the system The process is a feedback loop to help refine the The process is a feedback loop to help refine the
goalsgoals
Provide a prototype to help Provide a prototype to help clarify goalsclarify goals The prototype help clarify goals by provide a visual The prototype help clarify goals by provide a visual
hands-on experiencehands-on experience Customers provide feedback based on tacit Customers provide feedback based on tacit
knowledgeknowledge
QuestionsQuestions
Questions ?Questions ?