Final Project High Level Description Spring 2017 PDF

Title Final Project High Level Description Spring 2017
Course Software Engineering
Institution San Francisco State University
Pages 3
File Size 141.7 KB
File Type PDF
Total Downloads 97
Total Views 127

Summary

Prof. D. Petkovic Lecture notes....


Description

Software Engineering (SE) Course CSC 648-848 Final Project: High Level Description Spring 2017 01/27/17

Prof. Dragutin Petkovic, Anthony John Souza, San Francisco State University

Introduction This document describes at a very high-level the software engineering (SE) class Final Project i.e. a WWW-based application that student teams will develop this semester. Each student team will design and develop its own version of the same web application which is described in this document only at very high level. Using only high level description is on purpose in order to engage students in the design starting from scratch. Student teams will use only class provided and instructor approved tools and libraries for their team's collaborative software development and application employment, which will be described in Milestone 0 and in the class. Final project organization polices and rules of participation, as well as grading rubrics are described in the class slides about final team project, posted on iLearn. The final team project carries 50% of the class grade. All team members get the same grade for the final project, except in extraordinary circumstances. Most student teams will be local. e.g. made of students from the same class. In Fall semesters, small number of volunteers might work in global teams with students from Fulda University, Germany. Student tams are chosen based on team placement survey in order to properly mix the skills and experience. Each team will have formal team lead and CTO (tech lead), both chosen with instructors input and student approval. Each team will communicate with instructors mainly via their team lead. Class instructors will serve also as CEOs (Petkovic), CTO (Souza) and customer advocates. Team leads and CTOs are encouraged to ask advice also from their peers from other teams in the class. Application to be developed: On-line buy/sell WWW site exclusively for SFSU students Functional specifications e.g. what functions and services are envisioned – NOTE: this is initial, vague and incomplete list just to get you started, it can change if we think it would lead to a better product: Two entrepreneurs, SFSU alumni, decided to create a start-up in a team of about 6 programmers to develop a web-based online service for allowing SFSU students to buy and sell their tings (e.g. when they are moving in or out). This application will be exclusive only to SFSU students verified by their e-mail. The application will at minimum allow SFSU students to a) browse, search and filter (by price, used/new for example) items for sale, and message to buyers/sellers; and b) post items for sale. Tool has to be provided so that site administrators are able to manage accounts and site content. Due to site security issues the communication between buyers and sellers will be only via messaging through the WWW site and not via e-mail. There will be no payment functionality either; this will be left for buyers and sellers to do on their own.

This start-up wants to ultimately win over the stiff competition that already exists in the marketplace. Therefore student teams are encouraged to think of some unique functions to make their site stand out, BUT they have to first make sure minimal functions as outlined above are provided for the application to be a viable business. In addition, the code has to be well organised and maintainable to allow this start-up to modify it for other customers. This WWW service must be very easy to use and must be created in such a way as to facilitate the application usage (e.g. be media rich). For this class, this application will focus on desktop/laptop browsers, and NOT on mobile browsers, e.g. customers will use the applications primarily via the web and using PC/laptops. Application will however have to be developed using responsive UI code so it renders well on mobile devices. The users of the system are assumed to have adequate Internet connection available today in most US homes. High-level non-functional specifications (HOW the app is delivered and other constraints) that MUST be adhered to 1. Application shall be developed using class provided LAMP stack 2. Application shall be developed using pre-approved set of SW development and collaborative tools provided in the class. Any other tools or frameworks must be be explicitly approved by Anthony Souza on a case by case basis. 3. Application shall be hosted and deployed on Amazon Web Services as specified in the class 4. Application shall be optimized for standard desktop/laptop browsers, and must render correctly on the two latest versions of all major browsers: Mozilla, Safari, Chrome. 5. Application shall have responsive UI code so it can be adequately rendered on mobile devices but no mobile native app is to be developed 6. Data shall be stored in the MySQL database on the class server in the team's account 7. Application shall be served from the team's account 8. No more than 50 concurrent users shall be accessing the application at any time 9. Privacy of users shall be protected and all privacy policies will be appropriately communicated to the users. 10. The language used shall be English. 11. Application shall be very easy to use and intuitive. No prior training shall be required to use the website. 12. Google analytics shall be added 13. Messaging between users shall be done only by class approved methods to avoid issues of security with e-mail services. 14. Pay functionality (how to pay for goods and services) shall not be implemented. 15. Site security: basic best practices shall be applied (as covered in the class) 16. Modern SE processes and practices shall be used as specified in the class, including collaborative and continuous SW development 17. The website shall prominently display the following text on all pages "SFSU Software Engineering Project, Spring 2017. For Demonstration Only". (Important so as to not confuse this with a real application). These non-functional specs are in real life usually provided by clients, CEO, business and legal departments and are NOT subject to change by engineering team on their own. Hence copy them in your milestone documents (and add details as necessary). You are not allowed to remove any of these requirements and must abide by them. The documentation and the application developed in this project can serve as a student portfolio suitable for interviews. Due to security problems in the past, we cannot keep these student projects running for a long time on Amazon. Therefore, within 2 weeks of the end of the semester, students are encouraged to redeploy their application to their own web server for portfolio purposes. We also encourage students to record the demo in video.

Data and Content The website has to be media rich in order to facilitate business and adoption of this service. However, since the projects will be posted for outside viewers, students must ensure that they have legal rights to use all posted content. Students are encouraged to make up their own content. Note that we will not check for the accuracy of content, e.g. the item names, descriptions, prices etc. can be arbitrary. However, you are encouraged provide sufficient content with proper licensing permissions (or use your own images) as to allow effective and exciting demos of your application. For example, make sure you have at least about 10 or so items in several categories such that you can effectively demo search and filtering functions. The content (e.g. images) itself has to abide by ethical principles and guidelines for on-line communications at SFSU. Teams must ensure no inappropriate material is presented on their site.

Have fun, ask lots of questions, and produce a great site! And, as you will learn in the class, always think of users first!...


Similar Free PDFs