1. 软件工程的定义内涵
软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己认可的定义:
BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究
FritzBauer:在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
《计算机科学技术网络全书》:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
ISO 9000对软件工程过程的定义是:软件工程过程是输入转化为输出的一组彼此相关的资源和活动。
其它定义:1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。2.程序能够满意地处理信息的数据结构。3.描述程序功能需求以及程序如何操作和使用所要求的文档。以开发语言作为描述语言,可以认为:软件=程序+数据+文档。 一、软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:
1、P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
2、D(DO)——软件开发。开发出满足规格说明的软件。
3、C(Check)——软件确认。确认开发的软件能够满足用户的需求。
4、A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。
二、从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。
三个阶段:定义阶段:可行性研究初步项目计划、需求分析;开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃
原则:1、抽象;2、信息隐蔽;3、模块化;4、局部化;5、确定性;6,一致性;7、完备性;8、可验证性
2. 软件工程:学生成绩管理系统 需求分析规格说明书(要求:分别结构化开发方法和面向对象开发方法的相应文档)
哈哈,这种东西一般都要付费的,我是打酱油的
3. 软件工程的基本介绍
软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:
BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究
FritzBauer:在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
《计算机科学技术网络全书》:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
内涵:
一、软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:
1、P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。
2、D(DO)——软件开发。开发出满足规格说明的软件。
3、C(Check)——软件确认。确认开发的软件能够满足用户的需求。
4、A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。
二、从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。三个阶段:定义阶段:可行性研究初步项目计划、需求分析; 开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃原则:1、抽象;2、信息隐蔽;3、模块化;4、局部化;5、确定性;6,一致性;7、完备性;8、可验证性
4. 软件需求规格说明书最重要的是
是 正确性,有些是 无歧义性
5. 软件工程中《软件需求规格说明书》和《详细设计说明书》区别。
需求规格说明书在前,详细设计说明书在后.
需求规格说明书要界定用户的最终需求,建立软件的功能框架.
详细设计说明书在概要设计的基础上要深化设计,接口\内容都要具体化.
6. 软件工程需求规格说明书项目主题有哪些
软件需求规格说明书大纲标题如下:
1.引言
1.1编写目的
1.2背景
1.3定义
1.4 参考资料
2.任务概述
2.1目标
2.2用户特点
2.3 假定和约束
3.需求规定
3.1 对功能的规定
3.1.1 主要功能
3.1.2 功能描述(概要)
3.1.3 用户界面
3.1.4 用户场景
3.1.5 典型用户
3.2 对性能的规定
3.2.1 精度
3.2.2 时间特性要求
3.2.3 灵活性
3.3 输入输出要求
3.4 数据管理能力要求
3.5 故障处理要求
3.6 其他专门要求
4.运行环境规定
4.1 设备
4.2 开发环境
4.3 接口
4.4 控制
5.验收标准
6.附录
7. 一道软件工程的题,让编写《软件需求规格说明书》,谁会啊谢谢啦
软件需求说明书描述的是目标系统的系统边界,包括输入、输出、进行如何加工(要明确加工流程)、相关的事件(包括异常事件)。
就是把每个功能相关的这些信息都列出来而已,不过写这个说明书之前作者是应该已经完成了系统设计的。要不然是不可能把这些功能的输入、输出、加工都弄清楚的。
8. 软件工程需求分析说明书论文怎么写
1引言 2
1.1编写目的 2
1.2背景 2
1.3定义 2
1.4参考资料 2
2任务概述 2
2.1目标 2
2.2用户的特点 3
2.3假定和约束 3
3需求规定 3
3.1对功能的规定 3
3.2对性能的规定 3
3.2.1精度 3
3.2.2时间特性要求 3
3.2.3灵活性 4
3.3输人输出要求 4
3.4数据管理能力要求 4
3.5故障处理要求 4
3.6其他专门要求 5
4运行环境规定 5
4.1设备 5
4.2支持软件 5
4.3接口 5
4.4控制 5
软件需求说明书的编写提示
1引言
1.1编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
1.2背景
说明:
a. 待开发的软件系统的名称;
b. 本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
c. 该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出用得着的参考资料,如:
a. 本项目的经核准的计划任务书或合同、上级机关的批文;
b. 属于本项目的其他已发表的文件;
c. 本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2任务概述
2.1目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
2.2用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
2.3假定和约束
列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
3需求规定
3.1对功能的规定
用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
3.2对性能的规定
3.2.1精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a. 响应时间;
b. 更新处理时间;
c. 数据的转换和传送时间;
d. 解题时间;等的要求。
3.2.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a. 操作方式上的变化;
b. 运行环境的变化;
c. 同其他软件的接口的变化;
d. 精度和有效时限的变化;
e. 计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.3输人输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
3.5故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.6其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
a. 处理器型号及内存容量;
b. 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
c. 输入及输出设备的型号和数量,联机或脱机;
d. 数据通信设备的型号和数量;
e. 功能键及其他专用硬件
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
4.3接口
说明该软件同其他软件之间的接口、数据通信协议等。
4.4控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
9. 传统软件工程的规范有哪些有哪些文档
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性,有工程app打破了很多的传统软件工程的局限性。
1、 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
2、 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
3、软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
4、 概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
5、 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
6、用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
7、测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
8、测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
9、开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
10、项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
11、 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
12、软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
13、软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。