《F4+2》—团队项目系统设计改进与详细设计
一.团队项目系统设计改进:
1.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容
在上一次的项目系统设计说明书中没有很好的完成软件系统结构模型的建模设计,只做了基本的系统项目原型模型,项目系统结构的整体设计不够完善。本阶段完成系统的大致设计并明确系统的数据结构与软件结构。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件概貌,把它加工成在程序细节上非常接近与源程序开发的软件表示。
2.团队项目Github仓库《软件系统设计说明书》链接:
https://github.com/teammzs/project9
二.团队项目系统设计:
1.在OOD的软件项目详细设计阶段,开发团队将进一步细化分析系统设计模型,精化类的属性和操作,详细定义类中服务的参数和具体实现逻辑,依据软件开发环境调整类的层次关系和关联关系,定义软件数据库表结构等等。请采用适当的建模方法完成团队项目的系统详细设计。
UML(统一建模语言)是面向对象建模语言的标准,它可以对任何具有静态结构和动态行为的系统进行建模,它的主要作用是帮助用户进行面向的描述和建模,它可以描述软件从需求分析到软件实现和测试的全过程。
功能实现流程图:
UML模型描述项目系统:
2.团队项目Github仓库《软件系统详细设计说明书》链接:
https://github.com/teammzs/project8
3.本次实验实施过程:
在本次项目中,我们小组通过讨论,调查,分析等方式和策略认真的完成了这次实验;在项目中,我们大家一起动手,一起参与讨论,最后汇总得到一个最佳的方案,得到了这次项目中的最优解,让我们的项目趋于完善。通过这次项目我学到了很多知识,也学到了很多项目解决的方案方法。本次任务实验是在团队作业5系统概要设计的基础上进一步详细改进的过程,在设计好的模型下进行补充改进,对于项目系统设计中的不足点进行了讨论分析,和技术上的难题小组成员间进行了交流和协商,擅长编程的组员对于软件后台内容进一步的添加,完善了其中的一些功能;严格按照系统说明书中提出的模型原理进行补充完善。
4.团队成员分工表和任务量:
团队成员 | 任务 | 所需时间 | 工作量比例 |
马世芳 | 软件系统设计说明书 | 36h | 20% |
马仲山、马绍辉 | 团队项目的系统详细设计 | 48h | 30% |
马婧(13)、张俊逸 | 软件系统详细设计说明书 | 48h | 30% |
马婧(12) | 博客撰写 | 24h | 20% |
5.总结与设计心得:
本次实验小组成员分工明确,小组成员完成的也很认真及时,所以实验进行的很顺利, 经过本次实验,从一开始的想法构思,到后来一步一步的进行设计的分析和实践,团队里每位成员都起着至关重要的作用。积极的协调,默契的配合,团队成员互相信任,共同认可,虽然也有意见不一致的时候,但这也是一个新想法出现的时刻,在综合考虑之后能结合小组每个成员的意见得出一个最好的设计方法,共同学习共同进步,使得实验的进程加快了步伐,同时也让我们学到了更多。团队精神就是新时期的一种集体主义的升华和集体主义内容的扩展,我们在工作的分工与合作离不开团队精神的支撑,没有团队精神的支撑就很难有我们各项工作的顺利开展,总之,团队精神就是新时期团结力和凝聚力的所在。
6.回答以下六个问题:
(1)何谓软件体系结构、软件设计模式?
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。由于软件系统具有的一些共通特性,这种模型可以在多个系统之间传递,特别是可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用。
软件设计模式就是Uml统一建模语言的技巧性概念。主要研究各个类模块和接口之间的安排与搭配,也是为程序员提供交流的一个很好的平台。
(2)什么是C/S与B/S结构?
C/S (Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。C/S结构可以看做是胖客户端架构。客户端实现绝大多数的业务逻辑处理和界面展示,作为客户端的部分需要承受很大的压力,从分利用客户端的资源,对客户机的要求较高。其实现可以是客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
B/S结构可以看作是瘦客户端,只是把显示的较少的逻辑交给了Web浏览器,事务逻辑数据处理在放在了Server端,这样就避免了庞大的胖客户端,减少了客户端的压力。B/S结构的系统无须特别安装,只有Web浏览器即可。当然AJAX\Flex等等的普遍使用也有富客户端的发展方向。
(3) 什么是MVC设计模式?
MVC设计模式是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
MVC简易框架图如下所示;
(4)结合项目系统设计体验,简要说明(1)、(2)、(3)的内容与软件系统设计的关系。
框架、设计模式这两个概念总容易被混淆,其实它们之间还是有区别的。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。在软件生产中有三种级别的重用:内部重用,即在同一应用中能公共使用的抽象块;代码重用,即将通用模块组合成库或工具集,以便在多个应用和领域都能使用;应用框架的重用,即为专用领域提供通用的或现成的基础结构,以获得最高级别的重用性。框架与设计模式虽然相似,但却有着根本的不同。设计模式是对在某种环境中反复出现的问题以及解决该问题的方案的描述,它比框架更抽象;框架可以用代码表示,也能直接执行或复用,而对模式而言只有实例才能用代码表示;设计模式是比框架更小的元素,一个框架中往往含有一个或多个设计模式,框架总是针对某一特定应用领域,但同一模式却可适用于各种应用。可以说,框架是软件,而设计模式是软件的知识。
设计模式仅是一个单纯的设计,这个设计可被不同语言以不用方式来实现;而框架则是设计和代码的一个混合体,编程者可以用各种方式对框架进行扩展,进而形成完整的不同的应用。框架一旦设计成形,虽然还没有构成完整的一个应用,但是以其为基础进行应用的开发显然要受制于框架的实现环境;而设计模式是与语言无关的,所以可以在更广泛的异构环境中进行应用。
(5)详细设计的常见工具有哪些?
(1)程序流程图。程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优点是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数。
(3)PAD图。PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。最大的优点是能够反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
PDL的不足:不如图形工具形象直观,描述复杂的条件组合与动作间对应关系时,不如判定树清晰简单。
(6)如何绘制符合规范的流程图?
流程图必須使用标准符号,便于阅读和研讨分析。
每一流程中的文字力求简单、扼要,而且明确可行。
绘制方向应由上而下,自左到右。
流程线条避免太长或交叉,可多用连接符号。
转载于:https://www.cnblogs.com/cnboke/p/9143451.html
《F4+2》—团队项目系统设计改进与详细设计相关推荐
- 《你说对就队》第六次作业:团队项目系统设计改进与详细设计
<你说对就队>第六次作业:团队项目系统设计改进与详细设计 内容 项目 这个作业属于哪个课程 [教师主页] 这个作业的要求在哪里 [作业要求] 团队名称 <你说对就队> 作业学习 ...
- 《毛毛虫团队》第六次作业:团队项目系统设计改进与详细设计
一:实验名称:团队项目系统设计改进与详细设计 二:实验目的与要求 (1)掌握面向对象软件设计方法: (2)完善系统设计说明书,掌握面向对象详细设计内容.设计原理和技术. 三:实验步骤 任务一:团队项目 ...
- 实验十 团队作业6:团队项目系统设计改进与详细设计
项目 内容 这个作业属于哪个课程 老师链接 这个作业的要求在哪里 作业链接地址 团队名称 always run 作业学习目标 掌握面向对象软件设计方法:(2)完善系统设计说明书,掌握面向对象详细设计内 ...
- 团队作业6—《Spring_Four》团队项目系统设计改进与详细设计
一.修改完善团队项目系统设计说明书 a.分析<考信项目系统设计说明书>初稿的不足:数据库建模不足 b. 团队项目Github仓库中更新:https://github.com/gzyt/SR ...
- 《F4+2团队项目系统设计改进》
项目软件系统设计改进 1引言 1.1编写目的 本阶段完成系统的大致设计并明确系统的数据结构与软件结构.本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件概貌,把它加工成在程序细节上非常接近与源 ...
- 《F4+2团队项目需求改进与系统设计》
任务一 a.分析<动态的太阳系模型项目需求规格说明书>初稿的不足. 任务概述描述的有些不具体,功能的规定不详细,在此次作业进行了修改. b.参考<构建之法>8.5节功能的定位和 ...
- 《坐热板凳》第五次作业:团队项目需求改进与系统设计
实验九 团队作业5-团队项目需求改进与系统设计. 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www. ...
- 《开拓者研发团队》 团队作业5—团队项目需求改进与系统设计
团队项目需求分析改进: 任务1:应用本周所学面向对象分析方法,修改完善团队项目需求规格说明书,要求如下: a.分析<基于弹幕评论的大数据分析平台需求规格说明书>初稿的不足,特别是文档需求描 ...
- 《The one!》团队作业五:团队项目需求改进与系统设计
项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握面向对象需求分析方法:(2)学习软件系统总体结构和数据库逻辑结构设计,学 ...
最新文章
- 分隔和截断字符串, boost string algorithm library中的split和trim
- 接口与抽象类区别和接口jdk8新特性
- bgp协议 怎么知道相邻路由的ip地址_三级网络技术考前选择题1—BGP
- 【练习8.7】cvGoodFeaturesToTrack确定图像强角点、cvFindCornerSubPix亚像素级角点检测...
- mysql grant tables_使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失
- Excel 插件‘Aspen process data ‘在VBA中的基本使用
- 我的Delphi开发经验谈(本人修改版) 收藏
- electron 修改修改应用默认图标
- NBUT1582 比赛吃鸡腿
- 【金猿投融展】易观数科——智能用户运营服务商
- RelativeLayout 设置控件在最上层
- 优酷视频在网站里播放
- 2014工作总结与2015展望
- Jenkins 插件开发记录
- AES 轮密钥(子密钥如何生成).md
- 2018排行VR眼镜哪个好,什么VR眼镜好?VR评测:UGP VR眼镜就是牛!
- 11月5日科技资讯|马云、马化腾任职清华;微软将数据保存在玻璃中;Visual Studio Online 上线 | 极客头条
- 5分钟了解代理IP(静态/动态, 单拨/混拨,短效/长效,匿名性,https/s5)
- NLP:自然语言处理技术中常用的文本特征表示方法(整数编码、one-hot编码法、BOW法、TF-IDF法、N-Gram法等)及其代码案例实现
- 深度学习经典文献积累
热门文章
- SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现
- C#中实现计时器功能(定时任务和计时多长时间后执行某方法)
- 怎样在项目中使用git以及github管理(图文详解流程讲解)
- linux的gromacs模拟分子运动,分子动力学技术交流---gromacsamber
- atlas安装需要kafka吗_Apache Atlas安装使用说明文档
- 神策数据关海南:营销策略引擎解读,以平台化构建营销新生态
- 助理来也胡一川:用数据驱动打造智能行业助理(技术+业务)
- 容器的使用(6-12)
- Mozilla发布2015年度报告:搜索合作成营收大头
- Mybatis中的collection、association来处理结果映射