Table of Contents 1. Problem Definition And Literature Review………..........………………...... 1 1.1 Introductions ………………………………………………..………………...... 2 1.2 Background ……………………………………………………...…………...… 3 1.3 Literature Review ………………………………………………………..…...... 5 1.3.1 Introduction ………………………………………………………………...... 5 1.3.2 Literature Paper Review …………………………………………………….. 6 1.3.2.1 Answering Imprecise Database Queries: A Novel Approach …………. 6 1.3.2.2 Structuring Keyword-Based Queries for web Databases …………....... 8 1.3.2.3 Testing Web Database Applications …………………………………... 10 1.3.2.4 Generating Web-Based Systems from Specifications …………….…… 11 1.3.2.5 Structured Databases on the Web: Observations and Implications ...… 13 1.3.2.6 Web Mining Research: A Survey ……………………………………... 14 1.3.2.7 Editorial: Special Issue on Web Content Mining ……………………... 16 1.3.2.8 WEBKDD 2002 – Web Mining for Usage Patterns & Profiles ……….. 16 1.3.2.9 A Web Personalization System based on Web Usage Mining Techniques ………………………………………………………...… 18 1.3.2.10 Assessing the Quality of Auction Web Sites ………………………… 19 1.3.2.11 Designing Multinational Online Stores: Challenges, Implementation Techniques and Experience………………………………………..… 20 1.3.2.12 Customer-centered Rules for Design of E-commerce Web sites …….. 21 1.3.2.13 A Comparative Usability Evaluation of User Interfaces for Online2Product Catalog ...……...…………………………………… 22 1.3.2.14 Effects of Scent and Breadth on Use of Site-specific Search on E-commerce Web sites ………………………………………………… 23 1.3.2.15 The Dynamics of Mass Online Marketplaces: A Case Study of An
115
Embed
Table of Contents - UMC CS Multimedia …meru.cs.missouri.edu/courses/cs4970/projects/MU Bulletin... · Web viewCar functions include Search cars, post a new car, update and delete
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Table of Contents1. Problem Definition And Literature Review………..........………………...... 1 1.1 Introductions ………………………………………………..………………...... 2 1.2 Background ……………………………………………………...…………...… 3 1.3 Literature Review ………………………………………………………..…...... 5
1.3.1 Introduction ………………………………………………………………......51.3.2 Literature Paper Review …………………………………………………….. 6
1.3.2.1 Answering Imprecise Database Queries: A Novel Approach ………….61.3.2.2 Structuring Keyword-Based Queries for web Databases …………....... 81.3.2.3 Testing Web Database Applications …………………………………... 101.3.2.4 Generating Web-Based Systems from Specifications …………….…… 111.3.2.5 Structured Databases on the Web: Observations and Implications ...… 13
1.3.2.6 Web Mining Research: A Survey ……………………………………... 141.3.2.7 Editorial: Special Issue on Web Content Mining ……………………... 161.3.2.8 WEBKDD 2002 – Web Mining for Usage Patterns & Profiles ………..161.3.2.9 A Web Personalization System based on Web Usage Mining
Techniques ………………………………………………………...… 181.3.2.10 Assessing the Quality of Auction Web Sites ………………………… 191.3.2.11 Designing Multinational Online Stores: Challenges, Implementation
Techniques and Experience………………………………………..… 201.3.2.12 Customer-centered Rules for Design of E-commerce Web sites …….. 211.3.2.13 A Comparative Usability Evaluation of User Interfaces for
Online2Product Catalog ...……...……………………………………221.3.2.14 Effects of Scent and Breadth on Use of Site-specific Search on E-
commerce Web sites ………………………………………………… 231.3.2.15 The Dynamics of Mass Online Marketplaces: A Case Study of An
Online Auction ………………………………………………………. 231.3.3 Literature Survey Conclusion ……………………………………………….. 24
1.4 Goals and Objectives …………………………………………………………... 27 1.5 Overall Approach …………………………………………………………….....
312. Requirements Analysis………..........………………........................................... 31 2.1 Introductions ………………………………………………..………………...... 32 2.2 Overall Description………………………………………………...…………....32 2.3 System Requirements And Constraints…...……………………………..….....33
2.3.1 Operating Environment (External Constraints)..….………………...……...... 332.3.2 Market Users and Characteristics ……………….….……………………...... 342.3.3 Environmental Constraints …………………….….…………………….........352.3.4 System Components ………………………………………………………… 362.3.5 Software Interface and Library ……………………………………………… 382.3.6 System Maintenance ………………………………………………………… 39
2.6 Alternative Solution …………………………………………………………….41 2.7 Evaluation Metrics ……………………………………………………………...413. Design Specifications …..……..........………………...........................................42 3.1 Introductions ………………………………………………..………………...... 43 3.2 System Design Overview……………………………………...…………........... 43 3.3 Data Requirements ….......................................................................................... 44 3.4 Software Design………………………………………………………………….44 3.5 Testing Methods…................................................................................................49 3.6 Scheduling Diagrams with Task Assignments………………………………... 51 3.7 Design Implementation Costs........……………….............................................. 514. System Implementation……..........……………….............................................. 52 4.1 Introduction & System Implement Overview…………..……………….......... 53 4.2 System Database Implementation....................................................................... 53 4.3 System Basic Interface..........................................................................................54 4.4 System User Login / logout & Register Function...............................................55
4.4.1 User Register Function….………………...……............................................. 564.4.2 User Login / logout Function............................................................................57
4.5 Sale Function……………………………………………………………………. 584.5.1 Book Function….………………...……...........................................................584.5.2 Car Function......................................................................................................58
4.6 News Function ………………………………………….…………..................... 595. System Performance, Testing & Evaluation……............................................62 5.1 Introduction & System Overview…………………………..………………......63 5.2 System Performance ……………………………………...…………................. 63 5.3 System Testing ….................................................................................................64 5.4 System Evaluation……………………………………………………………….656. Conclusions & Discussion…..........………………............................................. 66 6.1 Introduction & Overview…………………………………..……………….......67 6.2 Conclusions……………………………………...………….................................67
6.2.1 Wang Yi’s Conclusion….………………...……..............................................676.2.2 Wen Lei’s Conclusion.......................................................................................676.2.3 Carol Lim’s Conclusion....................................................................................67
All users should have at least one valid email account because we need email
communication in our system. For example, a buyer sends a message to a seller by
clicking the listed email address of the seller. This means that we need to consider the
external link that is the users’ email system. Another external system constraint is the
location of our software. Our SQL code will be stored in the MySQL database account of
MU. For the purpose of the project, our system code will be stored temporarily in one of
our team member’s Bengal/database account.
All users should be able to access the Internet to interact with our Web site since
our system is web-based database system. Users’ web browsers should support CSS, PHP
and JavaScript. Compatible web browsers include Internet Explore 6.0, and Netscape 5.5.
We will use the MU software system to implement our system.
We will use Linux system (EBW Computer Lab) of University of Missouri to
implement our system. Our system includes three major components: web server,
relational database, and server-side scripting language. We will use Apache web server,
MySQL database, and PHP sever-side scripting language. Apache is a Unix-based, open-
source web server that is used to host most sites on the Internet. MySQL database is a
multi-user, multi-threaded SQL (Structured Query Language) database server and is a
client/server implementation that consists of server daemon and many different client
programs/libraries. PHP, a sever-side HTML embedded scripting language, is used to
create dynamic web pages. A dynamic web page is a page that interacts with the user, so
that each user visiting the page sees customized information. PHP is freely available and
used primarily on Linux (UNIX) web servers.
2.3.2 Market Users and Characteristics
Since our system only deals with local business, we do not have the shipping and
handling function in our system. A buyer can meet the seller in a local place for
bargaining the price or picking up the item. This kind of local item trading can save a lot
of money for buyers on shipping and handling, especially for large items. In addition,
since our system is free, it will attract many users to trade through our system. So our
database will contain a lot of data (more choice) and people can find their needs easily.
There are many similar systems available online, such as eBay and Amazon, but users
have to pay extra money for their services, handling and shipping.
Our system will exactly meet the customer’s requirements, which are following:
1) All customers should be able to register as new users.
2) All users should be able to login and logout.
3) All users should be able to view or add new announcements or activities, such
as yard sale activities.
4) All users should be able to post new selling item information.
5) All users should be able to delete their sold item pages or information.
6) All users should be able to view items by category.
7) All users should be able to search items by criteria.
8) All users should be able to delete old posted messages.
9) All users should be able to upload pictures.
10) The administrator should able to delete and block users (a fine level of control
over user activities).
11) The administrator should have more functions than normal users, such as
school event announcements.
12) Users will be automatically deleted, if users did not login for 6 months.
2.3.3 Environmental Constraints
Our team consists of three members. Everyone has the requisite experience in
database design, PHP, MySQL, Apache database management and interface design.
Everyone is assigned to work on interface design, system design, implementation, and
documentation, due to the different interests. If one of the team members cannot finish
his/her job because of illness or withdraws from the course, other team members will
pick up that member’s job quickly. Our team members use email and phone to discuss
our project and we have meetings every week for improving and discussing our project.
Besides human factors, our system has environmental constraints on quality, reliability,
safety, and suitability.
Quality: MU Bulletin Board is designed as a website that Internet users will be
familiar with. When users login to the MU Bulletin Board, they can start navigating the
website. If users do not understand the function on the website, users can look for the
help link in MU Bulletin Board. The user guide will be in the help link for user
references.
Reliability: When the user enters data into MU Bulletin Board, the data needs to
be stored and retrieved correctly. When a different user is using the MU Bulletin Board,
that user cannot simply view previous user’s page. For example, John logout the MU
Bulletin Board after input some data in his account, but he forgot to close the browser.
Suppose after John left, Mike wants to enter John’s account by clicking the ‘back’ button
on the browser, but he will fail. Our database will delete users who do not use our
database for over six month.
Safety: Users of the MU Bulletin Board are asked for the login name and
password every time they login. The password is encrypted. The data question will only
be available to the user who is authorized. MU Bulletin Board will auto logout if the user
is idle for longer than 5 minutes. All the inputs will be validated. Attempt to enter HTML
tags and JavaScript in textboxes and text areas will be detected by the system.
Suitability: MU Bulletin Board is built under the Web server and database server
of University of Missouri. The servers operate and support the Web sites and databases in
24 hours. So, as long as the user gets internet access, the user will be able to login to MU
Bulletin Board at anytime.
2.3.4 System Components
We will use the Spiral Model to develop our system. We will define and
implement the highest priority features, then get feedback from users. With this
knowledge, we will then go back to define and implement more features. The spiral
model, illustrated in Figure 2.1, combines the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model, therein providing the potential
for rapid development of incremental versions of the software. In this model the software
is developed in a series of incremental releases with the early stages being either paper
models or prototypes. Later iterations become increasingly more complete versions of the
product.
Figure 2.1 Spiral Model
Our web-based database application system will contain three layers (See
following figure 2.2). The top layer is the user’s web browser that is an interface
application. Users will click some icons or links to find their desired information or the
user can fill some forms to find a particular message. The middle layer is application
logic which contains 9 functions. We will use a web server-side scripting language (PHP)
to contact with the Database Management System (DBMS). The bottom layer consists of
the DBMS and databases that contain different data.
Figure 2.2 MU Bulletin Board System Diagram
2.3.5 Software Interface and Library
We will have a clean and clear interface that is very easy to use (see Figure 2.3, a
sample interface). The interface has all the user needs, such as news announcement,
search engine, and item catalogues. The login link is on the left bottom of the interface. A
user can view his/her personal information by typing his/her user ID and Password. We
will use mail() function in our system. This function allows user to send an email. Mail()
function uses the SMTP protocol, and the SMTP server to send email. We will provide
forms for users to post their selling item information. We will use MySQL commands,
such as CREAT TABLE, SELECT, INSERT, UPDATE, and DELETE, to create tables
and carry out users’ requests. The MySQL queries will be embedded into HTML files by
using PHP syntax such as echo.
Figure 2.3 A Interface Sample
2.3.6 System Maintenance
The administrators should be able to delete incorrect information and check the
stability of the system every week. The system will provide an email link in order to help
those users who have problems. For system maintenance, the system administrator will
update the system every three months. For example, the administrator can add a new
function into the system and delete the users’ old data.
2.4 Performance Requirements
In our project, we use MySQL database of University of Missouri. If our database
contains too many data (more than 1000 users for example), the MySQL databases will
respond to the users’ requests slowly. In order to solve this problem, the indexing
technology will be used. We will index certain tables, in order to accelerate query speed.
When users navigate the MU Bulletin Board, the websites need to load within 5
seconds. User should not have to wait longer than 5 seconds to get the table content or
uploading files. The server should respond in a short period of time. Database queries
needs to be simple in order to avoid delays in retrieving data.
2.5 Resource requirements
The system will need one month to implement. Our resources are all from MU.
Our database account is provided by a database course. As stated above, we will use
Apache (an open-source web server that is used to host most sites on the Internet),
MySQL (a database server), and PHP (a sever-side HTML embedded scripting
language). We will also use Gantt charts to monitor our project (see Figure 2.4). Our
database account will provide all the facilities. In addition, since our project is part of
course requirement, our budget is zero.
Figure 2.4 Gantt Chart Sample
2.6 Alternative solution
There are several alternative solutions such as IIS (Internet Information Service),
SQL server 2000, and ASP.NET. ASP.NET is a powerful scripting language for
developing web applications. ASP.NET must run on the IIS which is part of Windows
XP professional and Windows server 2003 operating system. Running IIS in windows
XP professional will cause a poor database management result. Favorable results are
obtained when using windows server 2003. In addition, we need Visual Studio .NET if
we write code of ASP.Net. Since the computer labs of University of Missouri do not
provide these software and our team does not have money to buy these software, we
cannot use windows server 2003 and Visual Studio .NET in our project. Furthermore,
most of our team members are not familiar with all the alternative solutions. It will
require more time for us if we were to use the alternative solutions.
2.7 Evaluation metrics
Our system will allow 1000 users to access the database at the same time. When
users are navigating the MU Bulletin Board, the websites need to be loaded within 5
seconds. Each user has maximum 3M storage to upload files and pictures because we do
not have much room in our database account. In addition, we are going to make some
queries and upload some pictures to test our system.
Design Specification of MU Bulletin Board
Team
Lim, Carol Teng Yik (913166)
Yi Wang (838550)
Lei Wen (884241)
Mentor
John Boyer (Programmer/Analyst of MSA & Student Life)
April 20, 2005
3.1 Introduction
The MU Bulletin Board is developed as a combination of PHP scripts, HTML,
and SQL queries. For the software tools, our team will use the VI editor, a screen-based
text editor used by many UNIX users, Adobe Photoshop, and the SecureCRT. HTML
code is mainly used for interface design. PHP scripts are used to control the dataflow of
the website in the server. It helps MU Bulletin Board in connecting to the database and
restricts the appearance of the HTML code. The SQL database language is used for
querying the data that are stored in our database. It will access and retrieve the relevant
data in a short period of time. In the section on requirements analysis, we provide nine
functions to be used in our design. Now we will convert those functions into a set of
prototypes expressed in the PHP scripting language.
3.2 System Design Overview
Our system design specification consists of five parts. First (section 3.3), we will
provide the specification of the data requirements. In this section, we will explain the
methodology of data collection and storage, data format, and the database. Next (section
3.4), we will provide the details of software design such as diagrams, pseudo code, and
Web layout hierarchies. Third (section 3.5), we are going to provide the testing method
for our system. Following this (section 3.6), in addition to the scheduling diagram that we
have provided in the section on requirement analysis, we will provide a task assignment
for each team member. Finally (section 3.7), we are going to roughly estimate the cost of
our design implementation.
3.3 Data Requirements
Since we do not have real data, we are going to input some testing prototype data
into CSV files, and then load the data into our database in order to test and interact with
our system. A CSV (comma separated value) file is often used to exchange data between
disparate applications. In a CSV file, a record separator may consist of a line feed or a
carriage return. For example, “Mike, Green, 100 Forum St., Columbia, MO, 65202” is a
record in a CSV file.
We will use MySQL, the world’s most popular open source database management
system, which is located under the dbms-unix.cecs.missouri.edu server. MySQL is a
relational database management system that uses Structured Query Language (SQL), the
most popular language for adding, accessing, and processing data in a database. The most
important reasons for our choosing MySQL are its award-winning speed, scalability and
reliability. In addition, it is economy because MySQL is open-source software.
According to the lecture notes of Database Management System I, the size of one I/O of
MySQL server is 4KB.
3.4 Software Design
There are five steps in our software design phase. First, we came up the system
diagram as showed in the section on requirements analysis. Second, we provided the
ERD of our system. We improved our ERD in the software design phrase (see figure 3.1).
In order to understand the data flow of the system, we will provide the data flow model in
this section (see figure 3.2). Third, we design and modify our interface diagram (see
figure 3.3.1~3.3.3). Fourth, we create tables in our database by using SQL. We provide a
small part of the code (see figure 3.4). Finally, we use PHP and HTML to implement our
system. We provide pseudo code for this part (see figure 3.5).
Figure 3.1Updated ERD
Figure 3.2 System Data Flow Model
Figure 3.3.1Interface of the Front Page
Figure 3.3.2 Interface of the Normal User Book Function
Figure 3.3.3Interface of Search Result
CREATE TABLE Book (
Bid INT NOT NULL,ISBN INT,Bcondition VARCHAR (100),Btitle VARCHAR (20) NOT NULL,Bprice DOUBLE NOT NULL,Author VARCHAR (50),Bpost_date DATE,Bpicture VARCHAR (100),Caid INT NOT NULL,
while ($line1= mysql_fetch_array($result1, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line1 as $col_value) {
echo "\t\t<td>$col_value</td>\n";}
echo "\t</tr>\n";}
echo "</table><br><br>\n";
mysql_free_result($result1); mysql_close($link);
?></center></body></HTML>
Figure 3.5 Sample HTML Pseudo code
We encounter two major difficulties during the design specification phase. First, it
is hard to communicate with each team member. Since some team members do not check
their email very often, we (the team) cannot make our decisions right way. The
communication problem makes our design process slow. Second, we faced the problem
of obtaining permission for using a MySQL account. Since the database account is for a
database course, the TA of the course informed us that we were not allowed to use the
database account for another course (we got a meru account from our capstone course,
but this account does not support database). Fortunately, after reporting to the instructor
of the database course, we are allowed to use the MySQL database account. In addition,
after obtaining the requisite permission, we spent three days trying to solve the password
problem of out database account. The second problem delayed our implementation
process. Since our system does not involve any hardware components and our project is
limited to software design and implementation, we do not have any hardware design and
implementation.
3.5 Testing Methods
Since we have two types of users --- administrator and regular users, we will have
two types of tests. Basically, the testing steps are same for both types of user. Since
regular users have fewer functions than administrators, we only provide the testing
methods for administrator.
Login as Administrator
1. Test whether a correct menu pops out after an administrator login
2. Create several new users (1 Administrator and 2 User). Fill in all required fields.
View the corresponding tables and see whether the data is inserted correctly.
3. Delete a user. Check whether the user is deleted from the user table.
4. Update the user’s information. Check whether the information in the user table is
updated.
5. Try to login as a new user that has just been created and test whether the new user
can logout successfully.
6. After login, test each function one by one. For example, fill in all the required
fields in the Book function. View the Book table to see whether the data is inserted
correctly.
7. Delete users’ data in the Book function. Check whether the data are deleted from
the Book table.
8. Update users’ book information. Check whether the information in the Book table
is updated.
9. Go to the Book search. Try to search for the book that has just been inserted.
Check whether it can be searched.
10. Do the same steps from 6 to 8 for other functions
11. Go to the upload and download files function. Try to upload a file to the web
space. Check whether it appears on the download column. Click the files to verify
that it is same as the file that you uploaded. Try to delete a file from the web space
and check whether it is deleted.
12. Logout and click the Back button on the browser to check if the user’s
information is invalid.
3.6 Scheduling Diagrams with Task Assignments
The following Gantt chart represents a tentative schedule. As future requirements,
modifications, and complications arise, this schedule will be subject to change. Basically,
each team member is in charge of implementing three functions, and we will implement
the functions in parallel.
Figure 3.6: Gantt chart scheduling
3.7 Design Implementation Costs
As stated in the problem definition, our desired solution is reduction in time and
cost. Since we are doing volunteered website design, we plan to lower any additional
costs. By using open-source software (PHP, MySQL, Apache database), we have
drastically cut the costs of our project. Moreover, we use dbms-unix.cecs.missouri.edu
database web server, which belongs to the school server. This has reduced our costs for
web server installation and maintenance. Generally, our project design implementation is
costless.
4.1 Introduction and System implement Overview
Stated in Design Specification, this system will have two parts – database and
web interface. We (the team) will implement MU Bulletin Board using VI editor,
SecureCRT, Adobe Photoshop, Microsoft Office and etc. Since we only have three weeks
to implement this system due to some reason, we will implement part of the system and
see how the prototype works.
Our system design specification consists of five parts. First (section 4.2), we will
provide the system initialization and achievement of database table. Next (section 4.3),
we will talk about the basic web user interface. Third (section 4.4), we are going to
provide you the basic user login/logout and register function. Following this (section 4.5),
we will provide you two similar functions which are Books and Car function. Finally
(section 4.6), we are going to talk more about news function.
4.2 System Database Implementation
As our temporary database will be used in dbms-unix.cecs.missouri.edu, most of
the initialization of database has been done by the school. Since we do not have any
permissions to change anything about database server, we plan to go ahead to create our
system database table which is [19]. For testing purpose, we are going to input some
prototype data into the system for performance testing.
4.3 System Basic Interface
At first, we design the first interface (figure 4.1) after our first group meeting.
Afterward, we realized that the first interface is too simple and lack of future
development. After doing some web research, we decided to combine both famous
website interface (Ebay.com and Yahoo.com) and come out our current interface (figure
4.2). After interview with a few people, they felt satisfied with our interface and wished
that we could modify the font and picture size in the future.
figure 4.1 System first interface
News
figure 4.2 System second and current Interface
4.4 System User login / logout and register functions
This system will have different types of users --- administrator, regular users,
webmaster and new users. For prototype purpose, we will create a regular users login /
logout function and new user register function. The first part will be new user register
function and next one will be regular user login / logout function. This system will not
have any recognized function among different type of users at least the user is new.
4.4.1 User Register Function
Figure 4.3 User Register Page
In order to create a new account, the system have to have all some information
about the user, such as user name, password, first name, last name, email and etc. If the
user name has been used, the system will be return and told the user to choose the other
one. If system found the same email, the system will ask user to key in another email.
Below is the pseudo code of the register function.
If (user submits the information)
If (user name is same from database)Return and ask user to key in another user name
Else if (email is same from database)Return and ask user to key in another email
ElseSave the data into database
ElseDisplay the form for user to key in database
Figure 4.4 User Register Pseudo code
4.4.2 User Login / Logout function
For user to login, user needs to enter the correct user name and password. Once
the user login, the cookies/sessions are being set and user can be logout anytime. Once
user logout, the cookies/sessions is being reset. Below is the pseudo code of login
function.
If (user already login)Return User Error
ElseIf (user has submit the information)
If(user name and password is incorrect) Return and ask user to key in the correct user name and passwordElse Set the cookies/session and save the data into databaseSave the data into database
ElseDisplay the form for user to key in to login
Figure 4.5 User Login Pseudo code
4.5 Sale function
We have different categories of sale items. For prototype purpose, we will create
Book function and Cars function due to their popularity of users. Both functions are
similar yet different. We will pick the best one according to user preferences.
4.5.1 Book function
Our book category has view, post, update, and delete functions. First we create
the Book table in the database and insert some fake data into the table. Then, we write
HTML and SQL codes that have been embedded into PHP codes (see figure 4.6).
Set global variableConnect to MySQL databaseRequest queries: select all books in the databaseProcess the queriesReturn the result of the queries to user interface
Figure 4.6 pseudo code of Book view
4.5.2 Cars Function
Car functions include Search cars, post a new car, update and delete existed car
functions. Search car function allows users to search cars information based on different
criteria such as vehicle make, car type, transmission type, model type, and number of
doors. Post a new car function allows users to add new car information to the database.
Update car function allows users to update the information that user previously inserted.
Delete car function allows users to remove old car information from database.
Include nessccary libraryConnecting the MySQL database,Request query, such as Insert, update, delete.Using php to range the dataOutput the data in html format.
Figure 4.7 basic pseudo code of Car function
4.6 News function
Figure 4.8 View All News page
The News function will have three parts. One (figure 4.8) is view all news which
the system will pick out the available news from the database and arrange them into date
order. The first one will be the coming one and the rest will be following by that. Second
(figure 4.9) will be post news messages. The system will preview the message once
before save the data into database for user convenient in case of some careless mistake in
the information. The last one (figure 4.10) is view one news which it will display all
information about the new which user wants. Beside that, the system has a RSS (Really
Simple Syndication) function which user can view the news like those online news
website (CNN.com). Figure 4.11 will be the xml files generated by PHP scripts and data
from database. Most of the functions’ codes are similar, just that the display codes are
different due to their own use.
figure 4.9 Post News Page
figure 4.10 View one News
figure 4.11 XML RSS feed page
5.1 Introduction and System Overview
As the system prototype has been initiated and implemented, we will test its
performance and found out any errors in the system stated as in the design specification.
First (section 5.2), we will provide the system performance and achievement after our
testing. Then (section 5.3), we run the system into a few other testing for better results.
Lastly (section 5.4), we will also have some user evaluations for the system prototype to
know what a user really wants in our project.
5.2 System Performance
When users navigate the MU Bulletin Board, the website is load within 5 seconds
due to the fact the database server is stable and available. The server is respond in a short
period of time. Database queries are simple but there are more than four queries in one
page which will have delays in retrieving data if we have multiple users. Our server is
used for a database course and many users may connect it at same time; this has delayed
the time of saving and retrieving the data stored in the database (as we presented in the
presentation).
Beside the speed, the safety and security of the server is unstable. By using our
own hacking system, we will be able to crash our own system without any difficulties.
The reason of that is due on the JavaScript error checking that we have in our PHP
scripts. Hackers will be able to disable the JavaScript function and enter any kind of data
to crash our database. The best solution of that will be having a server-side error checking
and SSL secure connection which we will discuss more on future work.
5.3 System Testing
Our testing procedure includes individual testing, system integrate test and
inspection. The individual testing started when we are implemented the system. In
individual testing, all input fields are validated by the system by using JavaScript
function and simple PHP function. System integrate testing occurs when we are combine
all our function into one working system. We add components one by one to ensure each
component interacts with each other in the correct way. In inspection process, one of us
will look through all the codes to find any common mistakes.
Testing plan:input test :
Text field: 1. enter random number into the text field
2. enter random character into the text field3. enter empty string into the input text field.4. enter JavaScript into the input text field.5. enter html tag into input text field.
Dropdown box:1. select the items in the dropdown box to check if the correct value is selected.2. Down the web page that contain dropdown box, change html tag <select name=bb><option value= 10000>. In this case, 10000 will be pass to the server.
Session test:1.login the web site. Go though each page to check if all the page is direct to the correct location.
Inspection:1. check looping process out of array boundary2. check variable type in used3. check any variables are not used4. check web page redirect the correct place
Figure 5.1 Testing Plan
5.4 System Evaluation
Since we have limited of time to implement and integrate the system, we do not
have enough time for user evaluation. By assumption, we assume that the user will be
satisfied our system. We will have user evaluation right after we have a stable web
server.
6. Conclusions and Discussion
of MU Bulletin Boardversion 1.0
Prepared by: Carol Teng Yik Lim
Team Name: MU Bulletin Board
Mentor: John Boyer
May 08, 2005
6.1 Introduction and Overview
Fortunately, our first prototype is completed within the time frame. Although the
MU Bulletin Board is not fully working, we are satisfied with the system. First (section
6.2), will have different conclusion by each member of the team. Then (section 6.3), will
be the problem that we have faced during the implementation and integration of the
system.
6.2 Conclusion
6.2.1 Wang Yi’s conclusion
After going through the whole process (system analysis, requirement analysis and
design specification) of the project, I knew every phase is important in order to have a
successful project especially in design phase. System developers should focus on many
detail things during the ERD design in order to avoid later implementation problems.
6.2.2 Wen Lei’s conclusion
In my conclusion, the security is very import for web application. Always enable
server side validate will be great decrease the chance to get hacked. Communication
between programmer and designer to ensure the correct function is implemented.
6.2.3 Carol Lim’s conclusion
In my opinion, I learn that every phase in the whole process is very important in
designing and implementing a new project. In this project, although we have limited time
in implementing the project, we learn a lot about web application and E-business.
Security, availability and reliability are the three main issues for a success web
application. User evaluation is also important to attract more users to use this project.
6.3 Discussion
We are facing some problems and eventually, we solved it within the time limit.
Due to the fact that we have a late permission using the MySQL Server (Database
Server), we have limited time to implement our system. This has slowed our process
down and we ought to change our schedule and our prototype to be simpler. Although we
have some working PHP scripts working well in other servers, we found out there are
some difficulties to transfer the working PHP scripts into our server by reason of different
policies of the server. As result, we have to redesign the code and implement by
ourselves which has minimized our functional system in our first prototype.
Beside that, we have some communication problem. We can not have a proper
meeting during the day or night because some of the member has to be work or take care
of their families. The only time that we are available is when we are in the capstone class,
which is not enough. Although we have email contact frequently, we are facing some
integrate problems when we combine the individual function into one systems.
Fortunately, one of our member has created a general library files which as faster the
speed of system integration.
7.1 Future Work
We will contact our mentor and ask him about his opinion about our system. It
will be great if he want to adopt our system. If this happens, we will finish the all remain
functions and add some useful functions such as administrator functions since we are
using a stable permanent database web server. If not, we will try to find a stable web
server and finish remains functions. We will have a feedback function for users in order
to get more user requirements. We may improve our interface and make it clearer and
user friendly. The most important function after we host the system is to improve the
security of our system. We can add more server-side error scripts instead of client-side
JavaScript and secure connection to database server.
Database Create Table List
CREATE TABLE User ( Uid INT, Password VARCHAR(20), Uidentify VARCHAR(20),
Name VARCHAR(30), CONSTRAINT PK_User PRIMARY KEY (Uid));
REFERENCES Catalogue ON DELETE CASCADE, CONSTRAINT FK_Electronic2 FOREIGN KEY (Uid)
REFERENCES User ON DELETE CASCADE);
CREATE TABLE Book (Bid INT,
Uid INT NOT NULL,ISBN VARCHAR(20) NOT NULL,Bcondition VARCHAR(100),Btitle VARCHAR(20) NOT NULL,Bprice DOUBLE NOT NULL,Author VARCHAR(50) NOT NULL,Bpost_date DATE,Bpicture VARCHAR(100),Catalogue_name VARCHAR(50) NOT NULL,
REFERENCES Catalogue ON DELETE CASCADE, CONSTRAINT FK_Book2 FOREIGN KEY (Uid)
REFERENCES User ON DELETE CASCADE);
CREATE TABLE Ticket (Tid INT,Tprice DOUBLE NOT NULL,TLocation VARCHAR(50) NOT NULL,Tdate DATE NOT NULL,Ttime TIME NOT NULL,Tdescription VARCHAR(100),Catalogue_name VARCHAR(50) NOT NULL,
Uid INT NOT NULL, CONSTRAINT PK_Ticket PRIMARY KEY (Tid, Catalogue_name), CONSTRAINT FK_Ticket1 FOREIGN KEY (Catalogue_name)
REFERENCES Catalogue ON DELETE CASCADE, CONSTRAINT FK_Ticket2 FOREIGN KEY (Uid)
REFERENCES User ON DELETE CASCADE);
CREATE TABLE Furniture (Fid INT,Fprice DOUBLE NOT NULL,Fitem VARCHAR(50) NOT NULL,Fcondition VARCHAR(100),Fyear YEAR,Fpost_date DATE,Fpicture VARCHAR(100),Catalogue_name VARCHAR(50) NOT NULL,
Uid INT NOT NULL, CONSTRAINT PK_Furniture PRIMARY KEY (Fid, Catalogue_name), CONSTRAINT FK_Furniture1 FOREIGN KEY (Catalogue_name)
REFERENCES Catalogue ON DELETE CASCADE, CONSTRAINT FK_Furniture2 FOREIGN KEY (Uid)