地信1902李孟雪 第一章思考题
1.结合你之前的工程经验以及任正非致员工信,谈谈你对软件工程的看法。
答:软件工程是运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料,为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则,是开发、运行、维护和修复软件的系统方法。
在任正非的致员工信中,他深感软件开发对企业发展的影响。他强调要转变观念,追求打造可信的高质量产品。这不仅体现在产品外在表现,更体现在产品内在实现。他鼓励员工主动学习提升,形成共享知识库,从而推动这一伟大变革。
2.软件开发就是编码么?谈谈你对软件开发的本质的认识。
答:软件开发包括编码但不仅限于编码。除编写编码外,还需要编写大量的文档和建立各种模型,需要大量的工具来提高开发效率。
软件开发的本质:软件开发不同于一般的产品生产,它创造的唯一产品或者服务是逻辑载体。软件开发是根据用户需求建造出软件系统或者系统中的软件部分的过程。不同于其他产品的制造,软件过程更多的是设计过程,并没有物质结果。本质是不同抽象层之间的映射或不同抽象层处理逻辑之间的映射。
3.举例说明软件的特点有哪些?
答:软件的特点:复杂性、不可见性、服从性、易变性。
复杂性:软件是一个庞大的逻辑系统;大型软件百万行源代码,上万个文件;模块间各种显性和隐形的依赖关系;
不可见性:看不见源代码的具体执行;软件出错很难完整重现程序出现的问题
服从性:软件服从硬件;服从用户需求、行业系统要求
易变性:软件在生产过程中,甚至投入使用后,都可以再改变;比硬件容易修改,但正确修改难
4.什么是软件危机?软件危机出现的原因及解决手段有哪些?
答:软件开发和维护过程中所遇到的严重问题为软件危机。
出现原因:①规模越来越大,复杂度逐渐增加
②软件质量难以保证
③软件需求量增大,价格昂贵,供需差日益增大
④软件的研制过程管理困难
⑤软件开发的模式及技术不能适应软件发展的需要
解决手段:①重视需求分析,与客户的沟通,确切表达需求
②重视设计和实现过程的资料
③充分的测试工作
④维护和管理工作
⑤统一的、公认的方法论和规范指导
5.软件工程的要素有哪些?各有什么作用?
答:软件工程三要素:方法、过程、工具。
方法:技术手段,为软件开发提供了“如何做”的技术
过程:为了获得高质量的软件所需要完成的一系列任务框架,规定了完成各项任务的工作步骤
工具:为软件工程方法提供了自动的或半自动的软件支撑环境