第一章思考题
作者:互联网
1 结合你之前的工程经验以及任正非致员工信,谈谈你对软件工程的看法。
软件工程的定义
1968年10月,北大西洋公约组织(NATO) 科技委员会 出资在西德举办“软件工程”大会,首次提出“软件工程”的概念。
定义:软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。
1993年IEEE的定义:软件工程是:
①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程。
②研究①中提到的途径。
软件工程的本质特性
大型项目——软件工程的提出,主要是解决政府的大型软件开发问题,没考虑小型软件;
项目把控——软件工程的中心课题是控制复杂性,使软件项目不是空
团队合作——大型软件项目,自然要很多人合作开发;
需求变更——软件经常变化,要适应不要抵制;
开发效率——开发软件的效率非常重要;
用户体验——软件必须有效地支持它的用户;
业务流程——在软件工程领域中,创造软件产品的软件工程师们 往往缺乏产品相关业务领域的知识。
2 软件开发就是编码么?谈谈你对软件开发的本质的认识。
编码只是其中一部分。
软件开发是根据用户要求建造软件系统,包括需求捕捉、需求分析、需求设计、需求实现和测试。
软件分为系统软件和应用软件,软件是用程序设计语言来实现的。
常见的软件开发语言:JAVA、C、 C++、 php、JSP、ASP 等。
3 举例说明软件的特点有哪些?
- 复杂性(Complexity): 大型软件百万行源代码,上万个文件;模块间各种显性和隐性的依赖关系。
- 不可见性(Invisibility):软件执行时,无法看到源代码的执行;软件出错很难完整重现程序出现的问题。
- 服从性(Conformity):软件服从于硬件、服从于用户需求、行业系统要求。
- 易变性(Changeability):比硬件容易修改,但正确修改难。
4 什么是软件危机?软件危机出现的原因及解决手段有哪些?
软件危机 : 是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
软件危机出现的原因:
- 用户需求不明确
- 缺乏正确的理论指导
- 软件开发规模越来越大
- 软件开发复杂度越来越高
解决手段:
- 重视需求分析,与客户的沟通,确切表达需求
- 重视设计和实现过程的资料
- 充分的测试工作
- 维护和管理工作
- 统一的、公认的方法论和规范指导
5 软件工程的要素有哪些?各有什么作用?
标签:需求,用户,软件开发,思考题,大型软件,第一章,软件工程,软件 来源: https://www.cnblogs.com/WANGSUJIMAN/p/14911616.html