《软件工程导论第五版习题部分答案.ppt》由会员分享,可在线阅读,更多相关《软件工程导论第五版习题部分答案.ppt(119页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1长春大学长春大学 软件学院软件学院软件工程作业解答2长春大学长春大学 软件学院软件学院作业一作业一 基本概念基本概念(第(第1-2章)章)作业二作业二 需求分析需求分析(第(第3章)章)作业三作业三 系统设计系统设计(第(第5章)章)作业四作业四 详细设计详细设计(第(第6章)章)作业五作业五 系统实现系统实现(第(第7章)章)作业六作业六 系统维护系统维护(第(第8章)章)作业七作业七 面向对象方法学引论面向对象方法学引论(第(第9章)章)作业八作业八 面向对象分析面向对象分析(第(第10章)章)作业九作业九 面向对象设计面向对象设计(第(第11章)章)作业十作业十 面向对象实现面向对象实
2、现(第(第12章)章)作业十一作业十一 软件项目管理软件项目管理(第(第13章)章)作业及解答3长春大学长春大学 软件学院软件学院作业及解答(第1-2章)1-5 1-5 根据历史数据可以做出如下的假设根据历史数据可以做出如下的假设 :对计算机存储容量的需求大致按下面公式描述的趋势逐年增对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:加:M=4080eM=4080e0.28(Y-1960)0.28(Y-1960)存储器的价格按下面公式描述的趋势逐年下降:存储器的价格按下面公式描述的趋势逐年下降:P1=0.30.72P1=0.30.72Y-1974Y-1974(美分美分/位位)如果计算机字
3、长为如果计算机字长为1616位,则存储器价格下降的趋势为:位,则存储器价格下降的趋势为:P2=0.0480.72P2=0.0480.72Y-1974Y-1974(美元美元/字字)在上列公式中在上列公式中Y Y代表年份,代表年份,M M是存储容量是存储容量(字数字数),P1P1和和P2P2代表代表价格。价格。基于上述假设可以比较计算机硬件和软件成本的变化趋势。基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:要求计算:4长春大学长春大学 软件学院软件学院(1)(1)在在19851985年对计算机存储容量的需求估计是多少年对计算机存储容量的需求估计是多少?如果字如果字长为长为1616位
4、,这个存储器的价格是多少位,这个存储器的价格是多少?(2)(2)假设在假设在19851985年一名程序员每天可开发出年一名程序员每天可开发出1010条指令,程序条指令,程序员的平均工资是每月员的平均工资是每月40004000美元。如果一条指令为一个字长,美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。计算使存储器装满程序所需用的成本。(3)(3)假设在假设在19951995年存储器字长为年存储器字长为3232位,一名程序员每天可开位,一名程序员每天可开发出发出3030条指令,程序员的月平均工资为条指令,程序员的月平均工资为60006000美元,重复美元,重复(1)(1)、(2)
5、(2)题。题。作业及解答(第1-2章)5长春大学长春大学 软件学院软件学院l(1)在在1985年对计算机存储容量的需求,估计是年对计算机存储容量的需求,估计是l如果字长为如果字长为16位,则这个存储器的价格是位,则这个存储器的价格是l(2)如果一条指令的长度为一个字,则使存储器装满程序如果一条指令的长度为一个字,则使存储器装满程序共需共需4474263条指令。条指令。l在在1985年一名程序员每天可开发出年一名程序员每天可开发出10条指令,如果每月条指令,如果每月有有20个工作日,则每人每月可开发出个工作日,则每人每月可开发出1020条指令。条指令。l为了开发出为了开发出4474263条指令以
6、装满存储器,需要的工作量条指令以装满存储器,需要的工作量是:是:作业及解答(第1-2章)6长春大学长春大学 软件学院软件学院l程序员的月平均工资是程序员的月平均工资是4000美元,美元,开发出开发出4474263条指条指令的成本是令的成本是l(3)在在1995年对存储容量的需求估计为:年对存储容量的需求估计为:l如果字长为如果字长为32位,则这个存储器的价格是:位,则这个存储器的价格是:l如果一条指令为一个字长,则为使存储器装满程序共需如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。条指令。l在在1995年一名程序员每天可开发出年一名程序员每天可开发出30条指令,每
7、月可开条指令,每月可开发出发出600条指令,为了开发出可装满整个存储器的程序,条指令,为了开发出可装满整个存储器的程序,需要的工作量为需要的工作量为作业及解答(第1-2章)7长春大学长春大学 软件学院软件学院l开发上述程序的成本为:开发上述程序的成本为:u1-6 1-6 什么是软件过程什么是软件过程?它与软件工程方法学有何关系它与软件工程方法学有何关系?软件过程是为了开发出高质量的软件产品所需完成的一系软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应该交付的文档资软
8、件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的软件过程是软件工程方法学的3个重要组成部分之一。个重要组成部分之一。作业及解答(第1-2章)8长春大学长春大学 软件学院软件学院作业及解答(第1-2章)u1-7 1-7 什么是软件生命周期?试比较瀑布模型、快速原型什么是软件生命周期?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的模型、增量模型和螺旋模型的优缺点,说明每种模型
9、的适用范围。适用范围。9长春大学长春大学 软件学院软件学院作业及解答(第1-2章)l软件生命周期是指从软件定义、开发、使用、维护到淘汰软件生命周期是指从软件定义、开发、使用、维护到淘汰的全过程。的全过程。l瀑布模型的优点:有利于大型软件开发过程中人员的组织、瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。型软件项目开发的质量和效率。l瀑布模型的缺点:(瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价)开发过程一般不能逆转,否则代价太大;(太大;(2)实际的项目
10、开发很难严格按该模型进行;)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(求如此。(4)软件的实际情况必须到项目开发的后期客户)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。才能看到,这要求客户有足够的耐心。l瀑布模型的使用范围:(瀑布模型的使用范围:(1)用户的需求非常清楚全面,且)用户的需求非常清楚全面,且在开发过程中没有或很少变化;(在开发过程中没有或很少变化;(2)开发人员对软件的应)开发人员对软件的应用领域很熟悉;(用领域很熟悉;(3)用户的使用环境非常稳定;
11、()用户的使用环境非常稳定;(4)开)开发工作对用户参与的要求很低。发工作对用户参与的要求很低。10长春大学长春大学 软件学院软件学院作业及解答(第1-2章)l快速原型模型的优点:(快速原型模型的优点:(1)可以得到比较良好的需求定)可以得到比较良好的需求定义,容易适应需求的变化;(义,容易适应需求的变化;(2)有利于开发与培训的同)有利于开发与培训的同步;(步;(3)开发费用低、开发周期短且对用户更友好。)开发费用低、开发周期短且对用户更友好。l快速原型模型的缺点:(快速原型模型的缺点:(1)客户与开发者对原型理解不)客户与开发者对原型理解不同;(同;(2)准确的原型设计比较困难;(准确的原
12、型设计比较困难;(3)不利于开不利于开发人员的创新。发人员的创新。l快速原型模型的使用范围:(快速原型模型的使用范围:(1)对所开发的领域比较熟)对所开发的领域比较熟悉而且有快速的原型开发工具;(悉而且有快速的原型开发工具;(2)项目招投标时,可)项目招投标时,可以以原型模型作为软件的开发模型;(以以原型模型作为软件的开发模型;(3)进行产品移植)进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。模型是非常适合的。11长春大学长春大学 软件学院软件学院作业及解答(第1-2章)l增量模型的优点:(增量模型的优点:(1)采
13、用增量模型的优点是人员分配)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(灵活,刚开始不用投入大量人力资源;(2)如果核心产)如果核心产品很受欢迎,则可增加人力实现下一个增量;(品很受欢迎,则可增加人力实现下一个增量;(3)可先)可先发布部分功能给客户,对客户起到镇静剂的作用。发布部分功能给客户,对客户起到镇静剂的作用。l增量模型的缺点:(增量模型的缺点:(1)并行开发构件有可能遇到不能集)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(成的风险,软件必须具备开放式的体系结构;(2)增量)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑模型的灵活性可
14、以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。型,从而是软件过程的控制失去整体性。l增量模型的使用范围:(增量模型的使用范围:(1)进行已有产品升级或新版本)进行已有产品升级或新版本开发,增量模型是非常适合的;(开发,增量模型是非常适合的;(2)对完成期限严格要)对完成期限严格要求的产品,可以使用增量模型;(求的产品,可以使用增量模型;(3)对所开发的领域比)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。较熟悉而且已有原型系统,增量模型也是非常适合的。12长
15、春大学长春大学 软件学院软件学院作业及解答(第1-2章)l螺旋模型的优点:(螺旋模型的优点:(1)设计上的灵活性)设计上的灵活性,可以在项可以在项目的各个阶段进行变更;(目的各个阶段进行变更;(2)以小的分段来构建大)以小的分段来构建大型系统型系统,使成本计算变得简单容易;(使成本计算变得简单容易;(3)客户始终)客户始终参与每个阶段的开发参与每个阶段的开发,保证了项目不偏离正确方向以保证了项目不偏离正确方向以及项目的可控性;(及项目的可控性;(4)随着项目推进随着项目推进,客户始终掌客户始终掌握项目的最新信息握项目的最新信息,从而他或她能够和管理层有效从而他或她能够和管理层有效地交互。地交互
16、。l螺旋模型的缺点:(螺旋模型的缺点:(1)采用螺旋模型需要具有相当)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重目开发中,如果未能够及时标识风险,势必造成重大损失;(大损失;(2)过多的迭代次数会增加开发成本,延)过多的迭代次数会增加开发成本,延迟提交时间。迟提交时间。l螺旋模型的使用范围:螺旋模型只适合于大规模的螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。软件项目。13长春大学长春大学 软件学院软件学院作业及解答(第1-2章)l2.3 为方便旅客,某航空公司拟开发一个机
17、票预订系统。旅为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。印出机票给旅客。写出问题定义并分析系统的可行性。写出问题定义并分析系统的可行性。14长春大学长春大学 软件学院软件学院可行
18、性分析报告可行性分析报告1 引言 11编写目的编写目的 可行性研究的目的是为了对问题进行研究,以最小的代可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解价在最短的时间内确定问题是否可解 经过对此项目进行详细调查研究,初拟系统实现报告,经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。告经审核后,交软件经理审查。15长春大学长春大学 软件学院
19、软件学院1.2 项目背景项目背景l开发软件名称:机票预订系统。开发软件名称:机票预订系统。l项目任务提出者:中国民航及中国国际旅游开发公司。项目任务提出者:中国民航及中国国际旅游开发公司。l项目开发者:浙江大学项目开发者:浙江大学IMK开发小组。开发小组。l用户:中国民航及中国国际旅游开发公司。用户:中国民航及中国国际旅游开发公司。l实现软件单位:中国国际旅游开发公司及浙江大学实现软件单位:中国国际旅游开发公司及浙江大学l项目与其他软件,系统的关系:本项目采用客户机项目与其他软件,系统的关系:本项目采用客户机/服务器服务器原理,客户端的程序是建立在原理,客户端的程序是建立在Windows NT
20、 系统上以系统上以Microsoft Visual C+为开发软件的应用程序,服务器端为开发软件的应用程序,服务器端采用采用Linux 为操作系统的工作站,是采用为操作系统的工作站,是采用Oracle 8的为开的为开发软件的数据库服务程序。发软件的数据库服务程序。可行性分析报告可行性分析报告16长春大学长春大学 软件学院软件学院13 定义:定义:l 专门术语专门术语:l 缩写词缩写词:14 参考资料:参考资料:l 软件工程导论软件工程导论,张海藩,清华大学出版社。,张海藩,清华大学出版社。l 实用软件工程实用软件工程,郑人杰等,清华大学出版社。,郑人杰等,清华大学出版社。可行性分析报告可行性分
21、析报告17长春大学长春大学 软件学院软件学院2 可行性研究的前提可行性研究的前提2.1 要求要求l主要功能:为游客提供机票预定服务,方便旅游局的售票主要功能:为游客提供机票预定服务,方便旅游局的售票工作,提高旅游局的服务质量和服务效率工作,提高旅游局的服务质量和服务效率l性能要求:机场提供的信息必须及时的反映在旅游局的工性能要求:机场提供的信息必须及时的反映在旅游局的工作平台上。售票系统的定单必须无差错的存储在机场的主作平台上。售票系统的定单必须无差错的存储在机场的主服务器上。对服务器上的数据必须进行及时正确的刷新。服务器上。对服务器上的数据必须进行及时正确的刷新。l输出要求:数据完整,详实。
22、输出要求:数据完整,详实。l输出要求:简捷,快速,实时。输出要求:简捷,快速,实时。l安全与保密要求:服务器的管理员享有对机场航班信息库安全与保密要求:服务器的管理员享有对机场航班信息库及机票信息库和定票信息库的管理与修改。售票员只享有及机票信息库和定票信息库的管理与修改。售票员只享有对订票信息库的部分修改(写入与读出)。对订票信息库的部分修改(写入与读出)。l完成期限:预计六个月,即截止年月日。完成期限:预计六个月,即截止年月日。可行性分析报告可行性分析报告18长春大学长春大学 软件学院软件学院2.2目标:目标:l系统实现后,大大提高旅游局的机票预定服务效率。降低系统实现后,大大提高旅游局的
23、机票预定服务效率。降低售票服务中的错误发生率,减少信息交流的烦琐过程及其售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。带来的开销。2.3条件,假定和限制条件,假定和限制l建议软件寿命:建议软件寿命:5年。年。l经费来源:中国国际旅游开发公司。经费来源:中国国际旅游开发公司。l硬件条件:服务器硬件条件:服务器sun工作站,终端为工作站,终端为pc机。机。l运行环境:运行环境:Linuxl数据库:数据库:Oracle8l投入运行最迟时间:投入运行最迟时间:2000/04/04可行性分析报告可行性分析报告19长春大学长春大学 软件学院软件学院l2.4可行性研究方法可行性研究方法l2.
24、5决定可行性的主要因素决定可行性的主要因素l成本成本/效益分析结果,效益效益分析结果,效益 成本。成本。l 技术可行,现有技术可完全承担开发任务。技术可行,现有技术可完全承担开发任务。l 操作可行,软件能被原有工作人员快速接受。操作可行,软件能被原有工作人员快速接受。可行性分析报告可行性分析报告20长春大学长春大学 软件学院软件学院l技术可行性分析技术可行性分析l3.1系统简要描述系统简要描述l在旅游局中的终端是安装了在旅游局中的终端是安装了Windows NT的的PC机,主要目机,主要目的是向机场的服务器传递数据。当顾客在旅游局进行咨询的是向机场的服务器传递数据。当顾客在旅游局进行咨询时,终
25、端向服务器发出查询请求,服务器根据航班信息库时,终端向服务器发出查询请求,服务器根据航班信息库的实时数据,向终端发送数据,显示在终端的屏幕上。当的实时数据,向终端发送数据,显示在终端的屏幕上。当顾客向售票员定票时,终端向服务器发出详尽的一份定单,顾客向售票员定票时,终端向服务器发出详尽的一份定单,服务器核对后,存入定票信息库,并修改机票信息库。当服务器核对后,存入定票信息库,并修改机票信息库。当顾客再次来取票时,终端向服务器发出查询定票请求,服顾客再次来取票时,终端向服务器发出查询定票请求,服务器接收后,查询定票信息库,核对后,传送机票确认表务器接收后,查询定票信息库,核对后,传送机票确认表单
26、,终端打印出机票。单,终端打印出机票。可行性分析报告可行性分析报告21长春大学长春大学 软件学院软件学院l3.2 处理流程和数据流程处理流程和数据流程系统管理员事务航班信息的更新服务器终端显示数据产生报表售票员查询请求 数据库产生报表客户机终端显示数据售票员表单申请产生报表客户机终端显示数据售票员机票核对事务在客户端打印机票和帐单产生报表及帐单可行性分析报告可行性分析报告22长春大学长春大学 软件学院软件学院经济可行性分析经济可行性分析4.1支出支出基础投资:基础投资:终端终端PC机台:机台:8000*20=16 万万网络设备:网络设备:10 万万辅助配置:辅助配置:10 万万共计共计:36万
27、万其他一次性投资:其他一次性投资:Oracle 8.0:20 万万Windows NT:10 万万操作员培训费:操作员培训费:5 万万共计共计:35 万万经常性支出:经常性支出:人工费用人工费用:6(月月)*20(人人)*5000(圆圆)=60万万其他不可知额外支出其他不可知额外支出:20万万 共计共计:80万万 支出共计支出共计:151万万可行性分析报告可行性分析报告23长春大学长春大学 软件学院软件学院4.2效益效益 一次性收益一次性收益0元元 经常性收益经常性收益 (按银行利率:(按银行利率:1%););减少员工减少员工20人人(1000圆圆/人人)五年收益五年收益:1000*(1.1+
28、(1.1)2+(1.1)3+(1.1)4+(1.1)5)*20*12*5=120万万工作效率提高收益(工作效率提高工作效率提高收益(工作效率提高30%):30*(1.1+(1.1)2+(1.1)3+(1.1)4+(1.1)5)*(30%)*5=45万万经常性收益共计经常性收益共计:160万万 不可定量收益不可定量收益因服务质量提高增加旅客量因服务质量提高增加旅客量10%:1000万万*10%*(90%+(90%)2+(90%)3+(90%)4+(90%)5)=360万万收益共计收益共计:520万万可行性分析报告可行性分析报告24长春大学长春大学 软件学院软件学院4.3 收益收益/投资比投资比
29、520万万/151万万=344%4.4 投资回收周期投资回收周期 2.3年年4.5 敏感性分析敏感性分析设计系统周期为五年设计系统周期为五年,估计最长可达估计最长可达10年年处理速度处理速度:一般查询速度一般查询速度4秒秒关键数据查询速度关键数据查询速度:0 A=B+1 IF A10 THEN X=A ELSE Y=Z END IFIF Y0 THEN PRINT G ELSE PRINT KEND IFSTOP作业及解答(第6章)86长春大学长春大学 软件学院软件学院V(G)结点结点E弧数弧数n1 =17-11+1=7 =判断判断结点结点 1 =6 17 封闭的区域数封闭的区域数87长春大学
30、长春大学 软件学院软件学院lP131:7l令令P代表交易的总金额,代表交易的总金额,Q代表每股的售价,代表每股的售价,n代表交易的代表交易的股数。股数。l(1)表示手续费计算方法的判定表如图所示。表示手续费计算方法的判定表如图所示。l判定表的每一列是一条计算规则。例如,第判定表的每一列是一条计算规则。例如,第1列列(规则规则1)规规定,当交易总金额定,当交易总金额P少于少于1000元,且每股售价元,且每股售价Q低于低于14元,元,且交易的股数且交易的股数n是是100的倍数时,给经纪人的手续费为的倍数时,给经纪人的手续费为l(l+0.05)0.084Pl第第16列列(规则规则16)表明,当交易总
31、金额表明,当交易总金额P超过超过10000元,且元,且每股售价每股售价Q在在14元到元到25元之间,且交易的股数元之间,且交易的股数n不是不是100的倍数时,手续费为的倍数时,手续费为l(1+0.06)(0.04P+134)l(2)表示手续费计算方法的判定树如图所示。表示手续费计算方法的判定树如图所示。作业及解答(第6章)88长春大学长春大学 软件学院软件学院作业及解答(第7章)89长春大学长春大学 软件学院软件学院作业及解答(第7章)90长春大学长春大学 软件学院软件学院补充补充1 1、某高校研究生招生系统的初选方法如、某高校研究生招生系统的初选方法如下:总分下:总分300300(含)以上进
32、入候选学生库,否(含)以上进入候选学生库,否则退档;数学分数不低于则退档;数学分数不低于7070分,则进入三级分,则进入三级备选库,否则进入四级备选库;在三级备选备选库,否则进入四级备选库;在三级备选库的基础上,如果专业课分数高于库的基础上,如果专业课分数高于100100分,则分,则进入一级备选库,否则进入二级备选库,请进入一级备选库,否则进入二级备选库,请画出对应的判定树。画出对应的判定树。作业及解答(第6章)91长春大学长春大学 软件学院软件学院作业及解答(第6章)92长春大学长春大学 软件学院软件学院补充补充2 2、某校的课酬计算方案如下:、某校的课酬计算方案如下:(l)(l)基本基本课
33、酬为每节课课酬为每节课1010元;元;(2)(2)如果班级人数超过如果班级人数超过4040人,课酬增加:基本课酬人,课酬增加:基本课酬0.10.1;(3)(3)如如果班级人数超过果班级人数超过6060人,课酬增加:基本课人,课酬增加:基本课酬酬0.20.2;(4)(4)如果教师是副教授,课酬增如果教师是副教授,课酬增加:基本课酬加:基本课酬0.10.1;(5)(5)如果教师是教授,如果教师是教授,课酬增加:基本课酬课酬增加:基本课酬0.20.2;(6)(6)讲师,课讲师,课酬不增加;酬不增加;(7)(7)助教,课酬减少:基本课酬助教,课酬减少:基本课酬0.10.1。请用判定表表达上述计算方案。
34、请用判定表表达上述计算方案。作业及解答(第6章)93长春大学长春大学 软件学院软件学院123456789101112人数人数40TTTT40人数人数60TT TT人数人数60TTTT助教助教TTT讲师讲师TTT副教授副教授TTT教授教授TTT课酬:课酬:9元元/节节课酬:课酬:10元元/节节课酬:课酬:11元元/节节课酬:课酬:12元元/节节课酬:课酬:13元元/节节课酬:课酬:14元元/节节94长春大学长春大学 软件学院软件学院l补充作业:补充作业:设计一个软件开发规范,假象一种开发环设计一个软件开发规范,假象一种开发环境(硬件、系统软件、支持软件、数据库、开发语言境(硬件、系统软件、支持软
35、件、数据库、开发语言等)。规范内容尽量考虑多方面问题:如等)。规范内容尽量考虑多方面问题:如SQLSQL语言规语言规范、交互界面、编码风格、命名、设计文档、单元测范、交互界面、编码风格、命名、设计文档、单元测试等试等作业及解答(第7章)95长春大学长春大学 软件学院软件学院lP174:5某图书馆有一个使用某图书馆有一个使用CET终端的信息检索系终端的信息检索系统,该系统有下列统,该系统有下列4个基本检索命令:个基本检索命令:.(1)设计测试数据以全面系统的正常操作)设计测试数据以全面系统的正常操作(2)设计测试数据以测试系统的非正常操作)设计测试数据以测试系统的非正常操作作业及解答(第7章)9
36、6长春大学长春大学 软件学院软件学院STARTINPUT(A,B,C)/判定表达式判定表达式1IF A5 THEN X=10 ELSE X=1END IF/判定表达式判定表达式2IF B10 THEN Y=20ELSE Y=2END IF作业(第7章)/判定表达式判定表达式3IF C15 THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)STOPP174:4(3)、设计下列伪码程序的语句覆盖和路径覆盖测试、设计下列伪码程序的语句覆盖和路径覆盖测试用例:用例:97长春大学长春大学 软件学院软件学院作业(第7章)序序号号判定判定输入输入预期的预期的输出输出123A B C X
37、Y Z1FF F1111232TTT204060102030语句覆盖的测试用例语句覆盖的测试用例 98长春大学长春大学 软件学院软件学院作业(第7章)序号序号判定判定输入输入预期的输出预期的输出123ABCXYZ1FF F1111232FF T116012303FTF140112034FTT14060120305TF F201110236TFT20160102307TTF20401102038TTT204060102030路径覆盖的测试用例路径覆盖的测试用例 99长春大学长春大学 软件学院软件学院l1某些软件工程师不同意某些软件工程师不同意“目前国外许多软件开发组织把目前国外许多软件开发组织把
38、60%以上的人力用于维护已有的软件以上的人力用于维护已有的软件”的说法,他们争论的说法,他们争论说:说:“我并没有花费我的我并没有花费我的60%的时间去改正我所开发的程的时间去改正我所开发的程序中的错误序中的错误”。l请问,你对上述争论有何看法?请问,你对上述争论有何看法?l2为什么大型软件的维护成本高达开发成本的为什么大型软件的维护成本高达开发成本的4倍左右?倍左右?l3假设你的任务是对一个已有的软件做重大修改,而且只假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:允许你从下述文档中选取两份:(a)程序的规格说明;程序的规格说明;(b)程序的详细设计结果(自然语言
39、描述加上某种设计工具表程序的详细设计结果(自然语言描述加上某种设计工具表示示);(c)源程序清单(其中有适当数量的注解源程序清单(其中有适当数量的注解)。l你将选取哪两份文档?为什么这样选取?你将选取哪两份文档?为什么这样选取?作业及解答(第8章)100长春大学长春大学 软件学院软件学院l4当一个十几年前开发出的程序还在为其用户完成关键当一个十几年前开发出的程序还在为其用户完成关键的业务工作时,是否有必要对它进行再工程?如果对它进的业务工作时,是否有必要对它进行再工程?如果对它进行再工程,经济上是否划算?行再工程,经济上是否划算?l5代码重构与正向工程有何相同之处?有何不同之处?代码重构与正向
40、工程有何相同之处?有何不同之处?作业及解答(第8章)101长春大学长春大学 软件学院软件学院p221:101用面向对象范型开发软件时与用结构化范型开发软件时用面向对象范型开发软件时与用结构化范型开发软件时相比较,软件的生命周期有何不同?这种差异带来了什么相比较,软件的生命周期有何不同?这种差异带来了什么后果?后果?2为什么在开发大型软件时,采用面向对象范型比采用结为什么在开发大型软件时,采用面向对象范型比采用结构化范型较易取得成功?构化范型较易取得成功?3为什么说夏利牌汽车是小汽车类的特化,而发动机不是为什么说夏利牌汽车是小汽车类的特化,而发动机不是小汽车类的特化?小汽车类的特化?4对象和属性
41、之间有何区别?对象和属性之间有何区别?5什么是对象?它与传统的数据有何异同?什么是对象?它与传统的数据有何异同?6什么是模型?开发软件时为什么要建立模型?什么是模型?开发软件时为什么要建立模型?作业及解答(第9章)102长春大学长春大学 软件学院软件学院7试用面向对象方法分析设计下述程序:试用面向对象方法分析设计下述程序:在显示器屏幕上圆心坐标为在显示器屏幕上圆心坐标为(100,100)的位置画一个半径为的位置画一个半径为40的圆,在圆心坐标为的圆,在圆心坐标为(200,300)的位置画一个半径为的位置画一个半径为20的圆,在圆心坐标为的圆,在圆心坐标为(400,150)的位置画一条弧,弧的起
42、的位置画一条弧,弧的起始角度为始角度为30度,结束角度为度,结束角度为120度,半径为度,半径为50。8用面向对象方法解决下述问题时需要哪些对象类?类与用面向对象方法解决下述问题时需要哪些对象类?类与类之间有何关系?在显示器屏幕上圆心坐标为类之间有何关系?在显示器屏幕上圆心坐标为(250,100)的位置,画一个半径为的位置,画一个半径为25的小圆,圆内显示字符串的小圆,圆内显示字符串“you”;在圆心坐标为;在圆心坐标为(250,150)的位置,画一个半径为的位置,画一个半径为100的中圆,圆内显示字符串的中圆,圆内显示字符串“world”;再在圆心坐标;再在圆心坐标为为(250,250)的位
43、置,画一个半径为的位置,画一个半径为225的大圆,圆内显的大圆,圆内显示字符串示字符串“Universe”。作业及解答(第9章)103长春大学长春大学 软件学院软件学院9试建立下述订货系统的用例模型。试建立下述订货系统的用例模型。假设一家工厂的采购部每天需要一张订货报表,报表按零假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。件名称,订货数量,
44、目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的终端把事务零件入库或出库称为事务,通过放在仓库中的终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。值时就应该再次订货。10为什么说面向对象方法与人类习惯的思维解题方法比为什么说面向对象方法与人类习惯的思维解题方法比较一致?较一致?作业及解答(第9章)104长春大学长春大学 软件学院软件学院11我我们们下下班班回回家家这这件件事事,人人(假假如如是是我我)就就是是一一个个对对象象,我我们来考察一下几个状态:们来考察一下几个状态:1.1.到下班
45、时间了,收拾东西准备回家到下班时间了,收拾东西准备回家(不考虑加班不考虑加班)。2.2.开始等电梯。开始等电梯。3.3.到了楼下。(发现没带家里钥匙,上楼拿)到了楼下。(发现没带家里钥匙,上楼拿)4.4.上楼。上楼。5.5.去公交等车。去公交等车。6.6.乘公共汽车去菜场。乘公共汽车去菜场。7.7.买菜买菜8.8.回到家回到家l那么事件呢?那么事件呢?1.1.下班时间到了下班时间到了(准备下班准备下班)。2.2.电梯到电梯到(上电梯上电梯)3.3.电梯到楼下电梯到楼下(下电梯下电梯)3.3.发现没有家里钥匙发现没有家里钥匙(去拿钥匙去拿钥匙)。4.4.自己要乘公共汽车到了自己要乘公共汽车到了(
46、上车上车)。5.5.公共汽车到站公共汽车到站(下车下车)。6.6.忽然想起家里没菜忽然想起家里没菜(去买菜去买菜)。作业及解答(第9章)105长春大学长春大学 软件学院软件学院名称:名称:就是名字,状态的名字。就是名字,状态的名字。进进入入/退退出出动动作作:对对象象本本身身的的一一个个操操作作,比比如如在在电电梯梯里里是是一一个个状状态态的的话话,哪哪我我们们进进电电梯梯和和出出电电梯梯就就是是状状态态-在在电电梯里梯里-的进入的进入/退出动作。退出动作。内内部部转转换换:如如我我们们在在去去等等电电梯梯的的时时候候发发现现钥钥匙匙没没带带,此此时时我我们们不不用用在在等等电电梯梯的的以以后
47、后状状态态是是再再有有事事件件触触发发,在在准准备备下下班班的的状状态态上上我我们们就就去去拿拿钥钥匙匙了了,对对于于对对象象本本身身,前前后后两两次次的根本状态不一样,一个是有钥匙,一个是没有钥匙。的根本状态不一样,一个是有钥匙,一个是没有钥匙。(子子状状态态):如如果果我我们们描描述述该该对对象象在在电电梯梯里里说说话话,抽抽烟烟(一一般般电电梯梯不不许许)等等状状态态时时,该该状状态态就就是是该该对对象象状状态态-在电梯里在电梯里-状态的子状态。状态的子状态。(延延迟迟事事件件):现现在在不不立立即即产产生生的的事事件件,该该事事件件是是在在一一段段时间以后才产生的事件。时间以后才产生的
48、事件。作业及解答(第9章)106长春大学长春大学 软件学院软件学院1.1.试试用面向用面向对对象方法分析象方法分析设计设计下述程序:下述程序:在在显显示器屏幕上示器屏幕上圆圆心坐心坐标为标为(100,100)(100,100)的位置画一个半径的位置画一个半径为为4040的的圆圆,在,在圆圆心坐心坐标为标为(200,300)(200,300)的位置画一个半径的位置画一个半径为为2020的的圆圆,在,在圆圆心坐心坐标为标为(400,150)(400,150)的位置画一条弧,的位置画一条弧,弧的起始角度弧的起始角度为为3030度,度,结结束角度束角度为为120120度,半径度,半径为为5050。作业
49、及解答(第10章)107长春大学长春大学 软件学院软件学院2.2.在在显显示器屏幕上示器屏幕上圆圆心坐心坐标为标为(250,100)(250,100)的位置,画一的位置,画一个半径个半径为为2525的小的小圆圆,圆圆内内显显示字符串示字符串“you”you”;在;在圆圆心心坐坐标为标为(250,150)(250,150)的位置,画一个半径的位置,画一个半径为为100100的中的中圆圆,圆圆内内显显示字符串示字符串“world”world”;再在;再在圆圆心坐心坐标为标为(250,250)(250,250)的位置,画一个半径的位置,画一个半径为为225225的大的大圆圆,圆圆内内显显示字符串示字
50、符串“Universe”Universe”。用面向用面向对对象方法解决上述象方法解决上述问题时问题时需要哪些需要哪些对对象象类类?类类与与类类之之间间有何关系?有何关系?试试用用C+C+语语言言编编程程实现该类继实现该类继承承结结构。构。设计测试设计测试用例以用例以测试该类继测试该类继承承结结构中的各个构中的各个类类。作业及解答(第10章)108长春大学长春大学 软件学院软件学院3.3.请用面向对象方法分析设计下述的图书馆自动化系统:请用面向对象方法分析设计下述的图书馆自动化系统:设计一个软件以支持一座公共图书馆的运行。该系统有设计一个软件以支持一座公共图书馆的运行。该系统有一些工作站用于处理