实验十一 团队作业7:团队项目设计完善&编码1
博文简要信息表:
项目 | 内容 |
---|---|
软件工程 | https://www.cnblogs.com/nwnu-daizh/ |
本次实验链接地址 | https://www.cnblogs.com/nwnu-daizh/p/10980707.html |
团队名称 | 你们都是魔鬼吗 |
作业学习目标 | (1)掌握软件编码实现的工程要求。 |
任务1:团队软件项目设计完善:
1)在团队项目Github仓库中上传文档《软件设计方案说明书》。
家庭理财APP《软件设计方案说明书》: https://github.com/201671010451/shiyanqi
2)在团队博客总结中陈述项目技术设计是如何体现下列原则的:
- 抽象:是传统逻辑用以指称现实中没有一个或一类具体事物与之相适应(即其外延不是一个或一类事物),而仅以依存于某个或某类事物的性质和事物与事物之间的关系为其反映对象的概念。与“具体概念”相对。
- 内聚/耦合/模块化:
- 内聚,高内聚是另一个普遍用来评判软件设计质量的标准。内聚,更为专业的说法叫功能内聚,是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性,反之则为低内聚性。高内聚要求软件系统中的各个元素具有较高的协作性,因为在我们在完成软件需求中的一个功能。
- 耦合,耦合就是对某元素与其它元素之间的连接、感知和依赖的量度。这里所说的元素,即可以是功能、对象(类),也可以指系统、子系统、模块。假如一个元素A去连接元素B,或者通过自己的方法可以感知B,或者当B不存在的时候就不能正常工作,那么就说元素A与元素B耦合。耦合带来的问题是,当元素B发生变更或不存在时,都将影响元素A的正常工作,影响系统的可维护性和易变更性。同时元素A只能工作于元素B存在的环境中,这也降低了元素A的可复用性。。
模块化,把数据结构和操作这些数据的方法紧密的结合在一起所构成的模块,本次设计采用模块化,能够更好地管理数据。
信息隐藏和封装:信息隐藏是目的,而封装则是藉以达到这个目的的技术。封装可以被定义为对对象的内部数据表现形式和实现细节进行隐藏。
界面和实现的分离:采用MVP构架,让activity只做ui的变化,数据的展示,让presenter做数据的处理,数据的传递,让Model做数据的网络获取。这样就可以将原本全部存在Activity的成百上千行代码分离出来,增加代码可读性。只不过增加了类的个数。
- 错误情况处理:
- 变量名不存在:NameError:name 'b' is not defined
- java.lang.ClassNotFoundException(指定的类不存在):这里主要考虑一下类的名称和路径是否正确即可,通常都是程序试图通过字符串来加载某个类时可能引发异常。比如:调用Class.forName();或者调用ClassLoad的finaSystemClass();或者LoadClass()
- 索引错误:IndexError: list index out of range
- 程序模块对于运行环境、关联模板、输入输出参数有什么假设?
- 设计方案对于应对变化的灵活性:
- 程序级别的灵活性,主要通过参数化配置程序低级别的灵活性。
- 高度可配置性,包括各种虚拟机参数、属性文件和XML配置文件。
- 脚本,脚本是扩展复杂功能的利器,但对用户的要求也比较高。通常应该面向开发人员的工具产品。或者在产品部署之前由现场实施人员来完成。
- 插件系统或者模块化平台,插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点,产品可以一无用处,也可以无所不能。完全看市场有什么插件,用户怎么配置。
设计方案的数据处理能力:
(1)分析推理能力和动手实践能力
(2)数据测量和数据管理
(3)可视化分析
(4)语义引擎
(5)算法- 设计方案的软件重用情况:
- 软件重用被视为解决软件危机,提高软件生产率和质量的有效途径,近年来的软件重用研究的结果表明,基于体系结构,物定域的重用能够有很大的改进。是提高软件开发生产率和目标系统质量的重要途径。本次设计采用了源代码重用、架构重用、应用框架的重用、业务建模的重用、文档及过程的重用、软构件的重用、软件服务的重用。
- 设计中采用了哪些启发式规则?
本次设计中采用的启发式规则有设计结果应该清晰易懂;一般-特殊结构的深度应适当;设计简单的类;使用简单的协议;使用简单的服务;最小设计变动
任务2:团队软件项目编码实现,要求如下:
- 搭建并配置项目集成开发环境;
- Widnows 7操作系统
- Eclipse 安装ADT扩充套件或Android studio的安装
- Android SDK的安装
- JDK的安装
真机测试或用虚拟模拟器(genymotion、夜神)
小组内成员共同商议制定团队项目编码规范, 并在团队项目Github仓库中上传文档《软件编码规范说明书》;
家庭理财APP《软件编码规范说明书》: https://github.com/201671010451/shiyanqi
- 按照软件设计方案说明书要求,选择计算机语言协作编写软件代码,开发软件关联数据库创建程序,进行必要的代码测试;
- 项目实现
- 登录页面展示
- 测试遇到的问题
(1)代码编写有错误,导致运行不出来
(2)使用真机测试出现了闪退
(3)出现黑屏现象 - 上传本周已完成项目源码到团队项目Github仓库。
源码: https://github.com/201671010451/shiyanqi
任务3:在团队博客发布博文,结合燃尽图陈述本实验执行过程,上传团队实施本次作业的场景照片,描述团队成员的具体分工、占整个作业任务的工作量比例及完成各自任务的实际时间
- 燃尽图
- 团队实施本次作业的场景照片
团队分工
团队成员 分工 所占比例 任务实际完成时间 杨志霄 撰写博客以及编码测试 30% 4h 焦少梅 撰写软件编码规范说明书 30% 4h 王奕涵 总结项目技术设计的原则 30% 4h 王雨竹 《软件设计方案说明书》 25% 4h
任务4:总结
本次试验我们小组大家都积极参与进来,分工明确,各司其职。在系统设计中,首先进行需求分析,把系统和具体的实际的家庭中的业务结合起来,明确所设计的系统所具备的功能和解决的问题。然后通过可行性分析,从经济,技术,社会三方面进行阐述和说明系统设计的必要性和可行性,然后就是业务流程和数据流程图以及数据字典。对于要做的系统已经有了一个比较安全的了解后,再往下就是数据可和界面的设计。通过班次的作业,我们小组觉得开发一个与App的关键是需求分析,只有通过详细的调查分析,才能确定系统所需要实现的功能和解决的额问题,开发过程中的难题和和关键是业务流程分析和数据流程分析,这关系到系统整体性和完整性,是系统实现各个模块之间调用的理论基础。
*****
实验十一 团队作业7:团队项目设计完善&编码1的更多相关文章
- 实验十一 团队作业7---团队项目设计完善&编码测试
团队软件项目设计完善: 任务1:根据OOD详细设计工作要点,修改完善团队项目系统设计说明书和详细设计说明. <软件设计方案说明书>:https://github.com/cy0325/Te ...
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- 实验十一 团队作业7:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...
- 《ABCD组》实验十一 团队作业7:团队项目设计完善&编码
<ABCD组>实验十一 团队作业7:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
- 《快活帮》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7-团队项目设计完善&编码 团队名称 快活帮 作业学习目标 掌握 ...
- 《逆袭团队》第七次作业:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 内容 项目 软件工程 任课教师博客主页链接 作业链接地址 团队作业7:团队项目设计完善&编码 团队名称 逆袭团队 具体目标 (1)完善团队 ...
- 《hello-world团队》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7:团队项目设计完善&编码 团队名称 <hello--w ...
- 《毛毛虫团队》第七次作业:团队项目设计完善&编码
一:实验名称:团队项目设计完善&编码 二:实验目的与要求 掌握软件编码实现的工程要求. 三:实验步骤 任务一:团队软件项目设计完善: 任务二:团队软件项目编码实现: 任务三:在团队博客发布博文 ...
- 《奋斗吧!菜鸟》 第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 任课教师链接 作业要求 https://www.cnblogs.com/nwnu-daizh/p/10980707.html 团队名称 奋斗吧!菜鸟 作业学习目标 团 ...
- 《你说对就队》第七次作业:团队项目设计完善&编码
<你说对就队>第七次作业:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 [教师博客主页链接] 这个作业的要求在哪里 [作业链接地址] 团队名称 <你说对就队> ...
随机推荐
- centos umount 卸载出错
target is busy. (In some cases useful info about processes that use the device ) or fuser()) 解决 fuse ...
- 利用单臂路由实现vlan间路由
本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下
- 设置linux系统时间的方法
尝试了好多,都是因为权限问题失败,但是总结出了几种思路: 1 通过linux指令进行设置: date -s "20091112 18:30:50" &&hwcloc ...
- [数据库]简单SQL语句总结
1.在查询结果中显示列名:a.用as关键字:select name as '姓名' from students order by ageb.直接表示:select name '姓名' from ...
- numpy 数组集合运算及下标操作
1. 数组的集合运算 1.1. 并集 np.union1d(a,b)计算数组的并集: In [1]: import numpy as np In [2]: a = np.array([1,2,3]) ...
- mybatis+mysql insert添加数据后返回数据主键id---(转)
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGener ...
- Python调用API接口的几种方式
Python调用API接口的几种方式 相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍py ...
- ~ubuntu1804安装禅道
一.解压禅道安装包 二.启动禅道 # 开启Apache和Mysql服务 /opt/zbox/zbox start # 停止Apache和Mysql服务 /opt/zbox/zbox stop # 命令 ...
- PAT(B) 1063 计算谱半径(Java)
题目链接:1063 计算谱半径 (20 point(s)) 题目描述 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a1 ...
- 史上最全最新Java面试题合集一(附答案)
下面小编整理了本套java面试题全集,分享给大家,希望对大家的java学习和就业面试有所帮助. 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征 ...