软件需求十步走读后感12

  信息论:信息论是运用概率论与数理统计的方法研究信息、信息嫡、通信系统、数据传输、密码学、数据压缩等问题的应用数学学科。信息论将信息的传递作为一种统计现象来考虑,给出了估算通信信道容量的方法。信息传输和信息压缩是信息论研究中的两大领域。这两个方面又由信息传输定理、信源―信道隔离定理相互联系。香农被称为是“信息论之父”。人们通常将香农于1948年10月发表于《贝尔系统技术学报》上的论文《A Mathematical Theory of Communication》(通信的数学理论少作为现代信息论研究的开端。这一文章部分基于哈里·奈奎斯特和拉尔夫·哈特利先前的成果。信息论被广泛应用于编码学、密码学与密码分析学、数据传输、数据压缩、检测理论和估计理论。

  信息论是一门用数理统计方法来研究信息的度量、传递和变换规律的科学。它主要是研究通信和控制系统中普遍存在着信息传递的共同规律及研究最佳解决信息的获得、度量、变换、存储和传递等问题的基础理论。

  信息有以下性质:客观性,广泛性,完整性和专一性。首先信息是客观存在的,他不是有意志所决定的,但它与人类思想有着必然联系。同时,信息又是广泛存在的,四维空间被大量信息子所充斥。信息的一个重要性质是完整性,每个信息子不能决定任何事件,须有两个或两个以上的信息子规则排布为完整的信息,其释放的能量才足以使确定事件发生。信息还有专一性,每个信息决定一个确定事件,但相似事件的信息也有相似之处,其原因的解释需要信息子种类与排布密码理论的进一步发现。

  

  软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量

软件工程发展阶段:

( 1)程序设计阶段:程序设计阶段出现在1946~1955年。此阶段的特点是:尚无软件的概念,程序设计主要围绕硬件进行开发,规模很小,工具简单,无明确分工(开发者和用户),程序设计追求节省空间和编程技巧,无文档资料(除程序清单外),主要用于科学计算。
(2)软件设计阶段:软件设计阶段出现在1956~1970年。此阶段的特点是:硬件环境相对稳定,出现了“软件作坊”的开发组,开始广泛使用产品软件(可购买),从而建立了软件的概念。随着计算机技术的发展和计算机应用的日益普及,软件系统的规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽,开发者和用户有了明确的分工,社会对软件的需求量剧增。但软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,从而导致了“软件危机”的产生。
(3)软件工程阶段:自1971年起,软件开发进入了软件工程阶段。由于“软件危机”的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件开发进入了软件工程时代。此阶段的特点是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并广泛应用,第三代、第四代语言出现。第一代软件技术:结构化程序设计在数值计算领域取得优异成绩;第二代软件技术:软件测试技术、方法、原理用于软件生产过程;第三代软件技术:处理需求定义技术用于软件需求分析和描述。

 

  软件工程的目标:在给定成本、进度的前提下,开发出具有适用性,有效性,可修改性,可靠性,可理解性,可维护性,可重用性,可移植性,可追踪性,软件工程、可互操作性和满足用户需求的软件产品。追求这些目标,有助于提高软件产品的质量和开发效率,减少维护的困难。

  (1)适用性:软件在不同的系统约束条件下,使用户需求得到满足的难易程度。

  (2)有效性:软件系统能最有效地利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折中是经常采用的技巧。

  ( 3)可修改性:允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。

  (4)可靠性:能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。

  (5)可理解性:系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。

  (6)可维护性:软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。

  ( 7)可重用性:把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。

  (8)可移植性:软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。

  (9)可追踪性:根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。

  ( 10)可互操作性:多个软件元素相互通信并协同完成任务的能力。

posted @ 2021-06-26 22:10  printf();  阅读(91)  评论(0)    收藏  举报