[nuscalendar] Feedback to Xiaohui's REQUIREMENT ANALYSIS

  • From: "Zheng Jia, Colin" <zhengjia@xxxxxxxxxx>
  • To: <nuscalendar@xxxxxxxxxxxxx>
  • Date: Thu, 8 Dec 2005 19:24:45 +0800

MaizeHi Xiaohui and the rest,
I think it's a nice one, although it could be bettered:
1. Make it more consistent (eg. the "set password" use case is never
defined; "Update()..." should be "Update(): updates the ...")
2. Capitalization
3. Proof-reading (can use the grammar checker in MSWORD)


  a.. The functionality after (include) should be an isolated one, which
must be called by the functionality before (include).
  b.. The functionality after (extend) should be done in the first place

Database manager (extended by membership manager and calendar manager):

  1.. Login(): log in user (include) call calendar manager to display()
  2.. Logout(): log out user
Membership manager:

  1.. Register(): add an entry the user database recording the user
information (include) set password How can one register as a secretary of
some CCA?
  2.. Update() the user information (include) display the user information
  3.. Quit() delete the corresponding entry containing user information;
this must be done only after user confirmation
  4.. SendEmail(): called after a user has registered successfully SendEmail
shouldn't be a use case. Can be omitted i think.
Calendar manager:

  1.. Display(): displays the latest CCA information and announcements Are
you sure that "the latest CCA information and announcements" should always
be displayed together? if not, put them in different use cases
  2.. DisplayMonthCalendar() (extend) display()
  3.. DisplayYearCalendar() (extend) display()
  4.. Edit(): update personal to do list; or compose announcements or future
activities to be published too general IMO...maybe decompose it into more
use cases?
  5.. Schedule(): schedule tasks according to time, urgent levels or
importance levels of tasks. Tag the tasks with numbers to indicate
importance(include) edit () personal to do list You mean "give a sequence
number to each task according to time, priority..."? I think the to-do list
should be always sorted, ie. not upon user request, and Schedule() should
not be a separate use case here
  6.. Customize(): change color of the user interface change "color" to
"appearance" to make it more general, as we aren't at the stage of UI design
  7.. Publish(): this functionality is used when secretary wants to publish
her announcements. how to add users to her CCA member list (she doesn't want
to flood all users with her CCA accouncements)
  8.. GetSheduledTask(): returns the scheduled tasks for user (extend)

GIF image

JPEG image

Other related posts: