CSCI 370

Queens College, CUNY, Department of Computer Science
Software Engineering
CSCI 370
Spring 2019

c Sateesh R. Mane 2019
Project 2
graded in class after Spring Break 2019
zip archive due May 18, 2019
Any student who submits Assignment 7 late will receive a grade cap of D for
Project 2.
All students work individually for this project, there are no teams.
Your project will be graded based on your demo in class.
1. You are permitted to submit repeat demos, until the last lecture.
2. Students who present a demo for the first time receive priority over students who wish
to submit a repeat demo.
3. The date of your final demo will be recorded.
4. Students who present their final demo early will receive a higher grade.
5. If there is a pile-up of students at the end and not enough time to review your work in
detail, you will receive a lower grade.
You are also required to submit a zip archive after you present your final demo in class.
1. Your grade will be capped at C if you do not submit a zip archive of your work.
2. Submit your solution in a zip archive with the following name.
StudentId_first_last_CS370_project2_Spring2019.zip
3. Your project zip archive must contain the following:
(a) A cover document explaining what you have done.
(b) Screen shots of relevant pages (GUI, HTML, etc.).
(c) Your program source code (contact me if you use Javascript files).
NOTE: It is the policy of the Computer Science Department to issue a failing
grade to any student who either gives or receives help on any test.
CSCI 370作业代做、Software Engineering作业代写
1 General comment
The basic theme of this project is that it is about something you see all around you.
The purpose of Assignment 7 was to demonstrate that you have all submitted practical
working examples of online restaurant menus.
You have working examples of commercial software to use as a guide/template for what the
end product of your work should look like.
Bear in mind (see Assignment 7) that the user only sees the web pages of the
restaurants and menus.
The underlying implementation details do not matter.
Hence the choice of programming language and database, etc. is up to you.
As long as I can run your application on my computer.
2
2 Timetable
The proposed due date is at the end of the semester.
The plan is that after Spring Break, all lectures will be used for student demos.
A demo in class will not count as a final submission.
I will look at student demos in class and give comments and feedback.
However, I will not check and debug student source code: that is your responsibility.
You can present demos more than once.
However, a student who is presenting a demo for the first time will receive priority over
students who are presenting demos for the second, third, etc. time.
The available time to view each student demo is limited, hence prepare your questions/presentation
ahead of time and do not fumble and waste time during your demo.
3
3 Programming language/GUI
My default visualization is Java and GUIs, but this is not mandatory.
Javascript, HTML, C#, etc. are all acceptable.
Your cover document must include instructions how to run your application.
A GUI is not mandatory: you can create webpages and hyperlinks to those pages.
You must submit instructions (in your cover document) how to run your code.
It will help a lot if you give a demo in class and show me how to run your application.
GUI and/or multiple popups:
1. My default visualization is that I see only one GUI/web page at any one time.
2. To navigate, there should be a ‘back’ button (or arrow) to go back to higher-level
GUIs/pages.
3. However, this is not mandatory.
4. If your application supports multiple popups/web pages, then you must manage state
information. For example, if I display a menu of a restaurant and then I go to the
administrator page and edit the menu of that restaurant, what will happen?
Will there be out of date data on the popup menu?
How will you deal with this scenario?
4
4 Database/text files
The use of a database is not mandatory.
You may employ text files.
Whichever design you employ, it must support persistence across invocations.
If you use text files, they should be encrypted in some way (hash map/table?), so that I
cannot edit the text file directly and change the data in the file.
The administrator interface must be the only way to add/delete/modify data.
5
5 Address
The address is an (i, j) integer pair, where 0 ≤ i ≤ 100 and 0 ≤ j ≤ 100.
There is no need to invent street names, etc.
A customer enters his/her location as an (i, j) integer pair in the relevant GUI/web page.
It is your responsibility to write a sort function to resolve ties and display items In a consistent
order.
Your code should not throw an exception or crash, etc. If you cannot figure this much out for yourself, do not complain if you fail the project.
6
6 Restaurants
The term ‘restaurant’ is used in a loose sense.
I have explained that franchises, bars, pastry shops, etc. are all acceptable.
Your project should contain 10 restaurants (with the above broad definition).
1. Create fake names for all restaurants, to avoid trademark violations.
2. Hence by definition they will be different from the ones you submitted in Assignment 7.
3. All names must be written using the English alphabet.
4. However the names can contain non-English words, e.g. ‘Giovanni’ or ‘Haji Baba’ etc.
Franchise:
1. There must be two franchises with the same name but different addresses.
2. They must have the same menu in the database.
3. If the menu is updated, the same updates must display for both franchises.
4. I will add a third franchise location using the administrator page.
5. You must supply instructions how to connect the third franchise to the menu of the
others.
Opening hours:
1. There must be at least one 24/7 late-nite diner, open at all hours.
2. There must be at least one restaurant which is closed on Monday (or another weekday).
3. Each restaurant must display its opening hours (later hours on Friday & weekend?).
4. Use a 12 hour clock (i.e. am/pm hours) for the opening hours, not a 24 hour clock.
? There must be at least one restaurant which has multiple menus.
1. For example breakfast/lunch/dinner and/or kids menu.
2. For example appetizer/entree/desserts/drinks menu.
3. The menus could be in different GUIs/web pages, or one long GUI/webpage with a scroll
bar.
There is no need to display ‘special deals’ for holidays, etc.
7
7 Menus
The layout of the menu on the screen is up to you.
The layout could be either single-column or multi-column.
The menu should be easy to read, but there is no need for fancy formatting.
All menu items must be written in English.
? The choice of text and background colors is up to you, again do not get too fancy.
? It is acceptable if all the menus have the same layout template.
? There must be a few menu items which display multiple prices.
1. For example small/large size for soup cup/bowl or coffee/drinks.
2. For example ‘combo/burger only’ with different prices for the combo or only the burger.
? The prices of all items should be listed to a maximum of 2 decimal places.
? Optional:
1. It is optional to include icons for healthy/spicy/lo-cal, etc.
2. It is optional to include details in small print, e.g. ‘includes choice of soup or salad’ or
‘choice of fried or steamed’ etc.
? Do not insert photographs/images of food and/or the restaurant rooms, etc.
It could cause copyright violations.
8
8 Customer
? A customer can select restaurants sorted by name or else by distance from the customer’s
location.
? It was explained above that you must design a suitable sort function to display items without
throwing an exception, etc.
? The display of restaurants must show each restaurant’s name and address and a link to
navigate to that restaurant.
? When a customer clicks on a link for a restaurant, the application should navigate to the
GUI/web page of that restaurant.
? The restaurant GUI/web page should display the opening hours and the menu, or a link to
easily navigate to the menu.
? It was explained above that some restaurants must have multiple menus.
? It should be easy (for me) to navigate to each menu.
? All GUIs/web pages accessed by a customer should be read-only.
? A customer does not have permission to change any data.
? A customer does not require a password to use your application.
9
9 Administrator
? Only the administrator has permission to add/delete/modify data for the restaurants.
? The administrator GUI/web page must be password protected.
? This is admittedly rather useless, because we are the only people running the application.
? Nevertheless, you must demonstrate you know how to implement password protection.
1. Your cover document must include the administrator name and password.
2. The admininistrator name and password can be ‘admin’ and ‘admin’ (why not?).
? After logging in, there can be more than one admisintrator GUI/web page, if you find it more
convenient to implement the administrator functionality in multiple GUIs/web pages.
? Administrator functionality:
1. Add a new restaurant. The primary key is (name, address). An error message should
be displayed if an attempt is made to save a primary key which already exists.
2. Add/modify the opening hours of a restaurant. An error message should be displayed if
an attempt is made to save a new restaurant without setting its opening hours. (However,
the opening hours are not part of the primary key: many restaurants have the same
opening hours.) The opening hours of a restaurant can be modified but cannot be
deleted (a restaurant cannot have zero opening hours). The opening hours should use a
12 hour clock (i.e. am/pm hours, do not use a 24 hour clock).
3. Add/delete/modify menu items for a restaurant. This includes creating a new menu,
when creating a new restaurant. This also includes creating multiple menus for a new
restaurant (breakfast/lunch/etc and/or appetizer/entree/drinks etc.). An error message
should be displayed if an attempt is made to save a new restaurant without creating
a menu for the restaurant (minimum one item in menu). An error message should be
displayed if an attempt is made to delete all the items in a restaurant’s menu. There
must be a minimum of one item in the menu.
4. The prices of all menu items can be set to a maximum of 2 decimal places.
5. If a new franchise location is created, connect the menu to that of other franchise locations
which already exist.
6. Delete a restaurant which has closed/gone out of business.

因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected]

微信:codinghelp

原文地址:https://www.cnblogs.com/blogy/p/10853324.html

时间: 2024-11-09 16:08:18

CSCI 370的相关文章

370 门免费编程与计算机科学在线课程

简评:这篇文章为大家整理出 370 门精选的免费高质量编程计算机科学类的课程(涵盖程序语言.人工智能.深度学习与机器学习等热门话题).这370 门课程是从 Class Central数据库里面的 7000 门课程挑选出来的,每个课程的 Rating(评价)也是由该网站上获取下来的平均值. 370 门课程里面根据难易程度被分为: 入门 中级 进阶 所收录的大部分教程都已经更新完毕了,你可以按照自己的节奏(Self Paced)随时观看学习,有小部分教程还在持续更新至中,当然了,它们全都是免费的!

Codeforces Round #370 - #379 (Div. 2)

题意: 思路: Codeforces Round #370 A - Memory and Crow 题意:有一个序列,然后对每一个进行ai?=?bi?-?bi?+?1?+?bi?+?2?-?bi?+?3.... 的操作,最后得到了a 序列,给定 a 序列,求原序列. 思路:水. 1 #include <set> 2 #include <map> 3 #include <stack> 4 #include <queue> 5 #include <cstd

人生的诗&middot;370~374节

370.  古意 往去的年华是旧日的梦 疏朗地躺在午后的阳光里 可总有那一群人 不畏于烈日的炎炎 不沉于悠晃的迷迷 呐喊着,奔走着 只为了那一缕清凉的风 371.  小舟从此逝 驾一叶小舟,往逝在江河深处 从此后 天地悠悠,唯白云而伴 从此后 人世惶惶 唯明月相随 那样的境界是我一生所往 纵千转百折,也必达己愿 372.  远行 从那一天起, 我便知道你要去一个很远的地方 那是你的天堂 却不允我候你片刻 可那又怎样 便是万水千山 只要你心里欢喜 我更会比你欢喜千百万倍 373.  同归 陌上花开

NYOJ 370 波动序列

收到自己买的STM32F103ZE为主芯片的开发板,标志着我正式进入实践阶段,之前看了不少ARM的资料,都是零零散散的,也没有什么系统的总结,总觉得找到真正的感觉,就下决心买开发板,至于为什么选择STM32,很简单,适合自己.好了,废话少说,以下是我今天收到开发板后的学习总结. 由于还不清楚什么如何运作,就按照提供的资料的视频一步一步做: 第1步:上电检测开发板是否正常. 第2步:安装驱动和软件. 驱动:JLINK驱动---用于仿真调试用. CH340驱动(USB串口驱动)-----用于开发板与

CSCI 2121: Computer Organization Assembly Language

CSCI 2121: Computer Organization andAssembly LanguageLab 5Design Sequential Circuits in Verilog IIIFebruary 27, 20191 Learning Objectives In this lab, you will use what we have learned about sequential circuits to implement differenttypes of shift re

CSCI 2132: Software Development

Assignment 6CSCI 2132: Software DevelopmentDue April 1, 2019Assignments are due on the due date before 23:59. All assignments must be submitted electronically via the course SVNserver. Plagiarism in assignment answers will not be tolerated. By submit

CSCI 3130, Summer 2019

CSCI 3130, Summer 2019Assignment 2: Test-Driven Development (JUnit)1. Use Test-Driven Development to implement a password strength validator.Remember:- write a JUnit test first before implementing anything new (commit the tests)- make small changes t

CSCI 3100 Unix and C

Your name:S number: Homework 3CSCI 3100 Unix and CNovember 4, 20191 Process and thread handling.How to submit?(a) Zip your source codes and a screenshot (cellphone pictures are OK) for each programmingproblem. Make sure to name your file in the forma

CSCI 1100 Computer Science

CSCI 1100 — Computer Science 1 Homework 8Bears, Berries and Tourists Redux: ClassesOverviewThis homework is worth 100 points toward your overall homework grade, and is due Wednesday,December 11, 2019 at 11:59:59 pm. It has three parts. The first two