
















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Material Type: Project; Class: SOFTWARE DESIGN & DEVELOPMENT; Subject: Computer Science; University: Wentworth Institute of Technology; Term: Unknown 1989;
Typology: Study Guides, Projects, Research
1 / 24
This page cannot be seen from the preview
Don't miss anything!
Phillip Berenz Carlos De Jesus Greg Snow Ben Rabidou Sam Giroux
feedback on an artist on their shipping habits. The administrative user will be able to view all users, and have the ability to add or delete users. Administrative accounts will only be given to individual who monitor and support the web-based application.
The main goals of our system are user-friendliness, well-defined interfaces, ease of learning, and high performance. It should take less than one hour of training for an artist to create their profile and gallery. It should take less than one hour of training for a buyer to search and use the mock environment sub-system. These goals should be achieved by the help of good documentation on the system, task wizards that minimize user error, and screen casts which will visually demonstrate how to use our system.
Another goal for this system is to have a quick response time. Any queries to the system should return results in less than two seconds, ninety percent of the time. Personal profiles and galleries should load in fewer than two seconds, ninety percent of the time. To achieve high-performance our database will be fine-tuned to be highly efficient.
Portability is a key design goal because the system will be designed using a client/server architecture. The system will need to be compatible with every client’s browser. Scalability is also another important design goal because the system will be able to handle a large number of clients. Lastly transparency is another design goal because if the application is located on one server, or distributed between three servers, to the client it will look all the same.
Due to the time constraints on this project, we chose to focus on goals that are more beneficial to the end-users such as user-friendliness, ease of learning, and high performance. Since we are focusing on goals that are more beneficial to the end-users, many of the goals that are beneficial to the developers/maintainer will be sacrificed such as reusability, adaptability, and modifiability.
ASP.NET - NET is Microsoft's new programming technology which is now gaining acceptance and momentum. Soon, it will completely replace standard ASP. Glaserweb.com is already up to speed with .NET technology, and is fully ready for this switch. While .NET development is not as rapid (leading to higher production costs), it is significantly more stable, and runs much faster than older programming technologies, opening up new possibilities for web development.^1
AJAX - AJAX or Asynchronous JavaScript and XML is a term describing a web development technique for creating interactive web applications using a combination of: * HTML (or XHTML) and Cascading Style Sheets for presenting information* Document Object Model, JavaScript to dynamically display and interact with the information presented* XML, XSLT and the XMLHttpRequest object to interchange and
(^1) Definition from www.glaserweb.com/glossary.php
manipulate data asynchronously with the web server (although AJAX applications can use other technologies ...^2
Client Side Scripting - generally refers to the class of computer programs on the web that are executed client-side , by the user's web browser, instead of server-side (on the web server).^3
Server Side Scripting – Is a web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic HTML pages. It is usually used to provide interactive web sites that interface to databases or other data stores.^4
The code of the system will be completely validated using W3 standards. The system will be programmed using a mix of web-based languages such as ASP. NET, HTML, and AJAX.
Currently an artist can sell their artwork to a gallery who then sells the art for the artist. The downfall to this system is that usually the gallery takes commission on each piece of artwork. The Boston-folio system cuts out the middleman and allows an artist to sell their work for what price they want without having to worry about paying commission.
Other current systems include many online web based applications for artists to create a portfolio of their artwork. These systems tend to lack functionality and flexibility in customization for their users. Also an artist can have a web-programmer create an individual site to display their work. This option usually costs a lot of money and tends to be suited for artists who have already made a name for themselves.
The system will use web pages to interface with the user. The page will be hosted on a Windows Server which will allow us to utilize the power of a server side scripting language like ASP.NET using C#. The middle tier will use ASP.NET Web Services; this
(^2) Definition from en.wikipedia.org/wiki/AJAX (^3) Definition from http://en.wikipedia.org/wiki/Client-side_scripting
(^4) Definition from http://en.wikipedia.org/wiki/Server-side_scripting
services remain closely tied to SQL server as the connection between the two is the greatest point in lag and web services do not use a great deal of system resources (mostly memory not CPU or disk).
All information with the exception images will be stored in SQL server. This will allow us to access all data through web services quickly and efficiently. For image storage the files will be stored in a public web folder and the file name will be stored in SQL server. When a request is made to look at an image the record will be looked up in the database and grab the filename, then return the location of the file name and asp will use that to load the image. This allows for greater portability, should we ever want to change database engines this will allow us to simply move text fields and not have to deal with image conversion from one database to another.
There are four levels or users; General User, Buyer, Artist, and Administrator. Each user has a greater level of control than the last. A General User has an anonymous
security level this will allow them to do things like register, search the site and view galleries. A buyer has a little more power as they have become a registered user and require a login to gain access. A buy can contact a seller and do everything a registered user can. An artist has all the abilities of a buyer but can also publish works for users to view. An administrator is a pre-set user for the site, a general user cannot register as an administrator another administrator only has the power to create upgrade a user to administrator rights. To keep the users registration information and login information protected the system will use 128bit SSL encryption over the internet. Information in the SQL database will be stored in plain text with the exception of the user’s password. This will be encrypted again so that even an administrator cannot view the user’s password.
Client ASP.NET Web Services Database
Request Web Page Request Login Auth SQL Query Return Query Return Login (T/F)
Request User's Information SQL Query Return Query Return Information
Return HTML Code
The data flow diagram models the flow of data through different aspects of the system. In this system all processes will be instigated from the user and be processed and stored into the database. The only output will occur will be in the form of a web page with some process results stored in the database.
The Boston Folio site’s class model displays various complex processes, one of which is the registered user login process. The inputs of the process are username and password, once it receives these it can access the user’s account information.
Read in the username Read in password
Variable int count; Do{ If ( username is equal to database username) { If ( password is equal to database password) { Retieve information; Load home page Set status to logged in; } else return error password incorrect count++; } Else Return error username doesn’t exit } while ( count is not equal to 5) if count equals 5 disable { display error account disables for 10 min
} These are the attributes that are retrieved: Username, Passwords, Email , Firstname, Lastname, Phone#, Address The user can edit this information
And these are the operations an artist or buyer can used ones logged in:
Each of the diagrams describes a function or component of the system. The sequence, data-flow, state, and class diagram all directly relate to the processes that the users initiate and are indicated in the output reports. Each of the diagrams is a keen representation of each of the scenarios that were identified as the probable situations for usage of the website. The data modeled in the database must also directly relate to the diagrams because it will need to hold the instances of the objects for later use.
This is a preview of what will happen in the next week or so, note that the project is behind schedule by a week.
PLANNING MEETING FOR THE IMPLEMENTATION PHASE 2/28/07 2 HOUR COST 8/HR 5 PEOPLE
CREATE/ IMPLEMENT SITE FRAMEWORK 3/1/07-3/6/07 8-16 HOURS COST 16/HR 2 PEOPLE
GROUP MEETING TO DISCUSS TEMPLATE DESIGN 3/1/07 3 HOURS COST 14/HR 5 PEOPLE
CODING SCRIPT FOR USING TEMPLATES TO CREATE ARTIST SITE 3/2/07-3/4/07 8 HRS COST 16/HR 2 PEOPLE
As stated before the project is currently a week behind schedule, the project is mainly behind in the database portion of the implementation. The database has been designed; however the tables have not been created for the database. This should not greatly affect the cost of the schedule since there is a little bit of padding at the end of the implementation in the project schedule. Beta testing will have to be cut short a bit, which may have slightly long-term effects.
Estimated Costs