软件例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
概述
1、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得的的结果应该精确到小数点后4位。一旦实现并测试完之后,改产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。
对这个软件的需求很明确,实现开方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了。
2、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。你打算采用哪种软件生命周期模型?为什么?
对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛使用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。
综上所述,采用增量模型来完成这个项目比较恰当。
1、什么是软件工程?
2、什么是软件过程?它与软件方法学的关系?
3、用自己的语言来比较瀑布模型与原形模型?分析两种模型产生的必然性。
需求分析
简单例子:(订货系统)
一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于需要再次订货的零件应该列出编号、名称、数量、价格、主要供应商等内容。零件的出入库称为事务,通过放在库房的CRT终端把事务报告给订货系统。当某种零件的库存量少于库存临界值时就应该再次订货。
对本例来说念完第一遍应该确定:(用
心去读)
采购部或者采购员是外部实体(数据
汇点),它的输入数据流是订货报表。
CRT终端或者仓库管理员是外部实体
(数据源点),它的输出数据流是事
务。
再次阅读可知:
事务有类型,需要根据不同情况处
理;----处理事务
对各类事务要更改库存信息;对出
库事务当库存量少于临界值时,要
产生订货信息。
订货信息不同于订货报表,报表要
有严格的格式。------产生报表
接下来的细化因人而异:-----就是
说允许不同
事务来了应该先接收,再按类别更
新库存清单,最后对更新后库存量少于临界值的产生订货。
-----分为三个处理,各处理间的数据流比较简单。
1.产生报表需要分解吗?
2.一个指导性的原则是当功能为原子功能时就不需再分解了,那么什么是原子功能?
3.当对功能的进一步细化涉及到具体实现时,就认为无需细化。
数据流图画法总结
1.先找出数据源点和汇点。它们是外部实体,由它们确定系统与外界的接口。
2.找出外部实体的输出数据流与输入数据流。画出顶层数据流图。
3.从顶层加工出发,逐步细化,画出所需子图。
4.分析系统的主要处理功能,把每一个处理功能作为一个加工,并且确定它们之间
的数据流入、流出关系,画出第一层数据流图。
5.对流图中的每个加工进行细化,画出所需的子图,直到加工不需再分解为止。
6.按照前面给出原则检查和修改每一层数据流图和子图。
分层法绘制流程图的注意事项:
1.数据流图上所有图形符号只限于前述四种基本图形元素。
2.数据流图的主图上的数据流必须封闭在外部实体之间。
3.每个加工至少有一个输入数据流和一个输出数据流。
4.初画时可以忽略琐碎的细节,以集中精力于主要数据流。
5.在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系。
6.规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流
必须一致。此即父图与子图的平衡。
----细化时应该注意,不能添加和丢失输入、输出数据流。
7.图上每个元素都必须有名字
8.数据流图中不可夹带控制流
办公室复印机的工作过程大致如下:
未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员排除故障,故障排除后回到闲置状态。
数据字典例题:某程序
设计语言规定,用户说明的标识符是
长度不超过8个字符的字符串,其中
第一个字符必须是字母字符,随后的
字符既可以是字母字符也可以是数
字字符。
使用上面讲过的符号,我们可以像下
面那样定义标识符:
标识符=字母字符+字母数字串
字母数字串=0{字母或数字}7
字母或数字=[字母字符|数字字符]
由于和项目有关的人都知道字母字
符和数字字符的含义,因此,关于标
识符的定义分解到这种程度就可以
结束了。