Sunday, January 23, 2011

Lecture # 3: Exercises to Clarify Concepts

Objectives:
• To further clarify the difference between non-functional and functional requirements using examples
• To develop, using examples, a sense to identify incompleteness of requirements.

Exercise 1:
Identify how the following requirements are incomplete

1. An email notification must be sent to user when he successfully registers into the system
2. The system will allow salesman to maintain their personal contact manager. When a contact is converted into client then other salesman having duplicate of these contacts in their personal contact manager are informed that they cannot do business with this contact.
3. The installer should check the prerequisites before starting itself.

The missing aspect in “1” is that it is not clear that what will be the contents of “email notification” sent to client

There are a number of missing aspects in “2”. It is not clear that how the other sales man will be informed that contact has been converted into business. Secondly, it is also not clear on what basis duplicates will be detected. (There may be more incomplete areas in “2”).

In “3”, the requirement engineer should inquire about the prerequisites that should be checked by installer.

Exercise 2:

Identify functional and nonfunctional requirements from the following

1. The system should have a very easy and intuitive view of customer transactions
• Functional Requirement: View of customer transactions
• Nonfunctional Requirement: Easy and intuitive

2. Authorized users should be able to modify customer’s personal information
• Functional Requirement: Modify Personal Info
• Nonfunctional Requirement: Authorization or Security

3. The system should calculate monthly summary of inventory and send email using mail server’s contact list.
• Functional Requirement: Calculate monthly inventory summary and send mail server’s contact list.
• Nonfunctional Requirement: Interoperability with email server such that contact list is accessed

4. The system should allow users to customize workflows. All system development should be done using scrum methodology
• Functional Requirement: Customize workflows
• Nonfunctional Requirement: All development will be based on scrum methodology.

No comments:

Post a Comment