Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
603 KB
Nội dung
Requirements Document for the UCI Computer Store Fast and Reliable Solutions Compiled by: Wai Hung Stella Khachoyan Timothy Leung Ryan Meyer Rizwaan Rauf UCI Computer Store contact: Steve Carter 1.0 INTRODUCTION .3 2.0 PROJECT PLAN .4 2.1 2.2 3.0 3.1 3.2 3.3 3.4 3.5 4.0 4.1 4.2 5.0 5.1 5.2 6.0 6.1 6.2 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 SCHEDULE RESOURCE TABLE .7 PROJECT RISKS TIME CONSTRAINTS SCHEDULING CONSTRAINTS REQUIREMENT CHANGES RESOURCE CONSTRAINTS KNOWLEDGE CONSTRAINTS .9 PROJECT RESOURCES .10 MEMBER STRENGTHS .10 EQUIPMENT .10 STAFF ORGANIZATION .11 TEAM STRUCTURE 11 MEMBER RESPONSIBILITIES 11 TRACKING AND CONTROL MECHANISMS 12 TRACKING MECHANISMS 12 CONTROL MECHANISMS 12 REQUIREMENTS SPECIFICATION 13 OVERVIEW OF SYSTEM REQUIREMENTS 13 ENVIRONMENT CHARACTERISTICS 13 USECASE SCENARIOS .13 NONFUNCTIONAL CONSTRAINTS 19 DOMAINSPECIFIC RULES .19 USER INTERFACE MODEL .20 SYSTEM ANALYSIS 21 SEMIFORMAL DIAGRAMS ERROR! BOOKMARK NOT DEFINED DATABASE: TABLES AND FIELDS 21 8.0 LIFECYCLE CONSIDERATIONS .24 9.0 ACCEPTANCE REQUIREMENTS 25 10.0 GLOSSARY .26 11.0 MEETING MINUTES 27 Page 2 of 30 11.1 WEEK 1: 27 11.2 WEEK 2: 28 Page 3 of 30 1.0 Introduction The UCI Computer Store is a campus owned facet of the UCI bookstore that sells hardware and software to students and other UCI departments. On the software side they currently sell software from vendors such as Microsoft, Apple, Adobe and many others. The software that is sold includes off the shelf software as well as software licenses. Hardware wise they sell such name brands as HP, Epson, Dell, Apple and others. In addition to selling products, the UCI Computer Store also repairs PC’s and Macintosh’s. The last important branch of the UCI computer Store’s business is their internal processing of special orders It is obvious that with the large volume of business that flows through the campus computer store, there needs to be a way to track who has purchased what, and what inventory they have. The business aspect they have asked us to analyze, and implement, is the tracking of software licenses and special orders. Implementing this system will be composed of two major projects, namely a new license and special order database, and a reporting system that allows the store to track trends and gather other useful information. So first let’s look at what composes a software license and why it is important to track them A software license is essentially permission to use a piece of software from the vendor. Licenses also have a quantity associated with them, so for instance a customer can buy a license that allows them to install a piece of software on five machines. Departments of the university might purchase a license for 50 computers so that they can install a given piece of software on every machine. In addition to a quantity, a software license has a duration, meaning that it is only valid for a certain period of time. This means that the computer store needs to handle notifications letting the customer know when their license has expired With so many departments in the university and with so many licenses to choose from, tracking licenses and keeping accurate data about them is a significant challenge. Currently the client tracks their inventory and transactions in a FileMaker database. Because we do not want to introduce any new challenges or systems that they are not familiar with, we will also be producing our system in FileMaker. This includes the database project as well as the reporting aspect. A special order is a unique request by a customer or a department for an item that is not in stock. Currently the computer store has access to over 200,000 items, but not all of them are in the store. Special orders require the store to order an item from a vendor, and then to resell that item to the customer. The first phase of the project, the database aspect, will be done inside of their current system, but we will be making additions to it. New fields and new processes will be put in place so that our system can integrate smoothly into theirs. In short, there are two major phases to this project that involve implementing a new database that tracks software licenses as well as special orders, and a reporting system that includes several new reports that will be added to their existing system. The database project will require new forms and processes and the reporting side will require new reports and scripts to be written. All in all the final product should integrate seamlessly into their current system, and should empower them to use their information in new and productive ways Page 4 of 30 2.0 Project Plan 2.1 Schedule Number Start Date End date 041002 041502 041502 042202 041502 041902 041902 041902 042202 041902 042102 042202 042302 042202 042302 042802 10 11 042202 042702 042902 042902 042902 050302 12 13 050202 050502 052602 051002 14 15 052702 052702 052702 052802 16 17 18 19 051502 051502 051602 051802 060102 051602 052602 060102 20 21 060102 060202 060202 060902 Task Requirements Begin Web Page Meet with the client in order to get more information about the project Work on the Requirements Draft Familiarize ourselves with FileMaker Pro 5.5 Turn in the Requirements Draft to Client for revision and signature Refine the Requirements Drafts (Version 1) Prepare for presentation on the Requirements Work on finalizing the Requirements (Final) Test Plan Work on Test Plan (Version 1) Prepare Test Plan presentation Test Plan (Final) Design Work on Design (Version 1) Show information flow from one database to another using diagrams Prepare Design presentation Finalize Design (Final) Implementation Implementation (Version 1) Create additional fields needed for reporting and layouts Build tables and reports drafts according to client needs Write scripts needed for automation of information display Prepare for Implementation presentation Implementation (Final) Page 5 of 30 Task Network (see project plan document for task descriptions) Task No Duration 4/10-4/15 4/16-4/21 4/22-4/27 4/28-5/3 5/4-5/9 5/10-5/15 5/16-5/21 5/22-5/27 5/28-6/2 6/3-end Requirements 4/10/2002 to 4/15/2002 4/15/2002 to 4/22/2002 4/15/2002 to 4/19/2002 4/19/2002 to 4/22/2002 4/19/2002 to 4/19/2002 4/21/2002 to 4/22/2002 4/22/2002 to 4/23/2002 4/23/2002 to 4/28/2002 Test Plan 4/22/2002 to 4/29/2002 10 4/27/2002 to 4/29/2002 11 4/29/2002 to 5/3/2002 Design 12 5/2/2002 to 5/26/2002 13 5/5/2002 to 5/10/2002 14 5/27/2002 to 5/27/2002 15 5/27/2002 to 5/28/2002 Implementation 16 5/15/2002 to 6/1/2002 17 5/15/2002 to 5/16/2002 18 5/16/2002 to 5/26/2002 19 5/18/2002 to 6/1/2002 20 6/1/2002 to 6/2/2002 21 6/2/2002 to 6/9/2002 Page 6 of 30 2.2 Resource Table Phase Task No Assigned to Phase Manager Ryan Rizwaan Wai Requirements Tim Tim Stella Ryan Rizwaan Wai Test Plan Tim Wai 10 Stella 11 Ryan 12 Rizwaan Design 13 Wai Ryan 14 Tim 15 Stella 16 Ryan 17 Rizwaan Implementation 18 Wai Rizwaan 19 Tim 20 Stella 21 Rizwaan Demo 22 Stella Stella Page 7 of 30 3.0 Project Risks 3.1 Time Constraints Since we only have 8 weeks to complete the project, we may not be able to deliver the software on time. As long as we stick to the schedule this is not that likely to occur. By making a good schedule and sticking to it. We have managers in place for each phase to monitor our progress 3.2 Scheduling Constraints Since we all have classes or work, it is hard to compromise a schedule to work together. Since this is a team group, all teammates have to understand all tasks clearly and if we can’t meet together at the same time there is the chance that some information could not be communicated to all the members. We know that this risk will occur, but we plan to limit it as much as possible. To avoid this conflict, our managers will keep in constant contact with the group members so that scheduling conflicts are a nonissue. Each manager will keep this in mind as we move through each of the phases, so this responsibility will mostly fall on the appropriate manager’s shoulders 3.3 Requirement Changes The client may make changes to his requirements that would delay the punctuality of the delivery. There is the chance that we would have to redo the design and/or implementation phase if the client decides to make changes to the requirements document halfway through the process. If we were unable to fully satisfy the requirements document, that would not meet the client’s expectations In general we think that changes to the requirements are very likely. However we do not foresee him changing the specifications and requirements midway through the project We can’t avoid changes that he initiates, but we can be as clear and precise as we can with our initial requirements document. Hopefully this will prevent changes occurring late in the project Page 8 of 30 3.4 By keeping in contact with the client we can monitor any potential changes Resource Constraints Testing the compatibility of the software on all operating systems required by the client may be a problem due to inaccessibility of Macintosh computers Limit the amount of time that we can spend on actually implementing and testing our product. If we don’t have access to both platforms, we won’t be able to test the product on both platforms, and therefore the system would not be portable (crossplatform compatible). This is simply a fact of the project. We have access to a lab of Macintosh computers, so we will exploit that as much as possible. If necessary, we will have to go to the client’s site and work on the machines there. By contacting the lab and the client we can monitor how much time we can spend at either site and accordingly adjust our planned time for implementation and testing 3.5 Knowledge Constraints Since most of us are not familiar with FileMaker 5.5, as a group we will need time to understand how the program works This will affect the timeliness of our project depending on how fast, or how slowly, we learn FileMaker. It is possible that the quality of the work could suffer because of our limited experience with FileMaker This situation is currently a reality. We plan to familiarize ourselves with the product under the supervision of Stella over the course of a few weeks. The manager of the implementation phase will have the closest contact to this risk. They will ultimately be responsible in making sure that our group is up to speed on the workings of FileMaker 5.5 Page 9 of 30 4.0 Project Resources 4.1 Member Strengths Wai Hung: Wai is very detailed oriented. Wai also has experience working with students as a Teacher’s Assistant. She also has leadership skills Stella Khachoyan: Stella has three years of experience in FileMaker, additionally currently works with FileMaker. Has experience writing scripts, creating reports and managing databases. Stella is punctual and responsible. Additionally, Stella has administrative and organizational skills. Timothy Leung: Timothy is a very hard worker, he is willing to sacrifice most things in order to complete what is required of him. Timothy is eager to take on new tasks and responsibilities. Additionally, he is a fast learner, especially programming languages. Timothy is open to learning new things from other people. Ryan Meyer: Ryan has a strong reporting background in Microsoft Access and Crystal reports. He has written hundreds of reports for many companies, including The Irvine Company where he consulted for about one year. He has two years of experience with Visual Basic writing mostly automation applications that print out batches of reports. Also, Ryan has a few years of database experience mostly dealing with MS SQL Server 7, in addition to dealing with MS Access, Btrieve, Providex and various others. Hea has some Macintosh experience, but it's been several years since I've used them exclusively Rizwaan Rauf: Rizwaan enjoys working with databases and did very well in ICS 184, which is the database class. He has experience with web design and has designed the groups current web site. He also has 6 months of experience in software engineering working with Java, UML and drafting requirements documents. Detailed and punctual Rizwaan brings many skills to our group 4.2 Equipment 1.1.1 Software: FileMaker 5.5 Mac OS X, Mac OS 9 Windows 98, Windows 2000 AntPOS2 (UCI Computer Store’s own database) Page 10 of 30 1.1.8 Particular Software Notification Description: Allow the client to send email to particular software clients Precondition: There exist customers in the database that bought specific software Postcondition: An email is sent out to the customers that have purchased that software that gives information deemed necessary by the client Priority: Medium level Basic Course 1) Selects software clients 2) Clicks a send button to send the email 3) Email is sent Successful Alternative None Unsuccessful Alternative None of the cutomers in the set have email addresses 1.1.9 Particular Software Reporting Description: Showing customers that had purchased any particular software program sorted by SKU, license, nonlicense, platform, etc Precondition: There exists product information in a database Postcondition: A list of customers that is sorted by SKU, license, nonlicense, platform, etc is displayed Priority: High level Basic Course Successful Alternative 1) Click on the button titled None "Software reporting" 2) Report is displayed Page 16 of 30 Unsuccessful Alternative None 1.1.10 Purchase History Report Description: Run reports of software, maintenance, and license purchase history Precondition: None Postcondition: A list of products is generated according to desired information Priority: This allows the client to easily see information about the product without having to separately find each set of information Basic Course 1) The type of report is selected 2) The organization is selected 3) A list is generated 1.1.11 Successful Alternative Unsuccessful Alternative The report generates an None empty list: the user is asked to choose another department, and generate another report Transaction Description: When a license type is selected the key code, agreement, and contract number are automatically filled in Page 17 of 30 Precondition: There exists license information in another database as well as customer information Postcondition: Will fill out the form accordingly Priority: High level Basic Course Successful Alternative 1) The user selects a license None type 2) Key code, agreement and contract number are filled in 1.1.12 Unsuccessful Alternative The information is not filled in: the user must ask the proggrammer Customer List Description: Keeps a list of licenses purchased by the customer in a separate FileMaker database Precondition: The customer exists in the database Postcondition: Customer record is generated in another database based on license purchase Priority: High level Basic Course 1) The user enters a new license purchase Successful Alternative None Page 18 of 30 Unsuccessful Alternative None 1.1.13 Special Orders Notification Description: Would email a customer when special orders are not processed within designated time period Precondition: Email list has been set and time period has been set Postcondition: Email has been sent to buyer and the designated email addresses Priority: Medium level Basic Course Successful Alternative 1) The user places a special The user gets an email order stating tha the special order 2) The user send the order will be delayed 3) An email is sent to the customer 1.1.14 Unsuccessful Alternative The user gets an email stating that the special order cannot be processed at all Special Order Reporting Description: Give reports on outstanding special orders not processed; ordered, but not in; in, but not picked up; and returned to stock Page 19 of 30 Precondition: None Postcondition: A list is generated according to specification Priority: Allows the client to have a better knowledge of which state certain special orders are in Basic Course 1) The user selects the type of report: Outstanding Special Orders 2) A list is generated 7.4 Successful Alternative Unsuccessful Alternative There are no Outstanding None Special Orders of any kind, therefore the programs doen't anything Nonfunctional Constraints 1.1.15 Correctness The system is expected to behave according to functional requirements specified by the client 1.1.16 Reliability The system should be able to produce the same output with the same inputs 90% of the time. The other 10% of unreliability would be mainly due to system or software crashes 1.1.17 User Friendliness Since most of the employees may not be very familiar to FileMaker Pro 5.5, all the user interfaces must be simple to understand and use 1.1.18 Verifiability In order for the team to be able to test the system, it must therefore be verifiable 1.1.19 Maintainability Their own programmers at the UCI Computer Store need to be able to maintain this system 1.1.20 Repairability In order to decrease the time needed during the testing phase, an easily repairable system would be desired Page 20 of 30 1.1.21 Portability Since this system will run on Microsoft Windows and Mac operating systems 1.1.22 Understandability In order for the other programmers to maintain it and for our team to repair it easily, the design, code, and test cases should be understandable 7.5 DomainSpecific Rules Only UCI departments can buy licenses Customers will not view our system Updates on new products will only be available for non trivial items Uses AntPOS 7.6 User Interface Model The following user interface gives an idea of what kind of information the client database will ultimately contain. Although, the construction of the database an its functions have not started yet, these screen shot of the user interface shows what the client will be working with. The client has requested several report, thus the following screen shot show how the user may be able to view the reports. In this example, the user has four types of reports to choose from. Thus, if the client clicked on either one, the database will display a report for the request Page 21 of 30 Page 22 of 30 7.7 System Analysis Special Order File Special Order Information Completed Form Data Entry Screen Send to Database Validate Data Store Data License Information Email Notification Report Selected Report Option s License File Expired Licenses Send to List Run Query Run Report Script Process Script Get Data Script or Query Send Data Display Information Special Order File Special Order Information Completed Form Data Maintenance Send to Database Validate Data Page 23 of 30 Store Data License Information License File 7.8 Database: tables and fields 1.1.23 Comprehension list of fields to be created: Field Name License Expiration License Type License Number Media Maintenance Type Customer First Name Customer Last Name Customer Type Maintenance Expiration Date Maintenance Day Purchased Customer Email Email Subject SKU Platform Date Purchased Product Name Keycode Contract Version 1.1.24 Field Type Date Text Text (potentially number is alpha numeric) Text (limited to CD, Floppy, etc.) – pick list Text – pick list Text Text Text – pick list Date Date Text Text Text (potentially number is alpha numeric) Text (limited to MAC, PC) – pick list Date Text – pick list Text Text Text Screens/tables that contain various fields: License Purchase Layout License Expiration License Type License Number Media Customer First Name Customer Last Name Customer Type Customer Email Email Subject SKU Page 24 of 30 Platform Date Purchased Product Name Version Keycode Contract Maintenance Layout License Type License Number SKU Platform Maintenance Expiration Date Maintenance Day Purchased Maintenance Type Product Name Keycode Contract License Entry Layout License Type License Number Media SKU Platform Product Name Keycode Version Page 25 of 30 8.0 Lifecycle Considerations We will be using the waterfall model because the class structure follows this method closely. Additionally, as a group, we are not very familiar with AntPOS; it would not be feasible to create a prototype of our additions to the system. Thus, rapid prototyping lifecycle is excluded. Due to time constraints, we are unable to follow the incremental lifecycle or the spiral lifecycle. It would require us to implement this system’s multiple phases many times. With these constrictions, the waterfall would allow us to first know the specific requirements of the final system before we begin as well as minimizing the time for the design and implementation. Therefore the waterfall lifecycle is most suited for the UCI Computer Store’s requirements Page 26 of 30 9.0 Acceptance Requirements The program will automatically email customers when their maintenance is close to expiration It program will automatically email customers when a program they purchased matches that of a newly released version The program will offer an e-mail notification layout for e-mailing customers that purchase a particular software program The program will display a report showing customers who purchased any particular software program sorted by SKU, license, nonlicense, platform, etc Run a report showing software purchase history by department, date, SKU, product name, license, non-license, etc Run a report showing maintenance purchase history by department, date, SKU, product name, and expiration, matching specific license that have been purchased Run a report showing customers that have purchased software licenses based on a specific license agreement number, keycode, contract, and other specific license identification information Would autofill software keycodes in transaction.fp5 database serial number field, when applicable, for licenses sold Would automatically note applicable agreement and contract numbers in transaction.fp5 database layout Would not allow the selling of specific licenses to non-departmental customers or transactions Would keep a running list of license purchases by customer in a separate FileMaker database with expiration dates, where applicable Generate reports on outstanding special orders not processed, not in, or not picked up, and returned to stock Page 27 of 30 10.0 Glossary Adobe – A company that creates programs that allow the creation, publication, and delivery of content in a variety of media AntPOS2 – A database created solely for the UCI Computer Store Apple – A company started by Steve Jobs that develops many different programs within the Mac operating system database – A collection of information, or data, that you can organize, update, sort, search through, and print as needed Email – electronic mail FileMaker – A database management tool HP(HewlettPackard) – A company that manufactures computers as well as printers Macintosh – an operating system for Apple computers Microsoft – A company started by Bill Gates that develops many different programs and operating systems including Windows 98, Windows NT, Windows 2000, Windows XP, Office suite, etc PC – personal computers scripts – one or more instructions(script steps) that one defines to automate repetitive or difficult tasks SKU(stock keeping unit) – a number associated with a product for inventory purposes Windows – an operating system created by Microsoft Page 28 of 30 11.0 Meeting Minutes 11.1 Week 1: Date Time Members Topics Wai Hung Stella Khachoyan 1) Exchanged info Tuesday 10am Timothy Leung 2) Get ICS 193 keycode April 9, 2002 11am Ryan Meyer apps Rizwaan Rauf 1) Came up with team Wai Hung name Stella Khachoyan Wednesday 12:30 2) Described skills Timothy Leung April 10, 2002 1pm 3) Meet with client within Ryan Meyer the week Rizwaan Rauf 4) Team got keycode 1) Met with the client Wai Hung 2) Intro to the database Stella Khachoyan 3) Client will supply us Friday 8am Timothy Leung with detailed desires by April 12, 2002 9:30 am Ryan Meyer Monday Rizwaan Rauf 4) Schedule for next week Page 29 of 30 Decisions 1) Wai will setup schedules according to everyone's availability 2) Turn in apps on Wed 1) Stella will be the primary contact with client 2) Rizwaan will be getting the website started 1) Need software as soon as possible 2) Need to meet times to complete requirement documents 3) Client needs to receive draft copy by Friday April 19 4) Will pick up software system on Monday April 15 11.2 Week 2: Date Time Monday 4pm April 15, 2002 8pm Wednesday 4pm April 17, 2002 9pm Thursday 9:30 April 18, 2002 11am Thursday 5pm April 18, 2002 9pm Members Wai Hung Stella Khachoyan Timothy Leung Rizwaan Rauf Topics 1) Discuss status of client contact 2) Work on portions of requirements document Decisions 1) Need to wait on client contact 2) Next meetings will be on Wed and Thurs 1) Need to wait on Wai Hung 1) Discuss status of client cleint's second section of Stella Khachoyan contact requirements Timothy Leung 2) Work on portions of 2) Decided on who would Ryan Meyer requirements document be the manager of each Rizwaan Rauf phase 1) Decided not to the second part of the project 1) Discuss status of client Wai Hung if requirements were not contact Timothy Leung given to us in time 2) Work on portions of Ryan Meyer 2) Will receive FileMaker requirements document software and appropriate databases this afternoon 1) Will try to finish requirements document tonight Wai Hung 1) Discuss second portion 2) Do part of second Stella Khachoyan of requirements portion of requirements Timothy Leung 2) Work on portions of sent by client Ryan Meyer requirements document 3) Will review the Rizwaan Rauf document tomorrow and give it to the client on Saturday, April 20 Page 30 of 30 ... system before we begin as well as minimizing? ?the? ?time? ?for? ?the? ?design and implementation. Therefore? ?the? ?waterfall lifecycle is most suited? ?for? ?the? ?UCI? ?Computer? ?Store? ??s? ?requirements Page 26 of 30 9.0 Acceptance? ?Requirements The? ?program will automatically email customers when their maintenance is close to ... 1.0 Introduction The? ?UCI? ?Computer? ?Store? ?is a campus owned facet of? ?the? ?UCI? ?bookstore that sells hardware and software to students and other? ?UCI? ?departments. On? ?the? ?software side they currently sell software from vendors such as Microsoft, Apple, Adobe and many others. ? ?The? ?... they sell such name brands as HP, Epson, Dell, Apple and others. In addition to selling products, the? ?UCI? ?Computer? ?Store? ?also repairs PC’s and Macintosh’s.? ?The? ?last important branch of? ?the? ? UCI? ?computer? ?Store? ??s business is their internal processing of special orders