软件例题
- 格式:doc
- 大小:3.25 MB
- 文档页数:16
软件可用性计算公式与实例
可用性:在要求的外部资源得到保证的前提下,产品你在规定的条件下和规定的时刻或时间区间内处于可执行规定功能状态的能力。
它是产品可靠性、维修性和维修保障性的综合反映。
可用性=系统无故障运行时间/(系统无故障运行时间+系统故障维护时间)
例题:某软件系统投入运行10天,计划运行时间为每早8点至晚6点。
第二天上午发生一次失效,故障恢复用了1小时。
第4天上午发生一次失效,故障恢复用了4小时。
第9天上午发生一次失效,故障恢复用了1小时。
该软件系统的可用性为()
解:
系统无故障运行时间=7*10+9+6+9=94小时
系统故障维护时间=1+4+1=6小时
可用性=94/(94+6)=94%。
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
单样本T检验按规定苗木平均高达1.60m以上可以出圃,今在苗圃中随机抽取10株苗木,测定的苗木高度如下:1.75 1.58 1.71 1.64 1.55 1.72 1.62 1.83 1.63 1.65假设苗高服从正态分布,试问苗木平均高是否达到出圃要求?(要求α=0.05)解:1)根据题意,提出:虚无假设H0:苗木的平均苗高为H0=1.6m;备择假设H1:苗木的平均苗高H1>1.6m;2)定义变量:在spss软件中的“变量视图”中定义苗木苗高, 之后在“数据视图”中输入苗高数据;3)分析过程在spss软件上操作分析,输出如下:表1.1:单个样本统计量N 均值标准差均值的标准误苗高10 1.6680 .08430 .02666表1.2:单个样本检验检验值 = 1.6t df Sig.(双侧) 均值差值差分的 95% 置信区间下限上限苗高 2.551 9 .031 .06800 .0077 .1283 4)输出结果分析由图1.1和表1.1数据分析可知,变量苗木苗高成正态分布,平均值为1.6680m,标准差为0.0843,说明样本的离散程度较小,标准误为0.0267,说明抽样误差较小。
由表1.3数据分析可知,T检验值为2.55,样本自由度为9,t检验的p值为0.031<0.05,说明差异性显著,因此,否定无效假设H0,取备择假设H1。
由以上分析知:在显著水平为0.05的水平上检验,苗木的平均苗高大于1.6m,符合出圃的要求。
独立样本T检验从两个不同抚育措施育苗的苗圃中各以重复抽样的方式抽得样本如下:样本1苗高(CM):52 58 71 48 57 62 73 68 65 56样本2苗高(CM):56 75 69 82 74 63 58 64 78 77 66 73设苗高服从正态分布且两个总体苗高方差相等(齐性),试以显著水平α=0.05检验两种抚育措施对苗高生长有无显著性影响。
解:1)根据题意提出:虚无假设H0:两种抚育措施对苗木生长没有显著的影响;备择假设H1:两种抚育措施对苗高生长影响显著;2)在spss中的“变量视图”中定义变量“苗高1”,“抚育措施”,之后在“数据视图”中输入题中的苗高数据,及抚育措施,其中措施一定义为“1”措施二定义为“2”;3)分析过程在spss软件上操作分析输出分析数据如下;表2.1:组统计量抚育措施N 均值标准差均值的标准误苗高1 1 10 61.00 8.233 2.6032 12 69.58 8.240 2.379表2.2:独立样本检验方差方程的Levene 检验均值方程的 t 检验F Sig. t df Sig.(双侧)均值差值标准误差值差分的 95% 置信区间下限上限苗高1 假设方差相等.005 .946 -2.434 20 .024 -8.583 3.527 -15.940 -1.227 假设方差不相等-2.434 19.296 .025 -8.583 3.527 -15.957 -1.2104)输出结果分析由上述输出表格分析知:在两种抚育措施下的苗木高度的平均值分别为61.00cm;69.58cm。
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
数据流图例题:1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。
客户可在其收到的目录上圈定自己要买的书。
出版公司按照客户的反馈信息邮寄图书。
要求为出版公司设计软件,以实现以下功能:(1)自动生成图书分类目录;(2)自动处理客户反馈信息。
试用面向数据流的方法给出系统的数据流图2、根据下列描述,画出学生申请IC借书卡管理系统的数据流图。
学生入学后到图书馆申请IC借书卡,图书馆管理人员根据IC借书卡库存情况分析是否需要购买新的IC借书卡,如需购买,则向IC借书卡提供商购买。
各种资金往来通过学校的会计科办理。
判定表例题请用结构化语言、判定表和判定树表示下面描述的耗电记费系统中电费的计算方法:1、耗电记费系统可以采用固定价格收费和浮动价格收费两种方式。
若采用固定价格方式收费,对每月耗电100KW•h以下的用户只征收最低标准费,超过100KW•h的用户按价格表A收费;若采用浮动价格方式收费,则每月耗电100KW•h以下的用户按价格表A收费,超过100KW•h的用户按价格表B收费。
2、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言、判定表和判定树描述上述问题。
数据流图答案判定表答案:THEN IF 文化程度=初中THEN 脱产学习ELSE 工作为电工ENDIFELSE IF 年龄≤40THEN IF (文化程度=大学)THEN 工作为技术员ELSE IF 性别=男性THEN 工作为钳工ELSE 工作为钳工ENDIFENDIFELSE IF (文化程度=大学)THEN 工作为技术员ELSE 工作为材料员ENDIFENDIFENDIF。
abaqus经典例题集下面是一些abaqus的经典例题,以帮助大家更好地理解和掌握这款强大的有限元分析软件。
1.线性弹性问题例题1:在一个长方形平板上施加均匀分布的载荷,求解板的应力和应变。
解题步骤:-创建模型,定义几何参数和材料属性;-划分网格;-应用边界条件;-施加载荷;-求解;- 后处理,查看结果。
2.非线性问题例题2:一个简支梁在受力过程中,梁的横截面半径发生变化。
求解梁的挠度和应力。
解题步骤:-创建模型,定义几何参数、材料属性和边界条件;-划分网格;-应用材料的本构关系;-施加载荷;-求解;- 后处理,查看结果。
3.热力学问题例题3:一个平板在均匀温度差的作用下,求解热应力和温度分布。
解题步骤:-创建模型,定义几何参数、材料属性、边界条件和温度差;-划分网格;-应用热力学本构关系;-施加温度边界条件;-求解;- 后处理,查看结果。
4.耦合问题例题4:一个悬臂梁在受到弯曲应力和剪切应力的同时,还受到温度的变化。
求解梁的应力和温度分布。
解题步骤:-创建模型,定义几何参数、材料属性、边界条件、载荷和温度变化;-划分网格;-应用耦合场本构关系;-施加边界条件、载荷和温度边界条件;-求解;- 后处理,查看结果。
5.接触问题例题5:两个物体相互挤压,求解接触面上的应力和接触力。
解题步骤:-创建模型,定义几何参数、材料属性、边界条件和接触属性;-划分网格;-应用接触算法;-施加边界条件和接触力;-求解;- 后处理,查看结果。
通过以上五个经典例题的讲解,相信大家对abaqus的应用有了更深入的了解。
在实际应用中,我们应根据具体问题选择合适的分析类型,并灵活运用所学知识。
希望大家能在实践中不断提高,成为优秀的有限元分析工程师。
软件工程第1章例题分析与解答一、填空题1.软件与物质产品有很大的区别,软件是一种____逻辑___产品。
2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于___建造一个软件系统____。
3.概要设计主要是把各项功能需求转换成系统的__体系结构______。
4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是__瀑布模型_____。
5.简单实用、应用广泛、技术成熟的开发方法是__结构化方法______。
二、选择题1.同一软件的大量软件产品的生产主要是通过( B )而得到。
A.研究B.复制C.开发D.研制2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.软件生存周期中时间最长的是( D )阶段。
A.需求分析B.概要设计C.测试D.维护一、填空题答案1.逻辑2.建造一个软件系统3.体系结构4.瀑布模型5.结构化方法二、选择题答案1.B2.C3.C4.A5.D第1章自测题及参考答案一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与_____软件___。
2.程序设计时代的生产方式是___个体手工劳动_____。
3.软件工程涉及到几个学科,它是一门__综合性交叉___学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能_____相同___。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是_瀑布_______模型。
6.喷泉模型是一种以用户需求为动力,以____对象___为驱动的模型。
软件工程实训题目(参考)第一篇:软件工程实训题目(参考)软件工程实训题目题目一:“网络环境下的图书馆管理系统”学院图书馆需要一个新的图书馆管理系统用于跟踪和管理图书馆资源。
图书馆管理的主要资源是图书。
图书由读者借出、还入和预定。
图书可能处于特殊的状态,如被预留或者仅做参考书。
在这些情况下,图书是不能被借走的。
除了图书,图书馆还有其他可以借出的资源,包括音乐CD、软件等,这些资源每次只能借出一周。
读者来图书馆借书,可能先查询馆中的图书信息。
查询可以按书名、作者、图书编号、关键字查询。
当找到要借的图书后,读者交给图书馆管理员,办理借书手续。
如果该书已经被全部借出,可做预订登记,等待有书时被通知。
如果图书馆没有该书的记录,可进行缺书登记。
办理借书手续时先要出示图书证,没有图书证则去图书馆办公室申办图书证。
如果借书数量超出规定,则不能继续借阅。
借书时图书馆管理员登记图书证编号、图书编号、借出时间和应还书时间。
当读者还书时,图书馆管理员根据图书证编号找到读者的借书信息,查看是否超期。
如果已经超期,则处罚。
如果图书有破损、丢失,则进行破损处罚。
登记还书信息,做还书处理,同时查看是否有预订登记,如果有则发出到书通知。
读者有不同的身份,这些身份影响一本书被借出的时间和决定能获取何种服务。
学生可借阅四周,老师可借阅三个月,图书馆馆员可以把书保留整整一年。
只要没有其他读者要求借阅,任何可借出的图书馆资源都可以续借。
图书馆还需管理收集大量的周刊、月刊和季刊杂志,这些杂志不能被借出,仅作为参考资料之用。
这些杂志按年装订成卷或录成微缩胶片。
图书采购人员采购图书时,要注意合理采购。
如果有缺书登记,则随时进行采购。
采购到货后,编目人员进行验收,编目、上架,录入图书信息,发到书通知。
如果图书丢失或旧书淘汰,则将该书从书库中清除,即图书注销。
以上是图书管理系统的基本需求。
经过与图书馆工作人员反复交流,他们提出了下列建议:1.当读者借阅的图书到期时,希望能够提前以一个短信息或电子邮件方式提示读者。
MATLAB是一款功能强大的数学软件,其编程功能也受到越来越多人的关注。
下面介绍的是30个matlab经典编程例题,可以帮助大家熟悉matlab的编程语法,提高matlab 编程技能。
1. 请编写一个程序,计算出两个数的和。
2. 请编写一个程序,计算出两个数的最大值和最小值。
3. 请编写一个程序,计算出一组数据的平均值和标准差。
4. 请编写一个程序,将一个矩阵转置。
5. 请编写一个程序,求出两个矩阵的乘积。
6. 请编写一个程序,求出一个矩阵的逆矩阵。
7. 请编写一个程序,求出一个矩阵的行列式。
8. 请编写一个程序,计算出一元二次方程的解。
9. 请编写一个程序,计算出两个数组的相似度。
10. 请编写一个程序,计算出一个矩阵的特征值和特征向量。
11. 请编写一个程序,求出两个矩阵的秩。
12. 请编写一个程序,求出一个矩阵的特定元素。
13. 请编写一个程序,求出一组数据的最高值和最低值。
14. 请编写一个程序,求出两个数组的交集。
15. 请编写一个程序,求出一个矩阵的行和列之和。
16. 请编写一个程序,使用循环语句计算出100以内所有奇数的和。
17. 请编写一个程序,使用循环语句计算出1到1000以内的和。
18. 请编写一个程序,使用递归函数计算出斐波那契数列的第n项。
19. 请编写一个程序,求出一个多项式的导数。
20. 请编写一个程序,求出一个函数的极值点。
21. 请编写一个程序,求出一个数组的非零元素个数。
22. 请编写一个程序,计算出函数的不定积分。
23. 请编写一个程序,计算出函数的定积分。
24. 请编写一个程序,求出一个矩阵的秩。
25. 请编写一个程序,求出函数的极限值。
26. 请编写一个程序,求出一个矩阵的特征值分解。
27. 请编写一个程序,求出一个矩阵的LU分解。
28. 请编写一个程序,求出一个矩阵的QR分解。
29. 请编写一个程序,求出三次多项式的根。
30. 请编写一个程序,求出一个函数的积分。
LINGO是一个用于求解线性规划问题的优化软件。
以下是一个简单的LINGO例题:
问题描述:
某公司生产A、B两种产品,生产A产品需要10个单位劳动力和2个单位资本,生产B产品需要15个单位劳动力和3个单位资本。
该公司拥有劳动力200个单位和资本150个单位。
A产品的售价为20元,B产品的售价为30元。
目标:最大化总收入。
约束条件:
1.劳动力不超过200个单位。
2.资本不超过150个单位。
3.A产品的产量为整数。
4.B产品的产量为整数。
使用LINGO求解该问题,可以建立以下模型:
目标函数:最大化总收入
@max=20x+30y; // 总收入等于A产品售价乘以A产品产量加上B产品售价乘以B产品产量
约束条件:
@bin(x); // A产品产量为整数
@bin(y); // B产品产量为整数
10x+15y<=200; // 劳动力不超过200个单位
2x+3y<=150; // 资本不超过150个单位
x>=0; // A产品产量非负
y>=0; // B产品产量非负
在LINGO中输入以上模型,即可求解该问题。
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1) and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
【例题】甲公司与乙公司签订合同,为其开发一套定制化软件系统合【例1】甲、乙两公司签订了一份400万元的劳务合同,甲公司为乙公司开发一套系统软件(以下简称项目)。
2003年3月2日项目开发工作开始,预计2005年2月26日完工。
预计开发完成该项目的总成本为360万元。
其他有关资料如下:(1)2003年3月30日,甲公司预收乙公司支付的项目款170万元存入银行。
(2)2003年甲公司为该项目实际发生劳务成本126万元。
(3)至2004年12月31日,甲公司为该项目累计实际发生劳务成本315万元。
(4)甲公司在2003年、2004年末均能对该项目的结果予以可靠估计。
要求:(1)计算甲公司2003年、2004年该项目的完成程度。
(2)计算甲公司2003年、2004年该项目确认的收入和费用。
(3)编制甲公司2003年收到项目款、确认收入和费用的会计分录。
(答案中的金额单位用万元表示)【例2】甲公司于2017年10月1日与乙公同签订合同,为乙公司定制一项软件,工期大约6个月,合同总收入4000000元。
至2017年12月31日,甲公司已发生成本2200000元(假定均为开发人员薪),预收账款250000元,甲公司预计开发该软件还将发生成本800000元。
2017年12月31日,经专业测量师测量,该软件的完工进度为60%。
不考虑其他因素,请作出2017年度有关业务的会计分录。
【例3】2019年1月1日,甲公司与乙公司签订合同,为其开发一种办公软件。
合同规定,该软件的单独售价为1000万元,开发时间为18个月。
甲公司预计开发总成本为800万元,且符合某一时段内履行的履约义务。
甲公司以累计发生的合同成本占预计总成本的比例确定履约进度。
6月底甲公司共发生合同成本200万元,并按此计算履约进度确认收入、结转成本。
7月初乙公司要求更改设计以适应未来升级需要,并为此追加合同款300万元。
甲公司预计因合同变更需要追加合同成本200万元。
概述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字母或数字=[字母字符|数字字符]由于和项目有关的人都知道字母字符和数字字符的含义,因此,关于标识符的定义分解到这种程度就可以结束了。
录入统计计算某班学生成绩,画出数据流图(DFD)。
学生成绩表数据结构如下:学号| 高数| 物理| 英语| 计算机| 法律常识| 总分| 平均分| 不及格门数| 升留补|需求功能如下:1. 录入全班学生各课的考分,生成成绩表;2. 检查各课成绩,修改错误,补充未录入成绩,删除非法成绩;3. 计算总分,平均分;4 .统计不及格门数,然后再写入升级、补考、留级;5. 打印成绩通知单,交家长。
总体设计下面是一个简单的例子。
某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。
当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定货,规定每天向采购部门送一次定货报告。
该装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。
零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的定货信息写在磁带上。
最后,每天由报告生成程序读一次磁带,并且打印出定货报告。
事务随时可能发生,因此处理1.1(“接收事务”)必须是联机的;采购员每天需要一次定货报表,因此处理2(“产生报表”)应该以批量方式进行。
D3 可以联机地接收事务并放入队列中D2 更新库存清单、处理定货和产生报表以批量方式进行处理2将以批量方式产生定货报表改变自动化边界,把处理1.1,1.2和1.3放在同一个边界内,这个系统将联机地接收事务、更新库存清单和处理定货及输出定货信息;变换部分的精化1)首先,应该了解:对于变换部分的求精,是一项具有挑战性的工作。
其中主要是根据设计准则,并要通过实践,不断地总结经验,才能设计出合理的模块结构。
2)就给定的数字仪表板系统而言,如果把“确定加/减速”的模块放在“计算速度mph ”模块下面,则可以减少模块之间的关联,提高模块的独立性。
通过这一求精,可以得到如下的模块结构图:(右图) 进一步分解输出部分的模块结构图为:通过以上讨论,可以看出:在总体设计中(1)将一个给定的DFD转换为初始的模块结构图基本上是一个“机械”的过程,一般体现不了设计人员的创造力;(2)优化设计-将一个初始的模块结构图转换为最终的模块结构图,对设计人员将是一种挑战,其结果将直接影响软件系统开发的质量。
教材购销系统主要功能根据学校的教学计划,向选课的学生及时供应所需教材①审查学生购书单有效性,对有效书单发售教材;②对属于计划供应但暂时缺货的教材进行登记根据缺书登记补充采购所缺的教材,通知学生补购①将缺书登记表汇总为待购教材计划;②待购教材到货后,及时通知学生补购顶层DFD二层DFD—销售子系统二层DFD—采购子系统“教材购销系统”的基本加工(1)“教材购销系统”数据流图中共有八个基本加工:1.1 审查有效性(1)查询“学生用书表”和“售书登记表”;(2)将不合要求的购书单(无效书单)退回学生;(3)将“有效购书单”送下一步“开发票”处理。
1.2 开发票(1)根据“有效购书单”和“补售书单”,查询“教材存量表”;(2)若教材存量中有“有效购书单”上的书,开出“发票”,送下一步“登记并开领书单”处理;若教材存量中无“有效购书单”上的书开出“暂缺书单”,送下一步“登记缺书”处理;1.3 登记并开领书单(1)根据“发票”开出“领书单”交给学生;(2)同时修改“售书登记表”。
1.4 登记缺书根据“暂缺书单”修改“缺书登记表”。
1.5 补售教材(1)根据“缺书登记表”开出“缺书记录”送“采购子系统”。
(2)根据“进书通知书”开出补售书单送下一步“开发票”处理。
2.1 按书号汇总缺书根据“缺书记录”查询“教材存量表”,按书号排序汇总缺书,生成“待购教材表”文件。
2.2 按出版社统计缺书根据“待购教材表”和“教材一览表”按出版社汇总生成“汇总缺书单”送书库保管员。
2.3 修改教材存量和待购量(1)输入“进书通知单”;(2)根据“进书通知单”修改“教材存量表”和“待购教材表”;(3)同时将“进书通知单”送下一步“销售教材”处理。
.数据字典中各项内容的定义1.数据项:是数据元素的最小单位,是不能再分的基本数据元素。
如“姓名”、“学号”等。
数据项是对数据静态特性的定义,内容包括:数据项的名称、别名、类型、简述、取值范围和长度等。
例如:“教材存量表”中的数据项“库存量”2.数据流(1)数据流表示:利用特定的符号,列出组成数据流中的各数据项。
(2)在数据字典中,数据流除包括名称和组成它的数据项外,还应指明它的来源、去向和流通量等。
例如:发票。
3.数据存储(1)数据存储是数据停留或保存的场所,在数据字典中,数据存储只描述数据的逻辑存储结构,而不涉及它的物理组织。
(2)数据存储的组成:编号、名称、简述、关键字和相关联的处理等。
例如4.外部项(实体):它是软件之外的实体(人、物或其它软件系统).例如:学生。
“教材购销系统”IPO图P54页第5题:电话号码=【校内电话号码|校外电话号码】校内电话号码=非零数字+3位数字校外电话号码=【本市号码|外地号码】本市号码=数字零+8位数字外地号码=数字零+3位数字+8位数字非零数字=【1|2|3|4|5|6|7|8|9】数字零=03位数字=3{数字}3 8位数字=非零数字+7位数字7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9]63页第三题P63页第5题数据流图:使用SD方法给出教材购销系统中销售子系统的软件结构图. 细化并修改DFD图详细设计练习题:用N-S图、PAD图表示普调工资。