EssayGhost Assignment代写,Essay代写,网课代修,Quiz代考

EssayGhost-Essay代写,作业代写,网课代修代上,cs代写代考

一站式网课代修,论文代写

高质量的Assignment代写、Paper代写、Report代写服务

EG1hao
网课代修代上,cs代写代考
Java代写
您的位置: 主页 > 编程案例 > Java代写 >
代写Java:CSE 216: Software Engineering Programming Assignment - Java代写
发布时间:2021-07-25 20:51:51浏览次数:
CSE 216: Software Engineering Programming Assignment #1Instructor: Prof. Liang Cheng Assigned: 9/11/18TA/Project Mentor: Dylan Gray, Connor Deppert, Kelli Frank, Charles Inwald, Alex SchulerAll Tasks Due: 9/24/18代写java作业Problem Statement Your initial experiments went well, and you’ve given your response to management. You’re all in. Now it’s time to forge a team and start designing and building software.You decide to use an agile process. Along with four like-minded coworkers, you decide to allot two weeks for your first sprint. Remember: time is of the essence, because the company needs a secure place for professional social interaction.Employees from across the globe want to be able to share ideas, vote on proposals, and make sure NakedMoleRat is a success. At the end of the sprint, you plan to actively engage employees as users of the system, so that you can refine your design and flesh out more details in preparation for future sprints.The goal is to start small a cloud-hosted web system, plus an Android app, so that employees can post short messages, and other employees can up-vote and down-vote. But you know this is going to get big real big  so it would be good to do things right the first time, and anticipate the growing pains that you’re sure to encounter once everyone realizes that you’ve invented the next big thing.The excitement is palpable. There’s so much energy on the team, it feels like the room is buzzing with excitement. To kick off the project, you suggest a name “let’s call our new social app ’The Buzz’ ”Deliverables This project will be collected by checking out your team’s git repository, so be sure to check in your code often, and to follow the rules for the project. In particular, your team should obey the rules about who works on which parts of the project. You should be trying to work as an effective team, not just trying to finish each task.To that end, there should be a master branch, which is only updated four times during this phase of the project. Each of the four programmers (web, back end, android, admin) should work in a separate branch, and the project manager will merge each branch into the main branch only after completing a code review (see below).The Project Manager First and foremost, the project manager must launch the phase 1 backend code onto Heroku. Heroku provides free HTTPS, free database (albeit only a small amount), and up to 700 hours of server time per month for free. Plus, it’s a Platform as a Service, so there’s no server maintenance or security upgrades.Normally, the program manager wouldn’t be taking on a job like this, but it’s got to get done, and everyone else is going to be racing to get their parts of the project in order.The project manager will need to figure out how to deploy the server to the Heroku. There’s a lot to the “Ops” side of “DevOps”, and exploring Heroku will help you to gain an appreciation for it. Tutorial 8 [1] only scratches the surface be sure to document everything you learn, so that your teammates can take on this role in future phases of the project.Note that this task needs to happen early, because it will affect everything that your teammates do.You should also submit documentation for the user interface for your app. The UI should be as similar as possible for the web and Android versions.The project manager, in consultation with the back end and web developers, should devise a strategy for how two programmers can build their components simultaneously, when they depend on each other. Note that it is possible to do most of the development of both components independently. However, some approaches have more redundancy and worse integration costs than others.The project manager must also perform a code review of each team member’s code. The project manager should sit with the programmer, and review every line, checking for correctness, comments, etc. This cannot be done until after all tests pass, of course. It should end with the programmer’s branch being merged into the main code base, by the project manager.The project manager is expected to use Trello to track the state of the project at all times, and to document the tasks that comprise this sprint.The project manager will also be responsible for preparing a document (we will provide a template) that describes the state of the project. This will allow us to assess each team member’s contribution, and to assign grades accordingly.Lastly, the project manager must ensure that the standards for documentation are being met. This will include, for example, ensuring that the source code results in proper JavaDocs, and that there is a README in the root of the repository that provides all of the necessary information to use “The Buzz”, as well as all information about its APIs.The Back End The student who assumes the role of Back-End Developer for this task will use the Java Spark Framework [2] to create a dynamic web server. Based on the design from class, the server will provide several “routes”, through which users can “POST” new messages by sending JSON, and “like” messages, again by sending JSON. The server will return a list of messages, along with a count of “likes”, as JSON. The server must return proper HTTP status codes.The back-end programmer will be persisting the results of the HTTP requests to a PostgreSQL database. The server must read its configuration (at least the port on which to listen, and the reference to the database) from environment variables. Heroku will give you the variables you need for using  PostgreSQL.The back end developer must also produce unit tests that are appropriate for ensuring the correctness of the back end. Remember: the back end will change in the next phase: things that shouldn’t break as the back end is extended should have tests that accompany them.Note: If you have never used JSON before, you will need to learn its role. JSON is a standard used in all sorts of application domains. You should also be sure to understand the conventions in a REST API, and the differences between GET and POST.The Android App Once the server is online, the Android app can begin interacting with it. The app must show a list of messages, allow the user to create messages, and allow the user to “like” messages. Your app should be backward compatible to v21 (Android 5.0 Lollipop, SDK level 21). You are allowed to lock the screen in portrait mode. Be sure to use Volley [3] and RecyclerView [4].The Android developer must also produce Espresso tests for both the logic and the UI of the Android app. The Web Developer Your team’s web developer will create a basic web application that performs GET and POST requests to the server, in order to show a list of messages, allow the creation of new messages, and allow a user to “like” messages. Just the Android app, the web app must be “live”, and interact directly with the back end. You should implement your program as a “single-page web app”, where the back end is as uncoupled from the web front end as possible. It is OK to rely on the back end for serving static content, but the only dynamic content it serves should be JSON, never HTML.The Web Developer should work with the Project Manager to develop a reasonable workflow for building the web source (starting from the ideas behind “deploy.sh” in Phase 0). The process by which team members can deploy the web code must be straightforward and clean. The web front end sources should not be checked into the back-end’s folder hierarchy.Note: the web front end should also use Handlebars [5] for templating, and Bootstrap [6] for styling. The Android and Web front-ends should be as similar as possible.The web developer must also produce Jasmine tests for both the logic and the UI of the web front end.

所有的编程代写范围:essayghost为美国、加拿大、英国、澳洲的留学生提供C语言代写、代写C语言、C语言代做、代做C语言、数据库代写、代写数据库、数据库代做、代做数据库、Web作业代写、代写Web作业、Web作业代做、代做Web作业、Java代写、代写Java、Java代做、代做Java、Python代写、代写Python、Python代做、代做Python、C/C++代写、代写C/C++、C/C++代做、代做C/C++、数据结构代写、代写数据结构、数据结构代做、代做数据结构等留学生编程作业代写服务。