1,简述算法、程序、软件与软件工程之间的区别和内在联系。
答:区别:算法是对**逻辑的整理,是一些列**更加完整;程序是一系列**的集合;在语言描述上,程序必须是用规定的程序设计语言来写,而算法很随意;在执行时间上,算法所描述的步骤一定是有限的,而程序可以无限地执行下去。
所以: 程序 = 数据结构 + 算法;软件是能实现某些功能的工具;软件工程是针对软件的一系列研究。
联系:算法可以使程序变得有条理,更加易懂;程序模块的有序结合可以实现软件功能;软件工程可以提高软件的质量与生产率,实现软件的工业化生产。
2,与计算机硬件相比,软件具有哪些特点?
答:与硬件相比,软件的特点:
1)、软件是逻辑的。而逻辑往往在人脑中,所以软件的开发过程极难控制;
2)、软件是由开发或工业化形成的,没有明显的制造过程;
3)、软件在使用过程中不存在硬件那样的磨损与老化问题;
4)、大多数软件是自定的,而不是通过已有的构件组装而成的;
5)、软件的成本想当昂贵,切本身尤其复杂。
3,什么是“软件危机”?如何解决软件危机?你认为现代软件行业中还存在软件危机吗?
答:软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程**现一系列严重问题的现象。
其主要表现在3个方面:软件错误,需求更新,环境改变。
如何解决软件危机:软件工程应使用已有的工程规则的理论和模式,来解决所谓的“软件危机”。
我认为现代的软件行业中仍然存在软件危机,尽管在软件的生产过程有许多方面与传统的工程相似,但却有独特的属性和问题,所以软件危机依然存在。
4,试简述软件工程三要素。
答:软件工程的三要素分别是:过程、方法和工具。
软件工程的过程是进行一系列有组织的活动,从而能够合理的及时地开发出计算机软件;软件工程方法为软件开发提供“如何做”的技术;软件工具为过程和方法提供自动的或半自动的支持。
5,试比较瀑布模型、原型模型、增量模型和螺旋模型,结合已有背景知识,试描述你认为理想的过程模型。
答:瀑布模型的优点是文档驱动,缺点是系统可能不满足客户的需求;
原型模型的优点是关注满足客户需求,缺点是可能导致系统设计差、效率低,难以维护;
增量模型的优点是开发早期反馈及时,易于维护,缺点是需要开放式体系结构,可能会设计差、效率低;
螺旋模型的优点是风险驱动,缺点是风险分析人员需要有经验且经过充分训练。
我认为的理想过程模型是能考虑风险驱动,及时反馈客户意见,易于改变维护,效率相对比较高,这样的模型。
6,敏捷方法与传统方法有什么区别?我们是不是应该抛弃传统方法,请给出自己的理由。
答:敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,相对于传统软件开发的“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁的交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的**编写和团队组织方法,也更注重软件开发中人的作用。
软件工程作业
题目4 operating systems 操作系统 我们通过移动时代最流行的两大操作系统来分析他们的特点。谷歌 andriod 苹果 ios 日前,市场调研机构发布了 2017 年第一季度智能 踪报告,通过该报告我们了解到,苹果依然是目前全球第二大智能手机厂商,具备ios的iphone 所占的市场...
软件工程作业
计算机与信息技术学院软件工程。专业 计算机科学与技术年级 班级 09级计科一班 2011 2012学年第二学期。一 设计背景 工资管理工作在高校日常管理中占据及其重要的地位,是真正涉及到千家万户的一件大事。高校工资管理事务政策性强,数据量大,而且报表多 条目细,要求高度精确和高度安全,还要求报表标准...
软件工程作业
生命信息与仪器工程学院。设计题目 基于gprs的远程自动抄表系统设计 专业 测试计量技术及仪器 学号。姓名。导师。一 系统功能图及网络架构。二 结构图及例图。1.用户角色关系图。主要为系统用户及权限的物理结构,其中用户对应多个角色,角色与权限为多对多的关系,中间通过中间表相互关联。2.抄表过程异常结...