项目 | 内容 |
这个作业属于哪个课程 |
https://home.cnblogs.com/u/nwnu-daizh/
|
这个作业的要求在哪里 |
https://www.cnblogs.com/nwnu-daizh/p/10980707.html
|
团队名称 | AlwaysRun! |
作业学习目标 | 掌握软件编码实现的工程要求 |
任务1:团队软件项目设计完善:
根据OOD详细设计要求,修改完善团队项目系统设计说明书和详细设计说明,将完善后的内容的以《XX团队项目软件设计方案》为名发布在团队博客中,并在团队项目Github仓库中上传文档《软件设计方案说明书》。在团队博客总结中陈述项目技术设计是如何体现下列原则的:
- 抽象
软件开发本身,就是一个不断抽象的过程。我们把业务需求抽象成数据模型、模块、服务和系统,面向对象开发时我们抽象出类和对象,面向过程开发时我们抽象出方法和函数。
- 强内聚耦合/模块化
耦合度--体现模块之间的独立性,越低越好。(耦合度低,即模块的独立性好,其他模块的改动几乎不影响该模块,拓展性好),如果两个模块中的每一个都能独立地工作而不需要另一个模块的存在,那么它们彼此完全独立,意味着模块间无任何连接,耦合程度最低。但是,在一个软件系统中不可能所有模块之间都没有任何连接。因为只有当某些模块的输出数据作为另一些模块的输入数据时,系统才能完成有价值的功能。
- 信息隐藏和封装
封装的一个主要的好处,就是增加软件代码的内聚性。通过增加内聚性,进而提高可复用性和可维护性。信息隐藏的好处,正好和“封装”的好处相呼应。封装是为了提高内聚性;而信息隐藏是为了降低耦合性。通过降低耦合,一样可以达到提高可复用性、可维护性这2个目的。
- · 界面和实现的分离
MEF+MVVM
具体就是多个view modle 用mef实现切换.
- · 错误情况处理
检查被调函数的返回值或输出信息
- 程序级别的灵活性,主要通过参数化配置程序低级别的灵活性。
- 高度可配置性,包括各种虚拟机参数、属性文件和XML配置文件。
- 脚本,脚本是扩展复杂功能的利器,但对用户的要求也比较高。通常应该面向开发人员的工具产品。或者在产品部署之前由现场实施人员来完成。
- 插件系统或者模块化平台,插件系统平台从理论上提供了无数的可扩展性。比如Eclipse和NetBeans平台。这儿是抽象的最高点,产品可以一无用处,也可以无所不能。完全看市场有什么插件,用户怎么配置。设计方案的数据处理能力:
(1)分析推理能力和动手实践能力
(2)数据测量和数据管理
(3)可视化分析
(4)语义引擎
(5)算法
- 设计方案的软件重用情况:
- 软件重用被视为解决软件危机,提高软件生产率和质量的有效途径,近年来的软件重用研究的结果表明,基于体系结构,物定域的重用能够有很大的改进。是提高软件开发生产率和目标系统质量的重要途径。本次设计采用了源代码重用、架构重用、应用框架的重用、业务建模的重用、文档及过程的重用、软构件的重用、软件服务的重用。
- 设计中采用了哪些启发式规则?本次设计中采用的启发式规则有设计结果应该清晰易懂;一般-特殊结构的深度应适当;设计简单的类;使用简单的协议;使用简单的服务;最小设计变动
任务2:团队软件项目编码实现:
团队项目github仓库地址链接:
https://github.com/2016710104ZXFL/-AllRun/compare
任务3:在团队博客发布博文,结合燃尽图陈述本实验执行过程,上传团队实施本次作业的场景照片,描述团队成员的具体分工、占整个作业任务的工作量比例及完成各自任务的实际时间,每位成员结合任务分工总结本次实验心得,最后由项目组长进行总结陈述。
(1)实施本次作业场景照片:
(2)团队成员各自任务所需时间:
成员 | 分工 | 工作量比例 | 各自完成的时间(min) |
徐浩杰 | 团队项目的初步编码实现 | 25% | 360 |
李敏 | 修改系统设计说明书详细设计说明书 | 30% | 320 |
冯婷秀 | 团队项目的初步编码实现 | 25% | 360 |
种兴达 | 负责博客园内容 | 20% | 200 |
(3)总结:
这次团队作业大家都积极参与,分工明确。我们完成了《软件设计方案说明书》和《软件编码规范说明书》,并且更新了燃尽图。我们对系统的功能进行了比较全面的分析与设计,进一步完善了我们的软件。
在程序日趋完善的过程中,我们也遇到了很多这样或那样的问题,但是经过我们自己的不懈努力,不断查阅资料,上网搜索解决方案,最终都得到满意的答案。同时,同学也给了我们不少的启迪和帮助,使我们的课题能够顺利的完成。正所谓“三人行,必有我师焉”,更何况我们是四个人的小组呢,我们会再接再厉,认真完成每一次作业。