《F4+2》—团队项目系统设计改进与详细设计

一.团队项目系统设计改进:

1.分析项目系统设计说明书初稿的不足,特别是软件系统结构模型建模不完善内容

       在上一次的项目系统设计说明书中没有很好的完成软件系统结构模型的建模设计,只作了基本的系统项目原型模型,项目系统结构的总体设计不够完善。本阶段完成系统的大体设计并明确系统的数据结构与软件结构。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件概貌,把它加工成在程序细节上很是接近与源程序开发的软件表示。前端

2.团队项目Github仓库《软件系统设计说明书》连接:

https://github.com/teammzs/project9git

 

二.团队项目系统设计:

1.在OOD的软件项目详细设计阶段,开发团队将进一步细化分析系统设计模型,精化类的属性和操做,详细定义类中服务的参数和具体实现逻辑,依据软件开发环境调整类的层次关系和关联关系,定义软件数据库表结构等等。请采用适当的建模方法完成团队项目的系统详细设计。

UML(统一建模语言)是面向对象建模语言的标准,它能够对任何具备静态结构和动态行为的系统进行建模,它的主要做用是帮助用户进行面向的描述和建模,它能够描述软件从需求分析到软件实现和测试的全过程。程序员

功能实现流程图:

   

 

UML模型描述项目系统:

 

 

2.团队项目Github仓库《软件系统详细设计说明书》连接:

 https://github.com/teammzs/project8 github

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)程序流程图。程序流程图又称为程序框图,是使用最普遍然而也是用得最混乱的一种描述程序逻辑结构的工具。它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。其优势是:结构清晰,易于理解,易于修改。缺点是:只能描述执行过程而不能描述有关的数。

(2)盒图。盒图是一种强制使用结构化构造的图示工具,也称为方框图。其具备如下特色:功能域明确、不可能任意转移控制、很容易肯定局部和全局数据的做用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。PAD是一种改进的图形描述方式,能够用来取代程序流程图,比程序流程图更直观,结构更清晰。最大的优势是可以反映和描述自顶向下的历史和过程。PAD提供了5种基本控制结构的图示,并容许递归使用。
PAD的特色有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;便可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。语法是开放式的,其外层语法是肯定的,而内层语法则不肯定。外层语法描述控制结构,它用相似于通常编程语言控制结构的关键字表示,因此是肯定的。内层语法描述具体操做,考虑到不一样软件系统的实际操做种类繁多,内层语法于是不肯定,它能够按系统的具体状况和不一样的设计层次灵活选用,实际上任意英语语句均可用来描述所需的具体操做。用它来描述详细设计,工做量比画图小,又比较容易转换为真正的代码。
PDL的优势:能够做为注释直接插在源程序中;可使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,并且能够自动由PDL生成程序代码。
PDL的不足:不如图形工具形象直观,描述复杂的条件组合与动做间对应关系时,不如断定树清晰简单。

(6)如何绘制符合规范的流程图?

流程图必須使用标准符号,便于阅读和研讨分析。

每一流程中的文字力求简单、扼要,并且明确可行。

绘制方向应由上而下,自左到右。

流程线条避免太长或交叉,可多用链接符号。

相关文章
相关标签/搜索