1. Domain requirement is the Requirement that comes from the application domain of the system that reflects the characteristics of that domain. Therefore, as our System is an inventory System, the domain requirement of this system should concern about the requirements that reflect characteristic of Inventory System. Our inventory System should contain characteristic as below.
1.1. Inventory System must have basic functions: storing, tracking, updating (data or things that we keep in the inventory), and must be able to generate reports.
1.2. Every operation that occurs in the inventory system must concern of Data Integrity. For example, we do not want number of product in our inventory system to become -1, or enter the product without product name.
1.3. Every operation that occurs in the inventory system must be recorded, and the system should generate report from time to time.
1.4. Regarding security issue, the inventory system must have an authorization module to prevent unauthorized access.
1.5. Authorized person must be able to access the System 24/7 except the system is under maintenance.
1.6. Back up unit is required for unexpected system failure event.
2. List 5-10 Ambiguous requirements for the project.
2.1. In this requirement “Numeric key fields should be automatically generated. Such as customer ID”, there are many way to generate ID such as Random it or just increment every time a new customer of product is added or the combination between fix generated ID and Random ID. This ambiguous requirement can lead to a big problem if we do not consider about this.
2.2. “Each product offered has a vendor and quantity at hand associated with it. Vendor list need to be configurable and we need to track basic vendor information”. In this requirement, it is said that the vendor list need to be configurable. Does that mean the other list may not be configurable? Does it have any other information that you want it to be configurable?
2.3. “The information can be easily accessed when needed along with data entry views that enable anyone in the company to enter the information”. In this requirement, the sentence “easily accessed when needed” is quite ambiguous. It can be interpreted in two ways; first, the customer need the system to be accessed by remote monitoring which can access anytime they needed; second, they just want the interface to be very easy to use and the system to be online all the time; or they want both.
2.4. “The user shall be able to get the item list in order”. This is quite vague too. What kind of order the user want? Time stamp, user input, ID, or a customization of any kind of order that user need.
1.5. “Each item shall have the complete information”. Will this information auto-generated by our system when users have not inserted it, or all the information must be provided by user when they input it.
1.6. There is no requirement about super-user account. Does the customer need to configure this out by his/herself?
In most of Information system, it has the first user created by the system and cannot be removed. We usually call this user super-user or reserved user. In our requirement document, there is no part clarifying how the user could get the username of super-user, and developer may think that it is set default to "admin". However, the user may think that he will create that by himself when he starts the system for the first time. He might be confused when he notices that he couldn’t set it.
- IR LED, IR LED working distance, Water resistance, Power requirements, Dimension and Weight are the only specifications of the security cameras that would be tracked. Except for Water Resistance which is a yes/no field, all other fields are free text fields.
- Compression Format, Resolution, Playback resolution, Real time recording support, number of USB port and weight are the only specifications of the DVR systems that would be tracked. Except for number of USB port which is a numeric field, all other fields are free text fields.
- The DVR system types should include 4, 8, 16, 32 and 64 channel DVR with the later 2 being relatively newer and options for the logged in user to add newer types
- We should not use any Microsoft access reserve keywords for any variable name (like for storing vendor details) because it generates error. If a reserve word is already used we can avoid error by enclosing that word in .
- Once a user opens the page for modifying details, it should get expired in a specific time if he is idle, this is to reduce load on the server.
- Vendor information fields like company name, content name should be text fields, and phone number should be numeric and restricted to 10 digits, and email address should be alpha numeric.
- The user should be able to change specifications for any selected camera.
Ambiguity: not clear of the items in the specification list are being changed or if their values are changed.
Alternative: The user should be able to alter values for pre defined specifications for any selected camera.
- Vendor information including company name, content name, phone number, email, website address, etc will be tracked
Ambiguity: Use of "etc"
Alternative: Vendor information including company name, content name, phone number, email and website address will be tracked
- After 3 attempts at login, lock the user out for 30 minutes
Ambiguity: does this apply only if the same (valid) username is used with different passwords or should this apply for any attempts to login
Alternative: If a valid user enters an incorrect password three times, the user will be locked out for 30 minutes
- List all Security Camera types available along with quantity and vendor information
Ambiguity: Should it have all details about the vendor or certain specific information only
Alternative: List all Security Camera types available along with quantity and vendor company name and phone number.
- The system should provide for an ability to search for products such as cameras, DVR’s and accessories
Ambiguity: The type of search is not specified. Is a single search by name that searches the whole system needed or would it be specific to cameras, DVR’s or accessories.
Alternative: An ability to search by name (and subsequently update) must be provided for each product type - cameras, DVR’s and accessories.
1. Multiple users must be able to use the software simultaneously without
corrupting the database (whatever form it may be)
2. The necessary software required to run the application. For example if the
software is written in Java, Java must be installed before the software can be used.
3. A server must be set up to host the database, and the server must be
accessible by all the systems running the inventory tracking software.
4. The database should be backed up every once in a while in case the original
does become corrupt.
5. Software must verify all values before making the change in the database
6. Software must have update capabilities for future models and accessories
1. The documentation say: Numeric key fields should be automatically generated.
Such as customer ID.
Does the number have to be randomly generated? Is customer ID only to be used
2. If flat files are used instead of a database, how would you like the
information to be captured in these files?
3. The reporting requirement is just “List all”. Is there a specific format
that the listing should use i.e. alphabetically or by date added? Should there
be a sort feature?
4. When the user adds an entry, how do we verify it is a correct entry?
5. If the security is defined as user and password, how does the user initially set up this information?
When it comes to deletion, can products be deleted or just companies?
LIST 5-10 POSSIBLE DOMAIN REQUIREMENTS FOR THE PROJECT SECURITY SHOP.
Domain: Security Camera Inventory
1. Do we need to specify any specific security system (e.g. basic, professional network…etc)?
2. Do we have any specific maintenance plan or its cost per visit (whether it’s included in
3. Do we sell refurbished products if so do we have a specific segment for it?
4. Should the website provide any service tracking?
5. Do you want to group the products based on the company/vendor?
6. Do you want us to maintain customer shopping history?
LIST 5-10 POSSIBLE AMBIGIOUS REQUIREMENTS FOR THE PROJECT SECURITY SHOP.
1. Does the company have any product of its own, if so do they have any different group?
2. Do we need to display vendor or product ranking?
3. Do we need to have any Security questions during registration? (It helps to trace forgotten
4. Are the username and password case sensitive?
5. If the system does not respond within 10sec do we need to display any specific message to the
user?(In a critical case)
PART 1 – DOMAIN REQUIREMENTS
1) Since it is an inventory control system, the inventory of any one item shall not be allowed to be set to less than zero. Alternatively, the amount of inventory placed in the system shall not be greater than the physical amount of space in the shop’s storage facilities and retail space.
2) The items that can be added or removed to/from the inventory database will only be items that the shop sells (cameras, DVRs, accessories, etc). Systems that are stored in the customer request section shall only be those that the store carries.
3) The specifications for any one item will be specific to that item type, e.g. a camera can be listed as a "dome type" but a DVR shall not be able to be listed as a "dome type."
4) Automatically generated numeric key fields for identification purposes must be unique values to ensure proper tracking.
5) The price of any one item shall not be able to be set to a negative value.
6) Each user must have a unique username/password combination.
7) In order to maintain customer privacy, the system shall securely store all data as encrypted or authentication required. Also, all established connections to the system shall be encrypted.
PART 2 – AMBIGUOUS REQUIREMENTS
1) The system shall list all camera types, vendors, accessories (but, in what order?)
2) Two seemingly contradicting requirements from http://rushrash.com/surveillance-camera-shop-team-qs
“Q: Is there any return policy or any other kind of return shipment
id that has to be generated to the customer in the event of return?
“Q: Are customer orders stored?"
If we are not storing orders, why is storing return information necessary? How would the return information be tracked to an order if the order was never stored in the first place?
3) An answer to a question stated that vendor info, customer info, and inventory info are all that we will be tracking for now. Yet other questions refer to tracking services offered. How should services be tracked?
4) The system is supposed to track purchase date and purchase price. Are those supposed to be matched to the date and price that the store acquired them, or the date and price that a customer bought them for?
5) The customer information section is supposed to track the number of cameras requested and the type of surveillance system requested by the customer. What if the customer is a large contractor that purchases a new and different system every several
months? Should the old requests be replaced by the new ones, or should a history of requests be kept?
6) The question and answer to this requirement from the site seem to refer to a customer of the shop’s ability to login to the system. This seems incorrect. Customer ID refers to the way we track the shop’s customers, correct? Or are customers actually allowed to access the system?
“Regarding Customer id: Should there be the any login times or any time stamp that has to be recorded in the event of login.
Answer: yes we need to track this information for security reasons.”
A) Domain Requirements:
1. Products and Services Tracking (Camera’s DVR’s etc)
2. Vendor Information Tracking (Vendor list, Company name, Content name, Phone number, Email, Website address etc)
3. Customer related Information
4. Enough memory should be accounted for on the database server to accommodate for any number of customers.
5. The system is meant only for exclusive use of employees for purpose of monitoring and management of different projects handled by the company.
6. Ability to add/update/delete/ all information required by the Administrator.
7. Reports are required (List of Vendors, List of Accessories, List of Security Cameras types, DVR types).
B) Ambiguous Requirements:
1. Development of project (Different kinds of languages with same kind of result).
2. System responding in 10 Seconds.
3. Use of Relation database (SQL Server or Oracle or Flat files).
4. Each Phases or task deadlines, cost, schedule, resource usage.
5. Software Development methods
6. Software Quality assurance Procedures.