《ABCD组》实验十一 团队作业7:团队项目设计完善&编码

项目 内容
这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/
这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/10980707.html
团队名称 ABCD组
作业学习目标 对项目进行下部分内容

github地址:https://github.com/abcdyqmz/-

已完成代码的文件名为:Automobile Price Prediction System.rar

一、团队软件项目设计完善:

1.抽象

在定义一个类的时候,实际上就是把一类事物的公有的属性和行为提取出来,形成一个物理模型,这种研究问题的方法称为抽象。
接口和抽象类实际就是抽象的体现,以系统的用户类为例,定义了用户注册、查询等接口,在后期如果用户有新的需求,可以进行扩充。,抽象类体现了数据抽象的思想,是实现多态的一种机制。它定义了一组抽象的方法,至于这组抽象方法的具体表现形式有派生类来实现。同时抽象类提供了继承的概念,它的出发点就是为了继承,否则它没有存在的任何意义。

2.强内聚/弱耦合/模块化

1.内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求强内聚,弱耦合。

2.模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。
在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。

3.信息隐藏和封装

可以把封装和信息隐藏视为同一个概念的两种表述。信息隐藏是目的,封装是达到这个目的的技术。
封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。要想访问封装过的对象中的数据,只有使用已定义的操作这一种办法。通过封装可以强制实施信息隐藏。许多面向对象语言都使用关键字来说明某些方法和属性应被隐藏。但在JavaScript中没有这样的关键字,我们将使用闭包的概念来创建只允许从对象内部访问的方法和属性。这比使用关键字的办法更复杂。

4.界面和实现的分离

界面来接受用户所输入的数据,根据用户的需求,在实现模块来处理用户所输入的数据,然后在将根据用户需求得到的数据输出到用户界面上。

5.错误情况的处理

在代码编写过程中难免会出现很多的错误,这是开发过程中无法避免的,在我们代码编写过程中存在最多的错误便是代码重用上出现的错误,出现较为频繁的错误便是重用了代码,但是在没用在项目中添加相应的jar包,我们是通过出现的报错情况,然后百度出现错误的情况,通过百度上前辈们对这个错误的处理情况来进行我们处理我们出现的错误的。

6.运行环境

JDK:1.6

Tomcat:8.5

编程软件:eclipse 10

数据库:mysql

7.重用情况

在此次系统设计中,目前主要的代码重用是在对登录界面中的代码重用,在网上有很多做的精美的登录界面,我们组队这些登录界面进行了严格的挑选,选出一个适合我们系统的登录界面,对里面的相关代码进行了重用。

二、团队分工及燃尽图

1.分工:

成员

任务

占比

时间

朱石景

编码

25%

10小时

马玉琴

寻找可重用代码、以及编写文档

25%

10小时

邱世妍

编码、画燃尽图

25%

10小时

姚良

编码、编写任务书

25%

10小时

2.燃尽图

3.实施作业照片

三、总结

实验进行到了现在,便是到了最后的代码实现阶段了,对我们这些基础差的人来说是最难的一步了,前面的阶段,通过百度还有平时上课的积累,总是能够比较轻松的完成作业,但是想要能够轻松的完成一个项目的代码的编写,是非常需要一些底子的,但是我们虽然在以前专科学校对编程多多少少有一些了解,但是我们基础并不是太好,而且这次的我们团队项目可以说是一项比较大的挑战了,对二手车价格的预测,以前没有接触过预测方面的算法,而且在百度上寻找相关的项目,想要对项目的代码进行借鉴时,发现相关项目少得可怜,基本没有相关的系统能够供我们来借鉴,所以我想,在剩下的几周时间里,我们可能需要更加努力的去寻找这方面相关的知识,去根据寻找到的知识来帮助我们组来完成此次的系统设计。

最新文章

  1. HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容
  2. struts下ajax提交与页面进行提示 返回值为null
  3. javascript实现图片滚动
  4. Firebug在Firefox DevTools 中复活
  5. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
  6. U3D UGUI学习5 - Layout和文字适配
  7. Matlab中mat2cell的使用
  8. Binder机制1---Binder原理介绍
  9. ADB 无法启动
  10. javascript 递归之阶乘
  11. jQuery弹出层---artDialog 文档
  12. 如何使用Visual Studio 2013 创建Azure云应用
  13. 【Android】使用BaseAdapter实现复杂的ListView
  14. Dotfuscator类重命名方法解析
  15. IAR for STM8 错误
  16. STextComboBox & SComboBox
  17. Elasticsearch必备技能之索引迁移
  18. Java 处理word文档后在前端展示
  19. c++中嵌入python
  20. 三、K3 Cloud 开发插件《K3 Cloud插件开发新手指导 + K3 Cloud插件开发代码调试》

热门文章

  1. Swoole练习 Web
  2. SpringBoot集成ActiveMq消息队列实现即时和延迟处理
  3. es原理
  4. [转帖]Dockerfile: ENTRYPOINT和CMD的区别
  5. 剑指offer25:复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),结果返回复制后复杂链表的head。
  6. 用php的for循环输出四边形,各种三角形和菱形【含空心版本】
  7. Python重要配置大全
  8. 根据IP获取国家,市区,经纬度等的免费库
  9. IO是否会一直占用CPU?(转)
  10. Linux Nginx的权限——访问本地目录报错403