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
Trang 1Fast and Reliable Solutions
Compiled by:
Wai HungStella KhachoyanTimothy LeungRyan MeyerRizwaan RaufUCI Computer Store contact:
Steve Carter
Trang 21.0 INTRODUCTION 3
2.0 PROJECT PLAN 4
2.1 SCHEDULE 4
2.2 RESOURCE TABLE 7
3.0 PROJECT RISKS 8
3.1 TIME CONSTRAINTS 8
3.2 SCHEDULING CONSTRAINTS 8
3.3 REQUIREMENT CHANGES 8
3.4 RESOURCE CONSTRAINTS 9
3.5 KNOWLEDGE CONSTRAINTS 9
4.0 PROJECT RESOURCES 10
4.1 MEMBER STRENGTHS 10
4.2 EQUIPMENT 10
5.0 STAFF ORGANIZATION 11
5.1 TEAM STRUCTURE 11
5.2 MEMBER RESPONSIBILITIES 11
6.0 TRACKING AND CONTROL MECHANISMS 12
6.1 TRACKING MECHANISMS 12
6.2 CONTROL MECHANISMS 12
7.0 REQUIREMENTS SPECIFICATION 13
7.1 OVERVIEW OF SYSTEM REQUIREMENTS 13
7.2 ENVIRONMENT CHARACTERISTICS 13
7.3 USECASE SCENARIOS 13
7.4 NONFUNCTIONAL CONSTRAINTS 19
7.5 DOMAINSPECIFIC RULES 19
7.6 USER INTERFACE MODEL 20
7.7 SYSTEM ANALYSIS 21
7.8 SEMIFORMAL DIAGRAMS ERROR! BOOKMARK NOT DEFINED 7.9 DATABASE: TABLES AND FIELDS 21
8.0 LIFECYCLE CONSIDERATIONS 24
9.0 ACCEPTANCE REQUIREMENTS 25
10.0 GLOSSARY 26
11.0 MEETING MINUTES 27
Trang 311.1 WEEK 1: 27 11.2 WEEK 2: 28
Trang 41.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
Trang 6Task 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
Trang 83.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.
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 ifthe 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
Trang 9 By keeping in contact with the client we can monitor any potential changes.
3.4 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 thecourse 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
Trang 104.0 Project Resources
4.1 Member Strengths
Wai Hung:
Wai is very detailed oriented. Wai also has experience working with students as aTeacher’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 ofreports. 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
Trang 111.1.2 Hardware:
Mac based computer (with network connectivity)Windows based computer (with network connectivity)
Trang 125.0 Staff Organization
5.1 Team Structure
Our team plans on meeting at least three times a week for four to five hour in duration, in order to complete the assigned projects. The team has decided that it would be to dedicate a set amount of time for us to work together. Additionally, working as a team allows us to make better decisions and complete the projects in a timely manner. Working together as a team allows us to use each person’s skills accordingly, in order not to waste time. Therefore, based onmember’s experience and abilities we will choose portions accordingly. Additionally, the team has an understanding that all members should work equally and fairly: no one person should do more work than another
We have assigned managers to each phase of the projects based on member skills. Each
manager of a phase will be responsible for keeping track of assigned tasks to each member. The manager will also be responsible for making sure that the tasks are complete. Additionally, the manager should make sure that presentation material is complete and presentable.
Our team has chosen one person to be the primary contact with the client. Having one contact with the client is much more organized, because it prevents redundant information being passed back and forth. The client is also not bombarded with many emails asking the same questions, orquestion which could be answered by other team members
5.2 Member Responsibilities
Members Responsibilities
Wai Hung Manager of Test Plan Phase
Scheduling team meetingsStella Khachoyan Manager of Implementation Phase
Primary contact with client and teamTimothy Leung Manager of Requirements Phase
Responsible for meeting minutesRyan Meyer Manager of Design Phase
Responsible for Weekly Team LogsRizwann Rauf Manager of Implementation Phase
Responsible for website updates
Trang 136.0 Tracking and Control Mechanisms
6.1 Tracking Mechanisms
The team keeps track of progress first by setting goals and later evaluating if goals were achieved. The progress is kept track of as assignments are completed. Setting the goals allows the team to check if we are falling behind schedule.
Master documents are kept by the manager of each phase, and he or she is responsible forproviding the other team members copy of the master documents. Additionally, any proposed changes are forwarded to the manager, and he or she is responsible for updating the master. Thisallows one person to track the updates to the master document, thus eliminating the chance of overwriting data.
The primary contact to client collects questions from all the team members and forwards them to the client. This helps the team to keep track of client needs. Additionally, not
inundating the client with lots of email allows faster response time.
Team log are generated by one member of the team, and forwarded to the person who is charge of updating the team web site. Since only one person is responsible for keeping track of team meeting, it allows other members to dedicate their time to other tasks.
6.2 Control Mechanisms
The manager of each phase is responsible for the their deliverables. This is reasonable because it allows for one person to keep track of how the project is doing. Additionally, we will always make one person responsible for delivering items to the client. Each phase will be controlled in a manner that will be fair to all members, thus not allowing for one person to take
on more tasks then the next person
Trang 147.0 Requirements Specification
7.1 Overview of System Requirements
Our system has two separate sections. The first section tracks the license, media, and maintenance sold to university departments. The second section will create reports with
extrapolated conclusions from the given data
In the first section, with the licenses and media, we will have automated email
notifications for customers of the client, reporting based on criteria specified by the client, providing transaction and customer layouts
In the second section, the software should provide purchase history and allow buyers to view outstanding special orders
1.1.5 Users
The users of the system include administrators as well as employees. Employees only have minimal restraints for security purposes
7.3 Usecase Scenarios
1.1.6 Maintenance Notification
Description: Automatically email customers when their maintenance is close to expiration.Precondition: There exists a customer in the database that has purchased a maintenance licensethat will expire within a specified time. The specified time has been determined
Postcondition: An email is sent out to the customer to notify them that their maintenance license is expiring
Priority: Medium level: client will not be satisfied if use case does not function
Basic Course Successful Alternative Unsuccessful Alternative
*The user is not expected to
perform any tasks to trigger
this process.
generated because of the lack of email addresses.
Trang 151.1.7 New Release Notification
Description: A customer would be emailed if there is a new release or version of a product theypurchased recently
Precondition: There exists a customer in the database that has bought a previous release or version of the new product
Postcondition: An email is sent out to the customer to notify them that there is a newer release
or version of the product they purchased and they can purchase it through the client
Priority: Low level
Basic Course Successful Alternative Unsuccessful Alternative
1) The user updates the
database with newproduct
information
2) The user clicks on the
button titled "send new
release of prouct update"
button
3) An email is sent
The user clicks the button is not generated and a dialog box states that the email client is not open: The user opens the email client and continues to send
Emails cannot be send because noneof the customers have an email address