Java Projects EECS 3311 | Projects代写,Java代写,程序代做

软件设计是一门技术课程,因此你将在学习中学习应用数学建模和逻辑推理。该课程使你准备好为私营企业和公共部门的终端用户进行特定应用的软件开发工作。学习软件设计,有一些思路可以分享给同学们。

How to Learn Software Design-如何学习软件设计?

第一阶段:简洁的代码

创建持久的软件的第一步是弄清楚如何写出简洁的代码。

简介的代码是容易理解和改变的代码。在低层次上,这体现在一些设计上的选择上,比如:

  • 保持一致
  • 倾向于使用有意义的变量、方法和类名,而不是写注释
  • 确保代码的缩进和间距正确
  • 确保所有的测试都能运行
  • 编写没有副作用的纯函数
  • 不传递空值

第二阶段:编程范式

现在我们正在编写易于维护的可读代码,最好能真正理解3种主要的编程范式以及它们影响我们编写代码的方式。

  • 面向对象的编程是最适合定义我们如何用多义性和插件跨越架构边界的工具
  • 功能性编程是我们用来将数据推到我们的应用程序的边界的工具
  • 而结构化编程是我们用来编写算法的工具

第三阶段:面向对象的编程

了解每一种范式的工作方式以及它们如何敦促你在其中构建代码是很重要的,但就架构而言,面向对象编程是明确的工具。

面向对象的编程不仅使我们能够创建一个插件架构,并在我们的项目中建立灵活性;面向对象的编程带有4个原则(封装、继承、多义性和抽象),帮助我们创建丰富的领域模型。

第四阶段:设计原则

你应该熟悉的常见设计原则的一些例子是:

  • 继承之上的组合
  • 把不同的东西封装起来
  • 针对抽象的东西编程,而不是具体的东西
  • 好莱坞原则:”不要给我们打电话,我们会给你打电话”
  • SOLID原则,特别是单一责任原则
  • DRY (Do Not Repeat Yourself)
  • YAGNI (You Aren’t Gonna Need It)

 

第五阶段:设计模式

几乎所有的软件问题都已经被归类并解决了。我们称这些模式为:设计模式,实际上。设计模式有3类:创造型、结构型和行为型。

第六阶段:架构原则

我们在高层和低层组件之间组织和建立关系的决定,将对我们项目的可维护性、灵活性和可测试性产生重大影响。
学习指导原则,帮助你建立你的代码库所需要的灵活性,以便能够对新的功能和需求作出反应,并尽可能地减少工作量。

第七阶段:架构风格

它是关于确定一个系统需要什么才能成功,然后通过选择最适合要求的架构来增加成功的机会。

第八阶:架构模式

架构模式在战术上更详细地解释了如何实际实现这些架构风格中的一种。

第九阶段:企业模式

在模型(M)中,我们在哪里处理这些事情?

  • 验证逻辑
  • 不变规则
  • 领域事件
  • 用例
  • 复杂的查询
  • 和业务逻辑

下面是一个软件设计的编程代做案例:

Problem Description

In this project, you are expected to implement a software system for the project we introduced in the Midterm exam.
Background: The SmartShoppers system is an online system that allows customers to find products in the physical retail stores with a greater precision. The main goal of the software system is to provide the customers with a faster and smooth shopping experience in store. SmartShoppers would allow customers to find the products that are available in a specific store and its location in the store. This product will have many benefits to the customer and the SmartShoppers Inc. The customer will have financial benefits as they are able to save money by being provided all the on-sale items. The customer also is able to find recommended products which they might not have had a chance to find in store. The customer saves time shopping because they know the exact locations of the products which they would like to purchase. ShoppersLand Inc. would benefit financially as they will sell more products because of the SmartShoppers online system. ShoppersLand’s employees would also be able to work efficiently as they will be asked fewer questions by the customers regarding the products

Getting Started

There is no template for the course project. You should create your own Eclipse project named EECS3311- project.

• You can use maven or gradle2 to maintain the libraries and dependencies of your project.
You are suggested to follow MVC3 model (i.e., Model–view–controller) to separate meta models, business logic, and GUI components during developing the project.

• Your project must be a Java GUI project.

You Tasks

4.1 Implement the System

You are expected to develop valid implementations and meet all the listed requirements in the software requirement specification document.

• You can design and implement your system with any design patterns that are applicable.
Your system should have basic Java GUI interfaces. You can use any third-party GUI libraries in your project. Database is not required, you can use text files (or csv file) to mimic the database. Good GUI implemen- tation will get 5 bonus points.

• You can design and implement your system with any design patterns that are applicable.
Your system should have basic Java GUI interfaces. You can use any third-party GUI libraries in your project. Database is not required, you can use text files (or csv file) to mimic the database. Good GUI implemen- tation will get 5 bonus points. You could make any assumption for any requirement (scenario, business logic, etc), while your assumptions should be reasonable and justified in your report.

4.2 Write Test Cases to Test Your Project

You are required to add as many tests as you judge necessary to test the correctness of your implementation.

You must add at least 2 test cases for each requirement, and all of them must pass. (In fact, you should write as many as you think is necessary.) Let’s skip the GUI related classes when writing tests.
You will be assessed by the quality of your tests via the code coverage. For the non-GUI classes, the average code coverage should be larger than 80% (i.e., after executing your test cases, more than 80% code should be covered). You can use JaCoCo4 to measure the code coverage of your test cases. JaCoCo has an Eclipse plugin which is available in the Eclipse Marketplace.

4.3 Project Report

The latest class diagrams for your implementation (https://app.diagrams.net/); You must also include the draw.io XML source file of your class diagram and its exported PDF in the docs directory when you make your electronic submission.
• During the implementation of the project, what are the problems in your initial design from Midterm?
Please comment the difference between the class diagrams of your final implementation and the initial design in the midterm.
• At most 10 pages (A4, double spaces, font size: 11pt).

4.4 Project Demo

Please shoot a 5-mins demo video of your project, in which you can show how a user or admin can use your software with the developed features.

.

contact

Assignment Exmaple

Recent Case

Service Scope

C|C++|Java|Python|Matlab|Android|Jsp|Prolo
g|MIPS|Haskell|R|Linux|C#|PHP|SQL|.Net|Hand
oop|Processing|JS|Ruby|Scala|Rust|Data Mining|数据库|Oracle|Mysql|Sqlite|IOS|Data Mining|网络编程|多线程编程|Linux编程操作系统|计算机网络|留学生|编程|程序|代写|加急|个人代写|作业代写|Assignment

Wechat:maxxuezhang

wechat