120 likes | 382 Views
Requirement Analysis. CS1002 – Winter 2014 Wednesday, January 8 th 2014. The Software Lifecycle. Gathering Requirements Team Management Coding Testing Documentation Software Maintenance. Requirement Analysis. Determine what clients need from software Two classes of requirements:
E N D
Requirement Analysis CS1002 – Winter 2014 Wednesday, January 8th 2014
The Software Lifecycle • Gathering Requirements • Team Management • Coding • Testing • Documentation • Software Maintenance
Requirement Analysis • Determine what clients need from software • Two classes of requirements: • Functional: what the application does • Displays events • Allows users to add events • Allows users to search for events • Emails users • Non-Functional: attributes about the application • Aesthetically pleasing • Easy to use • Fast
Our Main Goals • Develop a centralized Events Calendar for Middlebury College (similar to 7 Days Calendar) • Functional Requirements: • Student Organizations: • Add, delete, update events • Upload event-related documents (programs for plays) • Upload email list serves • Email members in list serves • Users (Students, Faculty, Staff): • Search, browse events • Download documents • Request to receive emails • Link to Facebook account, MS Outlook Calendar, iCal
Our Main Goals • Non-Functional Requirements • “Not something that a grown-up made for us” • Easy to use for both organizations and users • Time & Space Efficient • Reliable (no crashing) • Consistent (all users see same events) • Sustainable (well-documented & coded, easily modifiable)
Issues to Consider • Clients unlikely to be computer scientists • Ask appropriate questions What should the running time of the search query be? vs. How quickly should users be able to search?
Necessary Requirement Properties • Correct? • Anyone can post any event • Consistent? • Users can modify events at any time • Complete? • Events should be listed alphabetically • Realistic? • Users can view events from past • Verifiable? • All faculty, staff, students should receive email of events
Capturing Requirements 1) Ensure necessary requirement properties satisfied 2) Classify functional andnon-functional requirements: • Absolutely necessary • Highly desirable but not necessary • Possible but could be eliminated 3) Identify time constraints Search feature should be available by February; Facebook feature should be available by Summer 4) Determine which requirements your application will satisfy(client needs, time constraints, difficulty). 5) Document everything!