软件工程概论,过程和生命周期的建模简答题:试说明“软件生存期”...
软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。
这就是软件的生存期。
它分为6个阶段:(1) 软件项目计划 :在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。
根据有关成本与进度的限制分析项目的可行性。
(2) 软件需求分析和定义 :在这一步详细定义分配给软件的系统元素。
可以用以下两种方式中的一种对需求进行分析和定义。
一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。
另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。
(3) 软件设计 :软件的设计过程分两步走。
第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。
第二步做详细设计,考虑设计每一个模块部件的过程描述。
经过评审后,把每一个加细的过程性描述加到设计规格说明中去。
(4) 程序编码 :在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。
应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。
(5) 软件测试 :单元测试检查每一单独的模块部件的功能和性能。
组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。
确认测试检查所有的需求是否都得到满足。
在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。
(6) 软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。
与软件维护相关联的那些任务依赖于所要实施的维护的类型。
...过程和生命周期的建模简答题:试说明“软件生存期”的概念。
展开全部 软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。
这就是软件的生存期。
它分为6个阶段:(1) 软件项目计划 :在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。
根据有关成本与进度的限制分析项目的可行性。
(2) 软件需求分析和定义 :在这一步详细定义分配给软件的系统元素。
可以用以下两种方式中的一种对需求进行分析和定义。
一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。
另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。
(3) 软件设计 :软件的设计过程分两步走。
第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。
第二步做详细设计,考虑设计每一个模块部件的过程描述。
经过评审后,把每一个加细的过程性描述加到设计规格说明中去。
(4) 程序编码 :在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。
应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。
(5) 软件测试 :单元测试检查每一单独的模块部件的功能和性能。
组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。
确认测试检查所有的需求是否都得到满足。
在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。
(6) 软件维护 :为改正错误,适应环境变化及功能增强而进行的一系列修改活动。
与软件维护相关联的那些任务依赖于所要实施的维护的类型。
...
软件生存期与软件项目的生命周期有什么区别
软件的生存周期是指从概念的形成、项目定义与决策、系统分析与设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
软件项目的生存周期与软件的生存期是不同的。
软件项目的生命周期是指从项目批准到交付使用的过程。
而立项前的调研、系统维护、升级等可以不是项目生命周期的阶段,但是可以作为软件的生存期的一部分。
软件生存期与软件项目的生命周期有什么区别
展开全部 软件的生存周期是指从概念的形成、项目定义与决策、系统分析与设计、开发成功、投入使用,并在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过程。
软件项目的生存周期与软件的生存期是不同的。
软件项目的生命周期是指从项目批准到交付使用的过程。
而立项前的调研、系统维护、升级等可以不是项目生命周期的阶段,但是可以作为软件的生存期的一部分。
...
软件与硬件的定义与区别?
软件是程序最终的结果就是软件硬件主要是指键盘,鼠标,显示器等等实际看得见的一些物质软件具有与硬件不同的特点:(1)表现形式不同硬件有形,有色,看得见,摸得着。
而软件无形,无色,无味,看不见,摸不着,闻不到。
软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。
这就给设计、生产和管理带来许多困难。
(2)生产方式不同软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。
尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同硬件产品允许有误差,而软件产品却不允许有误差。
4)维护不同硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。
因为在软件的整个生存期中,一直处于改变(维护)状态。
软件分为系统软件和应用软件系统软件如:操作系统(WINDOWS操作系统 UNIX操作系统 MAC操作系统 Linux操作系统等)应用软件如: 杀毒软件等
计算机软件概念,请问如何解释?
什么是计算机软件计算机软件(Computer Software)是指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件是用户与硬件之间的接口界面。
用户主要是通过软件与计算机进行交流。
软件是计算机系统设计的重要依据。
为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
软件的正确含义应该是:(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件具有与硬件不同的特点: (1)表现形式不同硬件有形,有色,有味,看得见,摸得着,闻得到。
而软件无形,无色,无味,看不见,摸不着,闻不到。
软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。
这就给设计、生产和管理带来许多困难。
(2)生产方式不同软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。
尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同硬件产品允许有误差,而软件产品却不允许有误差。
(4)维护不同硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。
因为在软件的整个生存期中,一直处于改变(维护)状态。
什么叫软件外包?
什么是软件外包?软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。
现在业务流程外包(BPO)已经成为外包服务新的发展趋势,在未来几年内将成为外包的主要内容。
BPO包括人力资源、采购、财会、客户中心、后勤、研发、营销、工厂运作、培训,这些大类还可以进一步细分。
不仅IT行业需要BPO,而且BPO的每项业务都离不开IT业务的支持,从而产生IT外包机会。
一个软件开发项目通常要经历需求分析、设计、编程、测试等几个大的阶段。
其中设计又包括整体设计、系统设计(把整体架构变成一块块系统)、详细设计几个环节。
详细设计之后软件就变成了一块块模块,这以后才进入编程。
到了编程阶段时,最后就剩下软件蓝领为模块的Coding工作,在印度通常由受过一两年训练的高职毕业生担任。
软件最后的测试又是一个复杂过程——有单元测试(小模块测试)、系统测试(块与块的联系整合)、总体功能测试。
期间由测试编程工程师编写测试工具,制定测试规则,其难度不亚于系统框架的制定。
最后才由测试工程师完成测试的任务。
外包软件测试有望成为小作坊软件业业务增长点企业若想把承接国际软件外包的业务做强做大,必须与国际软件市场接轨——包括英语的理解与沟通能力,技术接轨、管理接轨、做事方法接轨、知识产权接轨。
还有质量保障、信誉度保障、风险控制能力以及知识产权保障等方面。
以上条件显然国内大多数小作坊式软件企业还做不到。
但这也未必表示小作坊软件企业就没有机会承接软件外包服务。
因为软件外包项目中,软件测试项目最适合中国现阶段小作坊软件企业的行业特色。
软件测试是保证软件质量的最重要的手段使用低质量的软件,在运行过程中可能会产生这样那样的问题,可能为使用单位带来造成延误工作或者造成生命财产的损失。
而软件测试是为保证软件用户免于遭受损失的最重要的手段。
什么是软件测试?1983年IEEE定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
现代的软件开发工程是将整个软件开发过程明确的划分为几个阶段(参见下图),将复杂问题具体按阶段加以解决。
这样,在软件的整个开发过程中,可以对每一阶段提出若干明确的监控点,作为各阶段目标实现的检验标准,从而提高开发过程的可见度和保证开发过程的正确性。
经验证明,软件的质量不仅是体现在程序的正确性上,它和开始编码以前所做的系统需求分析,软件设计密切相关。
许多软件使用中出现的错误,未必是编程人员在编码阶段造成的,反而在程序设计,甚致在需求分析时就埋下了祸因。
这时,对软件工程的错误纠正,就必须追溯到软件开发的最初阶段。
如果是这样又增大了软件的开发费用。
为了保证软件的质量,专案管理就应该着眼于整个软件生存期,特别是在开发阶段的系统分析。
所以软件测试的概念和实施范围必须包括在整个开发各阶段的复查、评估和检测。
软件工程师要学什么
首先,软件工程师本身的技能范围就非常宽泛,大学本科学的内容都是基础,只起到铺垫的作用,实际应用的时候经常需要学习新知识。
其次,各个大学的课程都不太一样,不知道你们学校开了什么课。
一般肯定有基础课和选修课,基础课不用说,必须都上,选修课主要看你的兴趣,其实都是跟软件工程师相关的内容。
具体来说,基础课都很重要,离散数学、数据结构和算法、专业英语等都要好好学;软件工程这门课几乎是所有软件开发的核心;操作系统、网络技术是底层的基础;数据库、XML很重要;编程方面,有的学校学C语言,有的学校直接学Java,都可以,将来还要学习多种其他语言;web开发、嵌入式开发等都是具体应用,应该都是选修方向,另外,还有一些综合性的课程,比如信息系统、智能系统、数据挖掘理论等,如果你们学校开了这些课,有兴趣不妨去听一下,都很有意思。
另外,国家软件水平考试把软件工程师分了5个大类、27个小项。
你也可以参考这个分类来确定你将来想向哪个方向发展,然后决定去上哪些相关的课程。