一、简答题1. 简述系统设计阶段的主要活动。
(1)系统总体设计。其中包括软件系统总体结构设计,数据库设计,通信网络平台设计。
(2)系统详细设计。其中包括代码设计,输入输出界面设计,处理过程设计。
(3)编写系统设计报告。
2. 简述系统总体结构设计的任务。
系统总体结构设计的任务是根据系统分析的逻辑模型设计应用软件系统的物理结构。
3. 简述物理设计的基本要求。
系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这是物理设计的基本要求。
4. 简述结构化设计方法的核心内容。
模块化、结构化、自顶向下逐步求精,构成了结构化设计方法的核心内容。
5. 简述结构化程序设计(Structured Programming)的出发点。
结构化程序设计(Structured Programming)的出发点是要改变人们在软件设计中率性、随意的方式,保持程序具有良好的一致性、可读性和可维护性,降低软件程序合作开发的难度。
6. 简述模块间调用的规则。
模块间调用,应按以下规则进行。
(1)每个模块有自身的任务,只有接受到上级模块的调用命令时才能执行。
(2)模块之间的通信只限于其直接上下级模块,任何模块不能直接与其他上下级模块或同级模块发生通信联系。
(3)若有某模块要与非直接上下级的其他模块发生通信联系,必须通过其上级模块进行传递。
(4)模块调用顺序为自上而下。
7. 简述控制结构图的作用。
控制结构图既可以反映系统整体结构,又能反映系统的细节,能准确反映各组成部分(各模块)及它们之间的联系。通过控制结构图,将系统任务分散为许多模块,可以由不同的设计人员分别承担不同模块的设计和实施,便于管理与控制。
8. 简述合理的系统结构设计要满足的条件。
(1)系统项目容易开发。
(2)降低项目开发成本。
(3)系统有较高的可靠性。
(4)系统容易维护。
9. 简述模块凝聚的级别。
模块按凝聚程度从低到高可分为以下五级。(1)偶然凝聚。(2)逻辑凝聚。(3)时间凝聚。(4)数据凝聚。(5)功能凝聚。
10. 简述模块分解与软件开发成本之间的关系。
结构分解的程度越细越深,每个模块开发的复杂性就越低,但是模块之间的接口联系越多也越复杂。与项目开发成本相对应的最小工作量需要找到合理的模块划分数,这取决于模块成本与接口成本间的平衡。
11. 简述高内聚和低耦合的意义。
针对某个模块进行的纠错、升级和功能扩充等都局限在该模块内部,不会牵一发而动全身,导致其他模块的功能受到牵连而必须同时调整,避免系统陷入难于修改的被动局面。
12. 简述凝聚性和耦合性之间的关系。
凝聚性和耦合性这两个指标是相反相成的:如果系统模块的划分过细,每个模块的功能很单一,模块凝聚性提高了,但模块间的各种联系会很多,模块耦合性反而会提高。反之,若模块划分过于粗略,每个模块的功能高度复合,模块耦合性会降低,但凝聚性也同时降低,不易于对系统进行修改调试。
14. 简述以转换为中心的结构的组成。
以转换为中心的结构可分解为输入、处理、输出三大部分。
15. 简述卡片分类法的目标。
卡片分类法的目标是帮助人们找出项目分组的规律,便于对项目进行合理归类。
16. 简述卡片分类法的基本步骤。
(1)将需要分类的项目名称分别写在卡片上,每张卡片写一个名称。
(2)请不同的参与者以自己认为合理的方式对所有的卡片进行分组和归类。
(3)要求参与者自行梳理各个分组,必要时为分组做出新的命名,写在空白卡片上。
(4)当所有参与者都完成分类过程后,根据最大共识的分类结果建立起选单结构。
17. 简述设计输入界面应注意的原则。
设计输入界面一定要注意以下原则:
(1)保证输入的正确性。(2)输入数据的完整性。(3)数据输入的效率。
18. 简述输出界面设计应考虑的要求。
输出界面设计要分别考虑以下几个方面的要求:(1)输出内容。(2)输出方式。(3)输出版面布局。
19. 简述代码重要性的表现。
代码的重要性表现在下面几个方面。
(1)可以唯一地标识一个分类对象(实体)。
(2)加快输入,减少出错,提高处理效率。
(3)便于存储和检索,节省存储空间。
(4)使数据表达标准化,简化处理程序。
(5)为全局数据一致性提供了基础。
20. 简述代码设计的原则。
(1)唯一性。(2)简单性。(3)可识别性。(4)可扩充性。(5)合理性。(6)规范性。
21. 简述常见的代码类型。
(1)顺序码。(2)重码码。(3)成组码。(4)表意码。
22. 简述数据库设计的要求。
数据库设计的目标是建立一个合适的数据模型。这个数据模型要求如下。
(1)满足用户要求。既能合理地组织用户需要的所有数据,又能支持用户对数据的所有处理功能。
(2)满足数据库管理系统要求。应当能够在某个指定的数据库管理系统(如SQL Server、Visual FoxPro等)中实现。
(3)具有较高的范式。要求数据完整性好、效益高,便于理解和维护,没有数据冲突。
23. 简述数据库设计的步骤。
数据库设计可以分为概念结构设计、逻辑结构设计和物理结构设计三个阶段。
24. 简述逻辑结构设计的任务。
逻辑结构设计的任务,就是把在概念结构设计阶段建立的基本E-R图,按选定的关系数据模型的原则转换成相应的逻辑模型。
25. 简述系统设计说明书的内容。
系统设计说明书的内容应当包含七个方面。
(1)控制结构图及每一模块的详细说明。
(2)数据库设计说明。
(3)计算机和网络系统配置说明。
(4)代码设计说明。
(5)用户界面设计说明。
(6)计算机处理过程说明。
(7)实施费用估计。
26. 简述好的窗口界面的特点。
(1)对功能和信息的表现力强。
(2)保持统一的风格。
(3)突出核心功能。
二、应用题1. 某建筑单位可以承接各种工程。若每项工程均有一位负责人,每位负责人只能承包一项工程。每项工程都要用多种建材,每种建材又可以用于不同的工程。若每种建材只由一位供应商提供,每位供应商可以提供多种建材。
假定供应商提供的建材数量为PMQ,各工程需要的建材数为SMQ,每位承包人的工期为SRT。如果已知4个实体如下:工程:编号,名称,承包价,合同号S(SN,ST,SP,SC)
建材:编号,名称,计量单位,单价
M(MN, MT, MU, MP)
供应:编号,名称,地址,电话,传真
P(PN, PT, PAD, PTEL, PFX)
承包人:编号,姓名,职称,工作单位
R(RN, RM, RF, RU)
请先画出完整的E-R图,再转换成优化的关系模型。
(1)实体对应的关系。
①工程:编号,名称,承包价,合同号S(SN,ST,SP,SC)
②建材:编号,名称,计量单位,单价M(MN,MT,MU,MP)
③供应商:编号,名称,地址,电话,传真P(PN,PT,PAD,PTEL,PFX)
④承包人:编号,姓名,职称,工作单位R(RN,RM,RF,RU)
(2)联系对应的关系。
⑤负责:编号,编号,工期,SR(RN,SN,SRT)码为RN或SN
⑥需要:编号,编号,建材数SM(SN,MN,SMQ)组合码
⑦提供:编号,编号,数量PM(MN,PN,PMQ)
(3)合并关系。
2和7合并:MPM(MN,MT,MU,MP,PN,PMQ)
4,5或1,5合并:RSR(RN,RM,RF,RU,SN,SRT)或SSR(SN,ST,SP,SC,RN,SRT)
分析下图的数据流程图,并分别回答下面的问题。
3. 若系统要求只有当C大于0时,才输出C结构图应作何修改。
4. 若系统要求反复调用“B变C”,直到C为正,此时结构图应作何修改。
5. 酒店前台管理系统中,“门卡制作”一个以转换为中心的模块,其中:输入部分为转移用户信息,处理部分为设定到期时间,输出部分为写卡。请据此,将“门卡制作”进行分解,画出其控制结构图。
6. 在用户身份验证中,过程如下:
S1:用户输入用户名,如果用户名正确,执行S2;如果错误,执行S4
S2:输入口令,如果正确则进入系统;如果错误,则执行S3
S3:如果次数小于等于3,则重新输入口令;否则,弹出非法用户警告
S4:如果用户名错误次数小于等于3,则重新输入用户名;否则,进行非法用户警告
请据此,画出决策树描述用户身份验证逻辑。
7. 下图为图书借阅的E-R模型,请将其转化为关系模型。
读者(编号,姓名,读者类型,已借数量)
借阅(读者编号,图书编号,借期,还期)
图书(编号,书名,出版社,出版日期,定价)
8. 下图为活期储蓄管理系统的E-R模型,请将其转化为关系模型。
储户信息(账号,姓名,电话,地址,信誉,存款额,开户行)储蓄所(编号,名称,电话,地址)存取款(账号,储蓄所编号,存取标志,存取金额,存取日期)
9. 某大学共有34个系别,每个系别人数不到1000人,请采用合适的编码方式,建立代码系统。
可以采用成组码方式编码,学号代码为:
段号 |
位数 |
含义 |
1 |
4 |
入学年份 |
2 |
2 |
系别 |
3 |
3 |
系内号 |