1-1 什么是软件危机?
答:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1-3 什么是软件工程? 有哪些本质特性?怎样用软件工程消除软件危机?
答:是指导计算机软件开发和维护的一门工程学科。
特性略。技术措施和管理措施消除软件危机。
1-4 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):
答:1.传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
2.面向对象方法学:对象+类+消息+通信。
优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
答:(1)2023年对计算机存储容量的需求,估计是。
m=4080e0.28 (1985-1960) =
**p=0.048*0.721985-1974*4474263=5789(美元)
2)可按每月20个工作日计算,每人每月可开发出200条指令,为了装满存储器,需要的工作量是。
4474263/200=22371人月。
22371*4000=89484000(美元)
(3)2023年对存储容量的需求,估计为。
m=4080e0.28 (1995-1960) =
字长为32位,则这个存储器的**为。
p=0.003*32*0.721995-1974*73577679 =7127(美元)
在2023年一名程序员每天可开发出30条指令,每月开发600条指令,需要的工作量是73577679/600=122629 人月,成本为122629*6000=735776790美元。
1-6 什么是软件过程?它与软件工程方法学有何关系?
答: 软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
它定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。
软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。软件过程是软件工程方法学的3个重要组成部分之一。
1-7 什么是软件生命周期模型?软件生命周期划分成哪些阶段。简单描述重要的过程模型。
答: 软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。
1. 软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析。
2. 开发时期:总体设计、详细设计、编码和单元测试、综合测试。
3维护时期:主要任务是使软件持久地满足用户的需要。
生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也成为过程模型。
瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:传统的瀑布模型过于理想化,是由文档驱动的。
快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。
增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。
1-11 说明敏捷过程的适用范围。
答: 敏捷过程具体对变化和不确定性的更快速、更敏捷的反应特性,而且在快速的同时仍然能保持可持续的开发速度,因此较适用于开发可用资源及开发时间都有较苛刻约束的小型项目。
2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从那些方面研究目标系统的可行性?
答:并非任何问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。如果没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费。
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能否解决。
可行性研究的任务:1.进一步分析和澄清问题;2.导出系统的逻辑模型;3.从逻辑模型出发,提出若干种系统实现方案4.研究每种实现方案的可行性:
技术上的可行性 ——使用现有的技术能实现这个系统吗?
经济上的可行性 ——这个系统的经济效益能超过它的开发成本吗? (投资与效益)
操作可行性 ——系统的操作方式在这个用户组织内行得通吗?
社会、政策允许的可行性。
2-4 答:
问题定义:本题要开发一个病人监护系统,实现对病人症状的自动监护,形成病人日志记录,减少人力的浪费。
在监控过程中,随时接受病人的生理信息(脉搏、体温、血压、心电图),对病人的不正常生理信息(超出医生规定的安全范围的信息)发出警告,并向**发出警告信息。**还可以根据需要打印病人的病情报告。
2-5 北京某高校可用的**号码由以下几类:校内**号码由4位数字组成,第一位数字不是零;校外**又分为本市**和外地**两类,拨校外**先拨0,若是本地**再接着拨8位数字(固话第一位不是0)或11位数字(移动**第一位为1);若是外地**,则拨3位区码再拨8位**号码(固话第一位不是0),或拨0再拨11位数字(移动**第一位为1)。请用数据定义的方法,定义上述**号码。
答: **号码=[校内**号码|校外**号码]
校内**号码=非零数字+ 3 位数字 //后面继续定义。
校外**号码=[本市号码|外地号码]
本市号码=数字零+8位数字。
外地号码=数字零+3位数字+8位数字。
非零数字=[1|2|3|4|5|6|7|8|9]
数字零=0
3位数字=333至3个数字。
8位数字=非零数字+7位数字。
7位数字=77
数字=[0|1|2|3|4|5|6|7|8|9]
3-1 为什么要进行需求分析?通常对软件系统有哪些需求?
答:为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求,不论软件工程师把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望。需求分析的任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,对目标系统提出完整、清晰、准确、具体的要求。
一、综合需求。
功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。
二、 数据要求。
三、 行为建模机制。
3-2 怎样与用户沟通以获取真实需求?
答:一访谈:正式访谈、非正式访谈 、情景分析技术。
二面向数据流自顶向下求精。
三简易的应用规格说明技术。
四快速建立软件原型。
3-3银行计算机储蓄系统。
答:一、系统的分层数据流图。
二、er模型。
本问题中共有两类实体,分别是“储户”和“储蓄所”,在它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多位储户,所以“存取款”是多对多(m:n)关系。
储户的属性主要有姓名、住址、**号码和身份证号码,储蓄所的属性主要是名称、地址和**号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
3-4 机票预订系统。
某航空公司拟开发一个机票预定系统。旅行社把预订机票的旅客信息(姓名、性别…等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统核对无误即印出机票给旅客。
答: 从问题陈述可知,本系统数据源点是“病人”和“**”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息和病情报告的**。
系统对病人生理信号的处理功能主要是“接收信号”、“分析信号”和“产生警告信息”。
此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。
为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”,显然也是一个数据存储。
第一种方法。
第二种方法。
答:5-3答:
一 、储蓄系统
二、机票预订系统。
5-4 答:
适合于第1种算法。
6-3 答:
6-4答:6-5 答:
6-7 答:
6-8 答:
7-4 答:7-5答:
7-8答:1) 假设在程序的平均无故障时间和测试时间t之间存**性关系。
mttf=at + b
根据题意可知,当t=1时,mttf=10,当t=2时,mttf=15,代入方程,可得。
mttf=5+5t
a.为使mttf=100,t=19,即需要19个月的集成测试。
b.mttf=100h时,ec(t)=42,还有3个错误潜伏在程序中。
本题中采用了分别测试法,因此可以估算出刚开始测试时程序中错误总数为:
et= 24/6*20=80
因为:10 =24000/k(et-20) k=40
所以为使mttf达到60h,必须改正 60=24000/ 40*(80-ec) 得ec=70 还需改正50
8-2答:通常“对一个已有的软件做重大修改”意味着对软件功能做较大变更或增加较多新功能,这往往需要修改软件的体系结构。因此,了解原有软件的总体情况是很重要的。
程序的规格说明书准确地描述了对软件系统的数据要求、功能需求、性能需求、可靠性和可用性需求,出错处理需求、接口需求、约束、逆向需求及将来可能提出的需求,对了解已有软件的总体情况有很大帮助。在对已有软件做重大修改之前仔细阅读、认真研究这份文档,可以避免许多修改错误。因此,应该选取这份文档。
软件工程导论作业
软件工程导论 作业。1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答 软件危机是指在计算机软件开发和维护过程中所遇到的一系列的严重问题,它的典型表现 1.软件开发成本高,成本难以控制。2.研究周期长,软件开发进度难以控制,周期拖得很长。3.正确性难以保证,软件质量差,可靠性难以保证。4...
软件工程导论作业
安徽工业大学计算机学院。程序设计综合实习 软 报告。题目 关于酒店管理系统的课程报告。姓名 刘逸敏。学号 119074226 学院 计算机学院 专业 软件工程。班级 113 指导教师 胡增涛。完成日期。内容。课程设计任务书 目录。一 可行性研究报告 3 1.项目由来 3 2.可选方案 3 3.可行性...
软件工程导论大作业
要求 1手写 2每道题适当展开叙述,不得是提纲式回答问题 3统一用a4纸书写。软件工程导论大作业。1.网上购票系统等网上分布式系统都要采用验证码机制?2.叙述图灵机和冯诺依曼机的原理。3.计算机发展经历几代机?每一代机主要根据什么划分的?各代机有什么特点?4.为什么当前计算机都采用二进制数?5.实数...