《软件工程》软件开发经验谈.ppt

上传人:夺命阿水 文档编号:245876 上传时间:2023-03-20 格式:PPT 页数:17 大小:233.50KB
返回 下载 相关 举报
《软件工程》软件开发经验谈.ppt_第1页
第1页 / 共17页
《软件工程》软件开发经验谈.ppt_第2页
第2页 / 共17页
《软件工程》软件开发经验谈.ppt_第3页
第3页 / 共17页
《软件工程》软件开发经验谈.ppt_第4页
第4页 / 共17页
《软件工程》软件开发经验谈.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《《软件工程》软件开发经验谈.ppt》由会员分享,可在线阅读,更多相关《《软件工程》软件开发经验谈.ppt(17页珍藏版)》请在课桌文档上搜索。

1、软件开发经验谈,软件与软件危机编码风格软件设计及文档其他,软件与软件危机,软件及其特点定义与硬件相互依存包括程序、相关数据及其说明文档特点是一种逻辑实体,具有抽象性没有明显的制造过程(开发后复制)在使用过程中,无磨损、老化的问题,但存在软件退化问题(硬件、环境以及需求的变化),软件与软件危机,软件危机及其原因软件危机:在软件的开发和维护过程中所遇到的一系列严重问题对开发成本和进度的估计常常不准确用户对“已完成”系统不满意的现象经常发生软件产品的质量往往靠不住(Bug)软件的可维护程度非常之低软件通常没有适当的文档资料成本不断提高开发生产率的提高赶不上硬件的发展和人们需求的增长,软件与软件危机,

2、软件危机及其原因软件危机的原因与软件本身的特点有关与开发和维护的方法不正确有关忽视软件开发前期的需求分析开发过程没有统一的、规范的方法论的指导,文档资料不齐全,忽视人与人的交流忽视测试阶段的工作,提交用户的软件质量差轻视软件的维护,软件与软件危机,校园中的软件开发编程至上,淡化分析设计文档稀少,样例、方法、内容风格不统一,忽视整体规范化组织松散,合作意识不强钻研技术,追求编程技巧软件生命力低,难于实用和发展壮大.,编码风格,编排格式:Tab键缩进、空行、长句的分行.注释:文件、函数/过程、数据结构、控制流.各种名字的命名方法:匈牙利命名法.界面风格的统一:对话框/多文档/单文档、大小、字体、颜

3、色、用词.宏的使用:便于扩展、变更、意义明确数据结构的引入与管理:数据与操作的封装性文件、模块的组织:规模,功能、数据的相关性低耦合性:如何支持低的依赖性和高的复用性高内聚力:如何支持可管理的低复杂性异常的考虑与处理,编码风格,如何在校培养编码风格?程序设计语言:编排格式、变量函数的命名数据结构:数据结构的选择与使用、宏的使用编译原理(操作系统)设计:更复杂的数据结构的设计,耦合性与内聚力,尝试界面的制作,文件、模块的组织,异常的考虑与处理其他意识、自觉、勤奋、自立、严谨、不耻下问,软件设计与文档,文档(设计说明)的重要性开发者之间交流的有效手段;帮助开发者记忆设计思想;引导人们快速地理解软件

4、;文档的复用写文档的困惑程序中不是有注释吗?写什么呢?用什么写呢?文档与程序的一致性,软件设计与文档,软件分析设计方法结构化分析设计:数据流图,.;面向对象的分析设计:UML,.关系数据库:E-R,关系模型;软件分析设计的表现头脑+纸笔+代码由人思考输入的文档利用工具建模生成的文档 文本+图形,软件设计与文档,如何在学校培养写文档程序设计语言:注释的习惯数据结构:数据结构的实验报告编译原理(操作系统)设计:设计报告现存的问题:检查力度不够如何在学校培养软件分析设计软件工程等课程贵在实践和意识,一些不正确的观念-1,观念之一:我们拥有一套讲述如何开发软件的书籍,书中充满了标准与示例,可以帮助我们

5、解决软件开发中遇到的任何问题。客观情况:好的参考书无疑能指导我们的工作。充分利用书籍中的方法、技术和技巧,可以有效地解决软件开发中大量常见的问题。但实践者并不能因此依赖于书籍,这是因为:(1)现实的工作中,由于条件千差万别,即使是相当成熟的软件工程规范,常常也无法套用。(2)软件技术日新月异,没有哪一种软件标准能长盛不衰。祖传秘方在某些领域很吃香,而在软件领域则意味着落后。观念之二:我们拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。客观情况:良好的开发环境只是产出成果的必要条件,而不是充分条件。如果拥有好环境的是一群庸人,难保他们不干出南辕北辙的事情。,一些不正确的观念-2,观念之三

6、:如果我们落后于计划,可以增加更多的程序员来解决。客观情况:软件开发不同于传统的农业生产,人多不见得力量大。如果给落后于计划的项目增添新手,可能会更加延误项目。因为:(1)新手会产生很多新的错误,使项目混乱。(2)老手向新手解释工作以及交流思想都要花费时间,使实际开发时间更少。所以科学的项目计划很重要,不在乎计划能提前多少,重在恰如其分。如果用“大跃进”的方式奔向共产主义,只会产生倒退的后果。观念之四:既然需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时可以修改。客观情况:对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。

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

8、观点:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。程序员在最初学习Basic、Fortran、Pascal、C、C+等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今的Visual Basic、Delphi、Visual C+、Java等语言各有所长,真的难分优劣。开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与生产率。,一些有争议的观念-2,争议之三:编程时是否应该多使用技巧?观点:就软件开发而言,技巧的优点在于能另辟蹊径地解决一些问题,缺点是技巧并不为人熟知。若在程序中用太多的技巧,可能会留下隐患,别人也难以理解程序。鉴于一个局部的优

9、点对整个系统而言是微不足道的,而一个错误则可能是致命的。建议用自然的方式编程,少用技巧。狼三则的故事告诉我们“失败的技巧通常是技俩”。当我们在编程时无法判断是用了技巧还是用了技俩,那就少用。卖油翁的故事又告诉我们“熟能生巧”,表明技巧是自然而然产生的,而不是卖弄出来的。争议之四:软件中的错误是否可按严重程度分等级?观点:在定量分析时,可以将错误分等级,以便于管理。微软的一些开发小组将错误分成四个等级。一级严重:错误导致软件崩溃。二级严重:错误导致一个特性不能运行并且没有替代方案。三级严重:错误导致一个特性不能运行但有替代方案。四级严重:错误是表面化的或是微小的。,Seven Suggestio

10、ns to Computer Science Students,1、不要玩游戏,至少不要玩网络游戏2、不要用分数衡量自己专业能力。自己一定要多去写程序,多去看代码肯定是对的。对于软件专业同学千万不要认为一分纸上试题可以代表你专业的能力。最初学习程序语言都是坚持每天写50-100行以上代码,这样才能快速熟悉语法和程序入门基础。3、培养学习的能力。老师带领下学会一个东西很容易,尝试之前自己去学习,然后再去学,这样可以发现自己什么地方学习能力不足。学习的能力是一种大学最需要培养的专业能力的核心,如果你即时一个专业或者程序语言学习再好,但是却没有自我学习的能力,势必会被日益发展的技术所淘汰的。,4、培养团队意识不要吝啬自己的代码,多去主动分享,好的代码都是改出来的。如果可以在大学中建立或者加入一个团队一起学习,将可以获得意外的收获。5、把自己放到软件行业去衡量,而不是在学校。不要在同学之间互相竞争,你需要对比的是所有从事软件行业的专业人员,因为软件专业是没有年龄的。6、不要忽视基础。基础像地基,如果没有基础房屋到后面就很难扩展了。基础和武侠小说中的内功是一样的,没有内功的招式是没有用的。7、不要被外界环境干扰。自我控制对于今天在中国大学一起学习的同学是非常重要的,大多数同龄的学生最初进入大学都是非常好学的,但是不少人由于外界环境诱惑而失去自我的目标。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号