一、表述三个及以上的设计模型,并比较其各自优缺点
1、瀑布模型:
瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
瀑布模型的优点:
(1)为项目提供了按阶段划分的检查点
(2)当前一阶段完成后,您只需要去关注后续阶段
(3)可在迭代模型中应用瀑布模型
瀑布模型的缺点:
(1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模瀑布模型的使用范围:
型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
2、快速原型模型
快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。 快速原型模型允许在需求分析阶段对软件的需求进行初步而非完全的分析和定义,快速设计开发出软件系统的原型,该原型向用户展示待开发软件的全部或部分功能和性能;用户对该原型进行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件进行修改完善,直至用户满意认可之后,进行软件的完整实现及测试、维护。
优点:
(1)可以得到比较良好的需求定义,容易适应需求的变化;
(2)有利于开发与培训的同步;
(3)开发费用低、开发周期短且对用户更友好。
缺点:
(1)客户与开发者对原型理解不同;
(2) 准确的原型设计比较困难;
(3) 不利于开发人员的创新。
3、增量模型
增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对
于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。
优点:
(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;
(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;
(3)可先发布部分功能给客户,对客户起到镇静剂的作用。
缺点:
(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;
(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
二、结合学校教学管理系统,谈一谈你是如何从三个以上模型中选定你的设计模型的,表述比较、评价、验证你的模型选择过程。
选择快速原型模型
所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
如下图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程)。
快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上
试用它,通过实践来了解目标系统的概貌。通常,用户试用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后再次请用户试用…一旦用户认为这个原型系统确实能做他们需要的工作,开发人员便可据此书写规格说明文档,根据这份文档开发出的软件便可以满足用户的真实需求。
从上图中可以看出,快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:软件产品的开发基本上做到线性顺序进行的。
能基本上做到线性顺序开发的主要原因如下:
原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。
开发人员通过建立原型系统已经学到了许多东西(至少知道了“系统不应该做什么,以及怎样不去做不该做的事情”),因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。
软件产品一旦交付给用户使用之后,维护便开始了。根据所需完成的维护工作种类的不同,
可能需要返回到需求分析、规格说明、设计或编码等不同阶段,如上图中虚线箭头所示。
快速原型的本质是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。因此,原型系统的内部结构并不重要,必须迅速地构建原型然后根据用户意见迅速地修改原型。UNIX Shell 和 超文本都是广泛使用的快速原型语言。
当快速原型的某个部分是利用软件工具由计算机自动生成的时候,可以把这部分用到最终的软件产品中。例如,用户界面通常是由快速原型的一个关键部分,当使用屏幕生成程序和报表生成程序自动生成用户界面时,实际上可以把得到的用户界面用在最终的软件产品中。
快速原型模型的开发步骤
1、快速分析
在分析人员与老师 学生密切配合下,迅速确定系统的基本需求,根据原型所要体现的特征描述基本需求以满足开发原型的需要。
2、构造原型
在快速分析的基础上,根据基本需求说明尽快实现一个可行的系统。这里要求具有强有力的软件工具的支持,并忽略最终系统在某些细节上的要求,如安全性、坚固性、例外处理等等,主要考虑原型系统能够充分反映所要评价的特性,而暂时删除一切次要内容。
3、运行原型
这是发现问题、消除误解、开发者与用户充分协调的一个步骤。
4、评价原型
在运行的基础上,考核评价原型的特性,分析运行效果是否满足用户的愿望,纠正过去交互中的误解与分析中的错误,增添新的要求,并满足因环境变化或用户的新想法引起的系统要求变动,提出全面的修改意见。
5、修改
根据评价原型的活动结果进行修改。若原型未满足需求说明的要求,说明对需求说明存在不一致的理解或实现方案不够合理,则根据明确的要求迅速修改原型。
三、描述学校教学管理系统的需求报告。
系统的用户需求描述
根据学校的具体情况及对用户的需求调查,本管理系统主要设计功能有:
(1)学生交费管理:包括交费数据录入、交费情况查询、交费情况分析统计、欠费情况统计、交费数据报表与打印等。
(2)管理:录入、查询、学生人数分析、报表与打印等。
(3)教职工人事管理:教职工档案录入、教职工档案查询、教职工档案资料综合分析、教职工人数图形分析、教职工档案报表与打印等。
(4)系统设置功能:修改密码、用户信息、权限设置、使用提示、重新登陆。
可行性分析
模块化设计的优点可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。
(1)经济可行性:主要是对项目的经济效益进行评价,它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
(3)时机可行性:学校原有的人工管理方式已经不适应学校目前的需求,这样一个高效实用的管理软件正好能够满足现各职能部门和管理工件者的要求。学校原有的优良管理方案、管理工件者良好的管理能力及其对计算机熟练的使用技术为校园管理系统提供了坚实的基础。
(4)管理上的可行性:主要是学校管理人员大力支持,校领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保
障。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行实用,并且投入较少、见效快。因此系统的开发是完全可行的。
数据流图(简称DFD)
数据流图是组织中信息运动的抽象,是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
在本系统中,有三个主要的数据流,分别是信息数据流、学生交费信息数据流和教职工人事信息数据流。在每个数据流中,分别有数据流名、别名、说明、组成、数据流来源和数据流去向等元素组成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论