第 1章 软件与软件工程
1、软件及软件工程定义
2、软件危机的原因
3、简述瀑布模型及其特点
4、简述一下螺旋模型及其特点
5、简述一下原型模型及其特点
第 2章 软件项目管理
1、自底向上的成本估算法的特点。
2、某项目总的功能点(FP)估算值是 310,基于过去项目的人均月生产率是 5.5FP,
该项目总成本的估算值为 560,000元,试估算月均人力成本。
3、CMM
4、下面是某个程序的流程图,画出程序图并计算它的McCabe复杂性度量。
START
A
B
P
Q
F
T
END
F
T
第 3章 需求分析基础
1、请解释自顶向下,逐步求精。
2、某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,
如果是存款,系统MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1713551501692_2存款人姓名﹑住址﹑存款类型﹑存款日期﹑利率等信息,
并打印出存款单给储户;如果是取款,系统计算清单给储户。请用 DFD 描绘该
功能的需求,并建立相应的数据字典。
3、(15 分)某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生
的平时成绩和考试成绩,其主要功能描述如下:
1. 每门课程都有 3到 6个单元构成,每个单元结束后会进行一次测试,其成
绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的
考试成绩。
2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系
统。
3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生
信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如
果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时
成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否
则无效。
4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会
单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给
出具体处理意见之前,系统不会处理这些成绩。
5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会
发送课程完成
通知
关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知
给教务处,告知该门课程的成绩已经齐全。教务处根据需要,
请求系统生成相应的成绩列表,用来提交考试委员会审查。
6. 在生成成绩列表之前,系统会生成一份成绩
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
给主讲教师,以便核对是
否存在错误。主讲教师须将核对之后的成绩报告返还系统。
7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试
委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于
所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
请采用结构化方法对这个系统进行分析与
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
,试画出顶层数据流图和分层数据
流图,并给出说明。
第 4章 软件设计基础
1、什么是软件体系结构?你能说出几种典型的软件体系结构?
2、简述“高内聚低耦合”的含义,并举例说明在软件设计中如何实现“高内聚低耦
合”。
3、下面给出一个求实函数方程 F(x)在自变量区间 [a, b] 中的全部实根的算法。
首先阅读此程序,然后 (1) 画出消去全部 goto语句的结构化程序流程图。
(2) 将它改成 N_S图和和 PAD图。
(3) 计算该程序的McCabe复杂性度量。
在算法中,a与 b是区间[a, b]的两端点值;eps1与 eps2是用户要求的求解精
度。如果区间中点的函数值的绝对值小于 eps1 或新的小区间的长度小于 eps2,
就认为这个中点为根。
float BinRoot ( float a, float b, float eps1, float eps2 ) {
float low= a, high = b, mid, fmid;
float flow = Func(low), fhigh := Func(high);
label L1, L2, L3; //标号说明,给定某些程序地址
if ( flow * fhigh > 0.0 ) { BinRoot = 0; goto L3; } //无实根
L1: mid = (low + high) / 2; fmid = Func(mid);
if ( abs ( fmid ) <= eps1 ) {
L2: BinRoot = mid; goto L3;
}
else if ( high - mid <= eps2 ) goto L2;
else if ( flow * fmid > 0.0 ) { low = mid; flow = fmid; goto L1; }
else { high = mid; goto L1 };
L3:
}
4、下面是某个程序的流程图,试分别用 N-S图和 PAD表示之,并计算McCabe
复杂度。
START
L
A>0
A1 A2
S1
B>0
B1
C>0
C1 C2
S2
S3
B2
STOP
F
T
T F
D>0
E1 E2
T F
T F
T F
5. (10分)画出求 2010-2510年间闰年程序的 N-S图表示 PAD图,并计算程序
的McCabe复杂度。
6、(10分)有一个短信系统:收发人员负责发送短信给用户和从用户接收短信。
短信系统提供的功能需求为:
1)短信发送:填写发送内容,选择发送用户,并指明是否要回执,然后通过(无
线终端或短信网关)发送短信。
2)短信接收:从无线终端或短信网关读取短信内容,并显示查看。
请用 DFD(数据流图)描绘该短信系统的功能需求,并将 DFD转换为软件结构
图。
第 5章 程序设计语言和编码
1、选择程序设计语言的一般准则
2、结构化程序设计特点
3、影响程序效率的因素
第 6章 软件测试
1、黑盒测试
2、下面是选择排序的程序,其中 datalist是数据表,它有两个数据成员:一是元
素类型为 Element的数组 V,另一个是数组大小 n。算法中用到两个操作,一是
取某数组元素 V[i]的关键码操作 getKey ( ),一是交换两数组元素内容的操作
Swap( )::
void SelectSort ( datalist & list ) {
//对表 list.V[0]到 list.V[n-1]进行排序, n是表当前长度。
for ( int i = 0; i < list.n-1; i++ ) {
int k = i; //在 list.V[i].key 到 list.V[n-1].key 中找具有最小关
键码的对象
for ( int j = i+1; j < list.n; j++)
if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j; //当前具最小
关键码的对象
if ( k != i ) Swap ( list.V[i], list.V[k] ); //交换
}
}
(1) 试画出此程序段的流程图和程序图;
(2) 给出判定覆盖的测试路径;
(3) 设计判定覆盖的测试用例。
3、试分别设计如图所示的程序的语句覆盖、判定覆盖、条件覆盖测试用例。
第 7章 软件维护
1、软件维护
2、软件维护类型有那几种,在对学校公文系统进行维护主要增加了公文群发功
能,这次维护属于那种维护?
第 8章 软件重用技术
1、 软件重用
2、软件重用就是代码重用吗?为什么?
3、简述软件重用及其优点