Software Engineering
Outline requirements for a Supermarket Checkout System -- The checkout system in a supermarket consists of a store computer to which the cash registers are connected. Each cash register is equipped with its own processor, a keypad with numeric keys and function keys, an electronic barcode scanner, a scale, a customer order receipt printer, a credit/debit card reader, a credit/debit card receipt printer and a display where item and price information is shown. The display is visible to both the customer and the cashier. Each register has a holder for a till containing cash, checks, coupons, etc., which is automatically opened at the end of each customer transaction. As a cashier begins a shift, he or she inserts a till into the cash register, logs onto the register and waits for approval from the system. He or she is then ready to process customer orders. A customer order can only be processed when a till has been locked in the till holder. As a customer checks out an order, the cashier enters the identification number of each item. Scanning the item over the bar-code scanner or manually from the keypad does this also. In the former case, the cashier enters the number followed by the function key ITEM-ID. Based on the number, the cash register obtains product information from the product inventory. The product information contains an item description to be displayed and printed on the receipt, as well as the price. As items are being checked through, prices and item descriptions appear on the display. The system also outputs the item description and price to the customer order receipt printer. If an item is to be credited, the cashier presses CREDIT before scanning the item or manually entering the identification number. After all the items in the order have been processed, the cashier presses the SUBTOTAL function key. The cash register computes and displays the total price including tax. The tax and the total are also printed on the receipt. The SUBTOTAL button may be pressed more than once for each order. Each time, the current subtotal and tax is displayed and printed. The TOTAL button can be pressed only once for each order. Once TOTAL has been pressed, the order cannot be changed. When the total has been computed, the till is automatically opened. After the total has been displayed, the cashier accepts payment. The payment amount is entered followed by a payment type button: CASH, CHECK, and CREDIT/DEBIT. The customer may also pay by credit card or debit card. The credit/debit card reader first scans the card. A message is then sent to the appropriate credit/debit card authorization center. The credit card request is either accepted or rejected. If accepted, an authorization code is returned. The credit card number and authorization code are printed on the receipt. Two copies of a receipt are then printed on the credit/debit card receipt printer: one for the customer; the second is signed by the customer and kept by the supermarket. If a credit / debit card is not accepted and no other payment is offered, the order is canceled. When complete payment has been received, the cash register computes the amount of change displays it and prints it on the receipt. Finally, the receipt is fed out of the printer. At this point the cashier must close the till, which is automatically locked in position until the next customer transaction has been completed. A cashier repeatedly processes customer orders until the end of his or her shift. The cashier then logs off of the cash register. The log off operation unlocks the till, which is removed by the cashier. Each customer order processed is given a transaction id. A transaction log is maintained of all transactions and a daily report is automatically prepared containing the number of items sold for each product and the total revenue for the day. This report is printed on the supermarket printer and also sent to the supermarket headquarters.
1. Produce a detailed use case diagram. Document each use case using the template that I will be sending.
2. Realize the major use cases (refer to the "Use case realization" document that I will be sending) and derive a class diagram for this system.
3. Refine the class diagram where you think it is necessary. Include the major attributes and operations in each class. Distinguish between boundary, control and entity classes. Clearly specify your rationale for the choices of classes what is their responsibility in realizing a use case, and how they cooperate to accomplish a service.
NOTE -- will email use case diagram to you directly...
Software Engineering Requirements Are Volatile: Design, Resource Allocation, and Lifecyles Aren't So Flexible For the majority of software development initiatives, bad requirements are a fact of life. Even when there is a high quality elicitation process, requirement change throughout the software lifecycle model. This is expected, if not desired to build a system that the customers wants and will use. But, it's difficult to change design and resource allocation once these have
Software Engineering: What Makes it Run The Software Engineering Online Learning Center sponsored by the Institute of Electrical and Electronic Engineers (IEEE) is a wealth of useful information for anyone interested in the disciplines this organization is committed to advancing knowledge in. Divided into webcasts, DB2 tutorials, Amazon.com and eBay tutorials, Java learning tools and Linux certification tutorials, the learning center strikes a good balance between open source and proprietary software.
Software Engineering: What Makes it Run IBM and the Institute of Electrical and Electronic Engineers (IEEE) have collaborated to create the Software Engineering Online Learning Center, a portal of educational and industry information that is very useful for any student of computer science, programming or software engineering. The intent of this paper is to evaluate this portal for its applicability and value to learning. The portal is designed around IBM-centric content
Management Requirements engineering process is at the very core of project success. Rather than spend huge amounts of money for reworking the whole project it is prudent and cost effective to identify and rectify the problems early in the project development life cycle. We are witnessing a paradigm shift in communication and computer technology and there is a consequent change in our business methodologies. In this automated business environment there is
Software Engineering) Statement of purpose: Software engineering M.A. Software engineering offers rapidly-expanding career opportunities and has the ability to shape our collective futures in so many critical areas, including the way we communicate, do business, and structure our lives. I am eager to sharpen my skills so I can become more competitive as an employee in this field. I currently hold a B.A. In software engineering from the College of Engineering
Working Experience Report Software engineer and project engineer are some of the most famous professions in the field of Information Technology. Given their popularity in the IT field, having experience in these professions can be considerably advantageous. The necessary experience can be obtained through working in different areas that relate to the professions after completion of an educational or training course. In most cases, people develop necessary experience through work placements
Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.
Get Started Now