No individual Item pages 3. Interaction 3. Each Item has checkbox to mark selection 3. Single button to add all selected items to Shopping Cart 3. Search Inventory 3. Search available only by Title of book 3. Search is exact-match only 3. Only managers are allowed to modify inventory 3. Managers have an interface to: 3. Create a book entry 3. Update a book entry 3. Create a new promotion 3. Review current inventory 3. Using the same interface to browse inventory as described in section 3.
Manager has full CRUD capabilities on each book. Managers may delete items from the inventory 3. Shopping Cart 3. Logged In 3. Can add items to cart 3. If Item is not in stock, message displayed informing user to try again later 3. Customer can only purchase one of each item no quantities associated with orders 3.
If shopping cart not empty, a user may begin Checkout procedure 3. Not Logged In 3. User required to login before they may begin Checkout procedure 3. Checkout procedure 3. User must successfully use shopping cart before beginning this procedure 3. Checkout page consists of 3. A text box for promotion entering 3. A text box to hold the credit card number 3. A button to complete the order 3.
Order details sent via email after the checkout has completed 3. On order completion the inventory is decremented based on items purchased by user 3. Authentication System 3. User Levels 3. Manager single, hardcoded user, no orders 3. Customer unlimited, open creation, unlimited orders 3. Account Creation 3. Everyone is allowed to create an account 3. Required Information 3. Listed in section 2. Account Modification 3. Login and Logout 3. There is no lost-password recovery 3. Logging in allows one to logout 3.
Logging in allows checkout 3. There is a minute session time out after which a logged in user will be logged out automatically. Promotions 3. Specifications 3. Applies to entire order 3. Expiration occurs at manager specified date 3. Multiple coupons cannot be applied to same order 3. Non-member users cannot apply promotions to order 3. Creation 3. Promotion created by manager 3. Each promotion has a unique identifying number can be auto generated 3.
Email containing promotion sent to all member users of the BECS system 3. Deletion 3. Promotions are auto-deleted when the expiration date has passed 3. Automated Reorder 3. Manager sets reorder threshold on a per-item basis 3. If the item has a stop-order applied to it, it will not automatically reorder until the manager removes it.
Order Logging 3. Required Information: 3. Below is a list of the elements that you will see in the diagram on the next page as well what is included in the use case templates that follow. Actors Shown in the diagram as stick figures with a name underneath. They represent elements that will be directly interacting with the system. Use Cases Oval shapes that have their names in the center. These represent direct functionality within the system that must be implemented.
Interactions Lines that connect the actors with the different Use Cases. These show that there is some form of direct interaction between the actor and that specific functionality. This means that the use case without the arrow calls on the functionality of the use case with the arrow. This means that the use case without the arrow takes all of the functionality of the use case with the arrow and adds extra functionality.
Everything within the rectangle is what the system is responsible for implementing Use Case Template Describes the basic functionality and features of each use case and the can be found in the pages following the use case diagram. Type A field in the use case template that states whether or not the use case is directly interacted with by an actor Primary or not Secondary as well as whether or not it is essential to having a functioning system.
Cross Ref A field in the use case templates that states which one of the original requirements that particular use case satisfies. Use-Cases A field in the use case templates that state which other use cases must be executed prior to that particular use case. The user is then prompted to enter in their username and password in order to proceed. Use Case: Browse Inventory Actors: Manager, Customer Type: Primary and Essential Description: All the books in the inventory are listed on a single page with each book including its title, name of author, and price.
List should be sorted by title. Use Case: Add Item Actors: Manager Type: Primary and Essential Description: Allows the Manager to add an additional book to the inventory that should include the books price, title, number in stock, stop-order, and reordering threshold. This will email all customers who are members to inform them of the new promotion. This decrements the inventory of all items within the order, email the user, create a log of the transaction, and check stock to see if a reorder needs to take place.
If it is then it will reorder. Below is a list of what you will see in the diagram itself as well as the class descriptions that follow. Classes Rectangles in the diagram that are split into three parts.
The top section is the name of the class, the middle section is the list of variables that are stored in the class and the bottom section is the list of functions in the class.
These rectangles represent objects within the system. Variables These have a name followed by a semicolon and then a type. The type denotes what kind of data can be stored in the variable. After that there is a semicolon and any variables that the function may return, if none it will be void. Generalizations Shown using a line from one object to the other with an unfilled triangle on one end. The object without the triangle inherits the functionality and variables from the object that has the triangle pointing towards it.
Aggregations Lines that have an unfilled diamond on one end. This means the object with the diamond contains the object s without the diamond. On todays class we talked about integration of multiple views. Meta-modeling integrates the following views: Intentional view, preliminary behavioral view, structural view, agent based view, functional view and a behavioral view in terms of state machines.
We can integrate multiple systems views by forcing inter-diagram consistency rules, defining a common-meta-model and organizing model fragments into packages. The meta-model is a model defining and relating conceptual abstractions in terms of which other models are defined. A meta model diagram describes the building blocks that we have at the modeling level. We can map concepts to meta concepts , and have meta relationships between these meta concepts.
Every meta-concept is characterized by meta-attributes and meta-relationships. The metal model provides a logic schema for querying models in a database. If we have a system-model and we want different views, this means that our system model branches out to different views which are under the umbrella of the system model. Goals can be divided into soft goals and behavioral goals and these behavioral goals can be subdivided into achieve and maintain.
If a goal is refined using a OR refinement, then there is a goal that is connected to any number of refinements. We also can have an AND refinement, but the professor could not find a reason to have a multiplicity higher that one for the AND refinement. We can also have an object metal-model where it is centered around the idea of an object. Two objects can be linked by an association. The dashed boxes in the model represent different parts of the metal model which do not belong to the object meta model.
Similarly in the agent meta model we have dashed boxes. In this agent meta model obviously we have agents. If we look at the agents closely we can see that the agents can be aggregates of many component agents. An agent can depend on other agents by a dependency goal, we can assign leaf goals to agents. We want to compare different ways of assigning responsibilities to leafs goals to agents.
An agent will be monitoring and controlling an association and a attribute. We have agents in the software to be, which are responsible for at least one requirement. The important thing to take away is that we can form in this way a model of our models. We can also use model packing to pack all of our models together.
Today I presented an exercise from the Lab 10 which is about chapter 6 Req Evolution My exercise consisted about estimating stability levels, on a qualitative scale of low, medium and high, of a meeting scheduling system.
The following picture shows the diagram that I formulated for the exercise:. From the feedback I received from the professor I noticed that I left out getting participant constraints. I realized that this requirements has high stability because it must be in any variant of the meeting scheduling system.
In todays class we talked about some requirements management software and also requirements evolution. The professor presented another requirements management tool called Doorstop. Doorstop was created as a tool to allow requirements to be stored as text files in version control. A good thing about it that it uses version control system to manage changes in text snippets.
There is a paper about this tool that he presented. It explains the structure of it. It uses text snippets represented what you abstracted from the requirements prescription units. One of the key mindsets of requirements evolution is to develop where change is more likely to happen. Tracebility, points to the requirements and which parts of the source code are in charge of implementing and what test cases are used to test the requirements.
You wanna ask:Why is this here? Look at the source code and think What justifies this fuction? The reason behind requirements evolution is that in reality the are a wide variety of changes that the software goes through.
But the idea is to prepare for change. Clause 3 provides definitions of specific terms used. Clause 4 provides background information for writing a good SRS. Clause 5 discusses each of the essential parts of an SRS. This recommended practice also has an annex, which provides alternate format templates. Article :. First Page of the Article. Need Help?
0コメント