ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【理论积累】软件工程基础知识【第一版】 [打印本页]

作者: 忿忿的泥巴坨    时间: 2022-6-18 18:39
标题: 【理论积累】软件工程基础知识【第一版】
软件工程基本概念

软件工程的目标与常用模型

软件开发的基本策略

不正确的观念

观念之一:我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们解决软件开发中遇到的任何问题。
客观情况:好的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,这是因为:
(1)现实的工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。
(2)软件技术日新月异,没有哪一种软件标准能长盛不衰。祖传秘方在某些领域很吃香,而在软件领域则意味着落后。

观念之二:我们拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。
客观情况:良好的开发环境只是产出成果的必要条件,而不是充分条件。如果拥有好环境的是一群庸人,难保他们不干出南辕北辙的事情。正所谓往往学渣文具多

观念之三:如果我们落后于计划,可以增加更多的程序员来解决。
客观情况:软件开发不同于传统的农业生产,人多不见得力量大。如果给落后于计划的项目增添新手,可能会更加延误项目。因为:
(1)新手会产生很多新的错误,使项目混乱。
(2)老手向新手解释工作以及交流思想都要花费时间,使实际开发时间更少。所以科学的项目计划很重要,不在乎计划能提前多少,重在恰如其分。

观念之四:既然需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时可以修改。
客观情况:对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大,就跟治病一样道理。
争议性观点

争议之一:如果软件运行较慢,是换一台更快的计算机,还是设计一种更快的算法?
参考观点:如果开发软件的目的是为了学习或是研究,那么应该设计一种更快的算法。如果该软件已经用于商业,则需谨慎考虑:若换一台更快的计算机能解决问题,则是最快的解决方案。改进算法虽然可以从根本上提高软件的运行速度,但可能引入错误以及延误进程。技术狂毫无疑问会选择后者,因为他们觉得放弃任何可以优化的机会就等于犯罪。
类似的争议还有:是买现成的程序,还是彻底自己开发?技术人员和商业人士常常会有不同的选择。

 
争议之二:有最好的软件工程方法,最好的编程语言吗?
参考观点:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。程序员在最初学习 Basic、Fortran、 Pascal、C、C++等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今的 Visual Basic、Delphi、Visual C++、Java 等语言各有所长,真的难分优劣。开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与生产率。
程序设计是自由与快乐的事情,不要发誓忠于某某主义而自寻烦恼。

 
争议之三:编程时是否应该多使用技巧?
参考观点:就软件开发而言,技巧的优点在于能另辟蹊径地解决一些问题,缺点是技巧并不为人熟知。若在程序中用太多的技巧,可能会留下隐患,别人也难以理解程序。鉴于一个局部的优点对整个系统而言是微不足道的,而一个错误则可能是致命的。作者建议用自然的方式编程,少用技巧。

 
争议之四:软件中的错误是否可按严重程度分等级?
参考观点:在定量分析时,可以将错误分等级,以便于管理。微软的一些开发小组将错误分成四个等级
一级严重:错误导致软件崩溃。
二级严重:错误导致一个特性不能运行并且没有替代方案。
三级严重:错误导致一个特性不能运行但有替代方案。
四级严重:错误是表面化的或是微小的。
可行性研究

需求分析

需求分析的困难

如何进行需求分析

系统设计

体系结构设计

模块设计

数据结构算法设计

用户界面设计

编码与测试

维护

维护的尝试

维护的代价及其主要因素


来源:https://www.cnblogs.com/yyyyfly1/p/16121524.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4