软件工程导论——1基本概念

基本概念

重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点:

1、 软件的概念和特点

软件是:

(1)指令的集合,通过执行这些指令可以满足预期的特性、功能和性能需求;
(2)数据结构,使得程序可以合理利用信息;
(3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序的操作和使用

软件是逻辑的而非物理的系统元素。因此,软件和硬件具有完全不同的特性:软件不会“磨损”。

2、软件危机的概念和产生的原因

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关.另一方面也于开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。由于软件缺乏“可见性”,在写出程序代码并在计算机上试运行之前.软件开发过程的进展情况较难衡量,软件的质量也较难评价,因此,管理和控制软件开发过程相当困难。此外,软件在运行过程中不会因为使用时间过长而被“用坏”,如果运行中发现了错误。很可能是遇到了个在开发时期引入的在测试阶段没能检测出来的错误。因此.软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。
软件不同于一般程序,它的一个显著特点是规模庞大.而且程序复杂性将随着程序规模的增加而呈指数上升。为了在预定时间内开发出规模庞大的软件,必须由许多人分工合作。然而,如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,这不仅涉及许多技术问题,诸如分析方法、设计方法,形式说明方法、版本控制等.更重要的是必须有严格而科学的管理。
软件本身独有的特点确实给开发和维护带来一些客观困难 但是人们在开发和使用计算机系统的长期实践中.也确实积累和总结出了许多成功的经验,如果坚持不懈地使用经过实践考验证明是正确的方法.许多困难是完全可以克服的.过去也确实有一些成功的范例,但是,目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。
与软件开发和维护有关的许多错误认识和做法的形成.可以归因于在计算机系统发展的早期阶段软件开发的个体化特点。错误的认识和做法主要表现为忽视软件需求分析的重要性,认为软件开发就是写程序并设法使之运行.轻视软件维护等。
事实上,对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。只有用户才 真正了解他们自己的需要.但是许多用户在开始附并不能准确具体地叙述他们的需要.软件开发人员需要做大量深人细致的调查研究工作,反复多次地和用户交流信息,才能真正全面.准确、具体地了解用户的要求。对问题和目标的正确认识是解决任何问题的前提和出发点、软件开发同样也不例外。急于求成,仓促上阵,对用户要求没有正确认识就匆忙着手编写程序,这就如同不打好地基就盖高楼-样、最终必然垮台。事实上,越早开始写程序.完成它所需要用的时间往往越长。

3、软件工程的定义、三要素和发展过程

软件工程是:

(1)把系统的、规范的、可度量的的途径用于软件的开发、运行和维护过程,也就是把工程应用于软件。(2)研究(1)一中所提到的方法。

软件工程包括三个要素:方法、工具和过程。

软件工程的基础是过程层。软件过程将各个技术层次结合在一起,使得合理、及时地开发计算机软件成为可能。过程定义了一个框架,构建该框架是有效实施软件工程技术必不可少的。软件过程构成了软件项目管理控制的基础,建立了工作环境以便于应用技术方法、提交工作产品、建立里程碑、保证质量及正确的管理变更。
软件工程方法为构建软件提供技术上的解决方法。方法的覆盖面很广,包括:沟通、需求分析、设计建模程序构造、测试和技术支持。软件工程方法依赖于一组基本原则,这些原则涵盖了软件工程所有技术领域,包括建模活动和其他描述性技术等。
软件工程工具为过程和方法提供自动化或半自动化的支持。这些工具可以集成起来,使得一个工具产生的信息可被另一个工具使用,这样就建立了软件开发的支撑系统,称为计算机辅助软件工程

发布了23 篇原创文章 · 获赞 2 · 访问量 478

猜你喜欢

转载自blog.csdn.net/weixin_42385782/article/details/103129879