A. 软件工程期末复习题可行性研究报告有哪些主要内容
第2章软件可行性研究
2.1可行性研究
在进行任何一项较大的工程时,首先都要进行可行性分析和研究。目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
2.1.1可行性研究的任务
1.技术可行性
对要开发的项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
技术可行性是最难解决的,它一般要包括:
(1)开发的风险:在给出的限制范围内,能否设计出系统并实现必须的功能和性能。
(2)资源的有效性:人力资源以及用于建立系统的其他资源是否具备。
(3)技术:目前的技术水平能否支持这个系统。
(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
2.经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
3.社会可行性
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
2.1.2 可行性研究的具体步骤
典型性的可行性研究有下列步骤:
1.确定项目规模和目标
分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。
2.研究正在运行的系统
收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描述现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
3.建立新系统的高层逻辑模型
根据对现有系统的分析研究,逐步明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典来描述数据在系统中的流动和处理情况。现在还不是软件需求分析阶段,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。
4.导出和评价各种方案
分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可靠性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
5.推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。要求分析员对推荐的可行方案进行成本——效益分析。
6.编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。
2.2系统流程图
1.系统流程图的作用
系统流程图是描绘物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。
2.3成本——效益分析
成本——效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本——效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
下面主要介绍有形效益的分析:
1.货币的时间价值
项目开发后,应取得相应得效益,有多少效益才合算?这就要考虑货币的时间价值。通常用利率表示货币的时间价值。
设年利率为i,现存入P元,n年后可得钱数为F,若不计复利则
F=P×(1+n×i)
F就是P元在n年后得价值。反之,若n年能收入F元,那么这些钱现在得价值是:
P =F/(1+n×i)
2.投资回收期
通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。
3.纯收入
衡量项目价值的另一个经济指标是项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。若某项目的纯收入小于零,则该项目是不值得投资的。
B. 软件工程的内容是
软件工程原理、软件工程过程、软件工程方法、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用、软件工程开发使用。
一、著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理:
(1)用分阶段的生存周期计划进行严格的管理。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)软件工程结果应能清楚地审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。
二、软件工程目标:生产具有正确性、可用性以及开销合宜的产品。
正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。
开销合宜是指软件开发、运行的整个开销满足用户要求的程度。
这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
三、软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。
它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
C. 软件工程的具体内容
我是09年软件工程刚毕业的
主要专业课程:
高等数学 数据库 数据结构 操作系统 计算机网络 软件体系结构 软件工程 系统分析于设计 汇编语言 C++ JAVA linux
D. 软件工程的主要研究内容是什么软件开发与程序设计有什么不同
软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
http://ke..com/view/1659.htm?fr=ala0_1_1
程序设计=数据结构+算法
程序设计(Programming)是指设计、编制、调试程序的方法和过程。它是目标明确的智力活动。由于程序是软件的本体,软件的质量主要通过程序的质量来体现,在软件研究中,程序设计的工作非常重要,内容涉及到有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸,算法设计,编写代码和编译调试四个阶段。
按照结构性质,有结构化程序设计与非结构化程序设计之分。前者是指具有结构性的程序设计方法与过程。它具有由基本结构构成复杂结构的层次性,后者反之。按照用户的要求,有过程式程序设计与非过程式程序设计之分。前者是指使用过程式程序设计语言的程序设计,后者指非过程式程序设计语言的程序设计。按照程序设计的成分性质,有顺序程序设计、并发程序设计、并行程序设计、分布式程序设计之分。按照程序设计风格,有逻辑式程序设计、函数式程序设计、对象式程序设计之分。
程序设计的基本概念有程序、数据、子程序、子例程、协同例程、模块以及顺序性、并发性、并行性、和分布性等。程序是程序设计中最为基本的概念,子程序和协同例程都是为了便于进行程序设计而建立的程序设计基本单位,顺序性、并发性、并行性和分布性反映程序的内在特性。
程序设计规范是进行程序设计的具体规定。程序设计是软件开发工作的重要部分,而软件开发是工程性的工作,所以要有规范。语言影响程序设计的功效以及软件的可靠性、易读性和易维护性。专用程序为软件人员提供合适的环境,便于进行程序设计工作。
http://ke..com/view/8332.htm?fr=ala0_1_1