关键词 > CSE445/598

CSE 445/598 Project 5 (Assignment 7, 50 Points) Summer 2023

发布时间:2023-05-31

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CSE 445/598 Project 5 (Assignment 7, 50 Points)

Summer 2023

Project Due: Saturday, July 1, 2023, 11:59pm (Arizona Time), Plus a one-day grace period

Project must be submitted into the Canvas site AND deployed into the WebStrar.

We will read code from your Canvas submission and test your code from WebStrar

Note:

This is the final assignment. There are no more assignments after this assignment. This assignment will not be included in the drop the lowest policy. This assignment score will be included in the final grade calculation, even if you get a zero score. One of the previous assignment scores will be dropped. The purpose of the last assignment is to make sure you are ready to put all together to develop real world project once you completed this course, which is important.

Introduction

The aim of this assignment is to make sure that you understand and are familiar with the concepts covered in the lectures, including the Web application architecture, components and structure, controls, and state management.

This  is  an  individual  assignment.  Each  student  must  complete  and  submit  independent  work.  No cooperation is allowed. You must use WebStrar to host your files, services, and application. The entire project must be submitted into the Canvas AND into the WebStrar server.

Practice Exercises (No submission required)

No submission is required for this part of exercises. However, doing these exercises can help you better understand the concepts and thus help you in quizzes or exams.

1.      Reading: Textbook Chapter 5 and Chapter 6 section 6.2.

2.      Do the multiple choice exercises in text for Chapter 5 and Chapter 6.

3.      What kinds of Web-based computing models exist? Where is the computation (client side or server side) done in each of the models?

4.      Explain how the files in ASP .Net Website application are organized in the application folder.

5.      Explain what types of files exist in an ASP .Net Website application and what the functions of each type file are.

6.      How do we create a user control, and how do we include the user control into a Web page?

7.      What is the most frequently used function of the Global.asax file?

8.      What kinds of state-saving mechanism exist, and what are the main features of each kind state-saving mechanism?

9.      What is the most general state variable in ASP .Net? What type of data can be stored in this kind of state variable?

10.    Compare  and  contrast  the  state  management  mechanisms:  View  State,  Cookie,  Session  State, Application State, and Caching variables.

11.    Discuss the relationship between the dependency and callback in the insert() method of Cache class.

12.    How are dynamic graphics generated and maintained in ASP .Net environment? Read text section 5.6.

13.    What is the execution model of ASP .Net application in the tightly managed Web server?

14.    Study for the questions 2 through 12 in text section 5.8, and study the questions 2 through 15 in text section 6.5. Make sure that you understand these questions and can briefly answer these questions. Study the material covered in these questions can help you prepare for the quiz and exam, and can help you understand the homework assignment.

15.    Having learned all the techniques that you need to build Web applications, now, you need develop your own Web application. Brainstorm among the team members and come up with your ideas of developing a sensible Web application. Ideally, this project solves a problem that you always wanted to solve, for example

•  Managing membership, finance, and activities of the club that you are an officer.

•  Managing your hobby collections: When was each item purchased, price, current value.

•  Loyalty center: allow businesses to check loyalty of a costumer based on buying history and habit;

•  Developing a Web testing tool: analyzes a Web page at a given URL and calls the links in the page to discover broken links;

•  An online store with recommendation list, like Amazon, eBay, etc.,

•  A mobile application to manage your shopping list and best places to buy, taking into account time, driving distances, and cost.

•  Combine this project with your other course projects. In this case, you need to clearly state what part is submitted for this course, and what part is submitted for another course.

Project Description (Submission Required)

This project is an individual project, and it is an open-ended type of project. Each student must perform and submit independent and unique work based on project requirements.

In this project, you will develop a service-oriented Web application with access control. The application must simulate a realistic application for the end users. The architecture is shown in the following figure. 

 

The system must be implemented as a Website application and must be deployed to the given Web server. Project 5 can be a continuation of Project 3, and you can use the architecture and services in project 3. You may choose to implement a different application and/or develop different services. The code must be well commented. The application implemented must meet the following organizational, architectural, and functional requirements. The composed Website must have at least the following layers of components.

1     Presentation/GUI layer, consisting of ASPX pages and server controls, which allow users to interact with the application. The application must have at least these four ASPX pages:              [10 points]

a. Public page. In this page, you must introduce clearly what application the system offers, how end users can sign up for the services, how the users (TA) can test this application and the required test cases/inputs. All the components and services used in the application must be listed in a Service Directory”, similar to the one that you created in Project 3. The directory must include provider name (member who is responsible for the component), type (Web service, DLL function, user control, etc.), operation name, parameters and types, return type, function description, and link to TryIt page. You can combine the TryIt pages into your application logic.

b. Member page: In this page, you must introduce clearly what application and functions the system offers. Users can register (self-subscribe) to obtain the access to this page. It is optional to use an image verifier when a user registers to the site. You must create access control component and store the credentials in an XML file.

c. Two staffpages: These two pages must have authentication and authorization access control. Some staff members can access one page, and other staff members can access the other page. The user ID and password must be stored in an XML file. You are not allowed to use the built-in account management in order to exercise XML manipulation learned in Chapter 4.

d. In  addition to  submit the code that  implements this  question, you must  submit the  Service Directory that lists all your components, so that we can test your components. The page must have a TryIt function for each component that you developed. If a component is implicitly used and is not visible/testable from your integrated GUI, you must add a test page (a few controls in a page) to make it testable.

2     Local component layer. This layer consists ofthe following two types ofcomponents. You can choose to implement one of the types:            [10 points]

a. User control, use it to implement a sensible function of your choice.

b. DLL class library modules, to implement at least the hashing or encryption/decryption functions.

You must implement at least one of the components. You may choose more components or more types of components in order to implement your business (application) logic.

3     Remote service layer. This layer consists of at least one sensible Web service developed by you and one service discovered from a public repository (this service can be from the ASU repository). Self- developed services must be deployed into WebStrar.

It is the developers’ (your) responsibility to make sure that the services are available and reliable

when the TAs test and grade the assignment.                                   [10 points]

4     Data management layer consists of both temporary states (session state and/or cache) and permanent states (XML file).                                 [10 points]

a. Permanent state (XML file) for storing the user names and passwords of self-subscribed users.

b. Permanent states (XML file) for storing staff user ID, password, and role for authentication and authorization.

c. Cookie for storing user profile and Session state for storing temporary states for sharing among the sessions

You must implement at least two of the items in the list above.

5     Deploy all the components into the WebStrar server for testing. If your application is not deployed into WebStrar, but running on localhost, you will not have this 10 points.                          [10 points]

6     Submit complete code (Solution) into Canvas for grading (code reading). If your application is deployed into WebStrar, but not submitted into Canvas, you will still receive zero grade for the entire assignment.

Submission Summary

You submit the following work (answers to all questions) into the Canvas submission site AND deploy all work into the WebStrar. We will read code from your Canvas submission and test your code from WebStrar.

Question 1: You must submit the Service Directory that lists all your components, so that we can test your components. The page must have a TryIt function for each component that you developed. If a component is implicitly used and is not visible/testable from your integrated GUI, you must add a test page to make it testable. You must include the code into the Solution that you submit.

Question 2: You must include the local components that you have developed into the Solution that you submit.

Question 3: You must link the Web service that you have developed, or that you have discovered into the Solution that you submit.

Question 4: You must include the state management component that you have developed into the Solution that you submit.

Question 5: Deployment. All code must be deployed into WebStrar. If your code is running on localhost only, you will not receive the deployment points.

Question 6: Submit the entire Solution into Canvas for grading (code reading). If no submission in the Canvas, your assignment will not be graded, and you will receive 0 grade.

Submission Requirement

All submissions must be electronically submitted to the assignment folder where you downloaded the assignment paper. All files must be zipped into a single file.

Canvas submission notice: The assignment consists of multiple distributed projects and components. They may be stored in different locations on your computer when you create them. You must copy these projects into a single folder for Canvas submission. To make sure that you have all the files included in the zip file and they work together, you must test them before submission. You must also download your own submission from the Canvas. Unzip the file on a different location or machine, and test your assignment and see if you can run the solution in a different location, because the TA will test your application on a different machine.

Grading and Rubrics

Each sub-question (programming tasks) has been assigned certain points. We will grade your programs following these steps:

(1) Compile the code. If it does not compile, 50% of the points given for the code under compilation will be deducted. Then, we will read the code and give points between 50% and 0, as shown in right part ofthe rubric table.

(2) If the code passes the compilation, we will execute and test the code using test cases. We will assign points based on the left part of the rubric table.

In both cases (passing compilation and failed compilation), we will read your program and give points based on the points allocated to each sub-question, the readability of your code (organization of the code and comments), logic, inclusion of the required functions, and correctness of the implementations of each function.

Please notice that we will not debug your program to figure out how big or how small the error is. You may lose 50% of your points for a small error such missing a comma or a space!

We will apply the following rubrics to each sub-question listed in the assignment. Assume that points assigned to a sub-question is pts:

Rubric Table

Compile

Code passed compilation

Code failed compilation

 

Points

pts * 100%

pts * 90%

pts * 80%

pts *

70% -

60%

pts * 50% or 40%

pts * 30% or 10%

0 or 1 point

For each sub-       question

Meeting all   requirements, well               commented,  and working  correctly in   all test cases

Working    correctly in all test        cases.         Comments not             provided to explain      what each  part of       code does.

Working   with minor problem,   such as not writing      comments, code not

Working in most  test         cases,     but with major     problem, such as   the code fail a      common test case

Failed

compilation or not          working      correctly,    but              showing     serious        effort in      addressing  the              problem.

Failed to  compile,  showing  some       effort, but the code  does not  implemen t the         required   work.

0 points if no submission

1 point if     submitted    files that do not answer  any              questions     required, for example,     the files are empty,         cannot be    open, wrong files, etc.

working certain

in

uncommon boundary   conditions.

Late submission deduction policy:

•   No penalty for late submissions that are received within 24 hours of the given deadline;

•   2% grade deduction for every hour after the first 24 hours! No submission after Monday.