软件工程概述

结合你之前的工程经验以及任正非致员工信,谈谈你对软件工程的看法。

 

软件工程运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。是开发、运行、维护和修复软件的系统方法,为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。
我认为软件工程在科技化的现代具有重要的地位,在如今,人们越来越提倡“无纸化”、“不出门看世界”,这些无不基于软件实现,因此这对于软件要求也越来越高。而快速发展的现代社会里,快节奏的社会环境下,软件工程如何不急于求成,在满足各方面需求并保证软件效率的前提下,以最少的人力物力耗费来实现期望的目标是艰巨的任务。

软件开发就是编码么?谈谈你对软件开发的本质的认识。

软件开发包含编码却不仅仅是编码。

软件开发本质是实现问题域中的概念和处理逻辑到运行平台的概念和处理逻辑的映射。  通过抽象(建模)、分层控制软件开发复杂性;一个创新的软件是需要基于现下社会痛点,满足人们需求的开发过程。

举例说明软件的特点有哪些?

复杂性(Complexity)——大型软件百万行源代码,上万个文件、模块间各种显性和隐形的依赖关系

不可见性(Invisibility)——看不见源代码的具体执行,软件出错很难完整重现程序出现的问题

服从性(Conformity)——软件服从硬件、服从用户需求、行业系统要求

易变性(Changeability)——软件升级(新的功能,适应新的硬件)比硬件容易修改,但正确修改难 

什么是软件危机?软件危机出现的原因及解决手段有哪些?

1968年,NATO北大西洋公约组织在联邦德国举行的关于软件开发的会议上,首次创造了“软件危机”一词,然后提出了针对性的解决方法“软件工程”的术语,标志着软件工程作为一门学科的正式出现。        摘自《No Silver Bullet》- Fred Brooks Jr.

表现

规模大、复杂度增加;供需差增大;价格昂贵;开发速度慢;质量难以保证

两个方面的问题

如何开发软件,以满足对软件日益增长的客户需求

如何维护数量不断膨胀的现有软件

解决途径

重视需求分析,与客户的沟通,确切表达需求;重视设计和实现过程的资料;充分的测试工作、维护和管理工作;统一的、公认的方法论和规范指导

软件工程的要素有哪些?各有什么作用

过程----任务框架和步骤。  

工具----支撑环境。  

方法----技术手段。

 

 

posted on 2021-04-09 07:37  syvia-1  阅读(314)  评论(0)    收藏  举报