软件开发流程ppt课件_第1页
软件开发流程ppt课件_第2页
软件开发流程ppt课件_第3页
软件开发流程ppt课件_第4页
软件开发流程ppt课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编辑课件软件开发流程软件开发流程编辑课件软件开发流程概述软件开发流程概述n项目:项目:l需求来自某个别用户,定制性能需求来自某个别用户,定制性能l政府、企业、基金项目政府、企业、基金项目l金土资源、金土资源、myPKIn产品:产品:l需求来自某类用户,不单独定制需求来自某类用户,不单独定制lWindows编辑课件编辑课件1、可行性分析、可行性分析做不做?做不做?n目的:为决策提供依据目的:为决策提供依据n要求:真实、全面与重点兼顾要求:真实、全面与重点兼顾n内容:内容:l市场可行性:市场可行性:成熟?对手?用户?成熟?对手?用户?l政策可行性:盗版软件?政策可行性:盗版软件?l技术可行性:技术

2、可行性:核心技术?时间?核心技术?时间?l成本收益分析:成本收益分析:办公、工资、培训、维护办公、工资、培训、维护lSWOT分析分析: -Strengths, Weaknesses, Opportunities, Threats编辑课件SWOT分析分析nStrengthsl技术技能优势:技术技能优势:l资产优势:有形(先进设资产优势:有形(先进设施)、无形(品牌)施)、无形(品牌)l人力资源优势:人力资源优势:l组织体系优势组织体系优势l竞争能力:开发周期,营竞争能力:开发周期,营销网络销网络nWeaknessesl缺乏核心技能技术?缺乏核心技能技术?l缺乏有竞争力的资产资源缺乏有竞争力的资产

3、资源(包括人力)(包括人力)lnOpportunities 确认评价每确认评价每个重要机会个重要机会l客户群的扩展客户群的扩展l市场壁垒市场壁垒l并购竞争对手?并购竞争对手?l向其他地理区域扩张?向其他地理区域扩张?nThreatsl市场内的竞争对手市场内的竞争对手l市场增值率市场增值率l汇率和外贸政策汇率和外贸政策l市场需求减少市场需求减少l经济危机,国家调控政策经济危机,国家调控政策编辑课件2、需求分析、需求分析有所为有所不为有所为有所不为n重要性:重要性:n难点难点:l用户需求不断改变、交流理解有误差用户需求不断改变、交流理解有误差n内容:内容:l功能需求功能需求l性能指标性能指标l环境

4、需求:软、硬件环境环境需求:软、硬件环境l界面需求:人机交互方式界面需求:人机交互方式n使用工具:使用工具:Rational Rose、Visio编辑课件3、系统设计、系统设计架构师架构师n软件体系结构属于系统设计软件体系结构属于系统设计n可分两个阶段:总体设计和详细设计可分两个阶段:总体设计和详细设计n总体设计:总体设计:l需求分析的结果需求分析的结果软件体系构架、结构软件体系构架、结构l复杂系统模块进行功能划分、建立层次结构复杂系统模块进行功能划分、建立层次结构n详细设计:详细设计:l各个模块的功能设计各个模块的功能设计编辑课件3、系统设计、系统设计流程流程编辑课件3、系统设计、系统设计内

5、容内容编辑课件系统设计系统设计用户界面设计用户界面设计n用户界面类型用户界面类型l对话框:计算器对话框:计算器l文档:文档:officel浏览器:浏览器:outlookl其他,如游戏界面其他,如游戏界面n界面设计界面设计l人机界面就是系统本身人机界面就是系统本身编辑课件3、系统设计、系统设计界面设计原则界面设计原则n实用、直观、简洁、生动实用、直观、简洁、生动n对用户友好:符合习惯、及时反馈信息对用户友好:符合习惯、及时反馈信息n风格一致:风格一致:Word Powerpointn错误处理:提示、撤销等错误处理:提示、撤销等n帮助:帮助:n尽量减少非必要信息尽量减少非必要信息编辑课件3、系统设

6、计、系统设计数据库设计数据库设计n目的:设计表结构存储、操作数据目的:设计表结构存储、操作数据n步骤,分两步:步骤,分两步:l抽象:客观对象抽象出抽象:客观对象抽象出 实体和联系实体和联系 模型模型-Entity-Relationshipl将将 (概念)模型转化为实际数据库系统支持的数据模型(物(概念)模型转化为实际数据库系统支持的数据模型(物理模型)理模型)n数据库设计范式数据库设计范式l1NF、2NF、3NF、BCNFl使得添加、更新、删除时少发生错误使得添加、更新、删除时少发生错误n工具:工具:lPowerDesigner编辑课件4、模块设计、模块设计n模块指系统的各功能部件模块指系统的

7、各功能部件n模块化降低开发、测试、维护的代价模块化降低开发、测试、维护的代价n如何划分模块:没有标准答案如何划分模块:没有标准答案n模块设计的原则模块设计的原则l接口公开、内部实现隐藏接口公开、内部实现隐藏l高内聚:模块内部关联度高。如果不高?高内聚:模块内部关联度高。如果不高?l低耦合:模块之间依赖程度应该低。高?低耦合:模块之间依赖程度应该低。高?n模块设计内容模块设计内容l接口接口(外外)、数据结构、数据结构+算法算法(内内)编辑课件4、模块设计、模块设计OOP设计设计n类的抽象类的抽象n类的结构层次:继承、依赖类的结构层次:继承、依赖n类的属性、定义类的属性、定义n类的实现类的实现编辑

8、课件5、模块设计、模块设计数据结构和算法数据结构和算法n设计理念设计理念l为那种应用服务?为那种应用服务?l时间优先还是空间优先?时间优先还是空间优先?l熟悉哪些算法或数据结构熟悉哪些算法或数据结构n一般过程一般过程l先设计全局数据结构、再局部数据结构先设计全局数据结构、再局部数据结构l优先使用已有、成熟、合适的,再考虑自行设计优先使用已有、成熟、合适的,再考虑自行设计l满足性能即可,不满足,再优化满足性能即可,不满足,再优化编辑课件6、编码、编码n语言语言lJava:面向对象、分布式、解释型、可移植、多线:面向对象、分布式、解释型、可移植、多线程,程,-J2SE, J2EE,J2MEl.Ne

9、t: 健壮、安全、统一、开发简单健壮、安全、统一、开发简单-CLR(Common Language Runtime): 核心,类似虚拟机,核心,类似虚拟机,负责代码执行、内存管理、安全等负责代码执行、内存管理、安全等-Framework:平台基础:平台基础-C#, C+,lUnix/Linux编辑课件6、编码、编码编码规范编码规范 n目标:目标:l易读、风格统一、安全,可维护移植易读、风格统一、安全,可维护移植n内容:内容:l命名命名l代码书写格式代码书写格式l其他如函数、变量等的设置要求其他如函数、变量等的设置要求编辑课件6、编码、编码开发方法开发方法n一种软件开发方法:极限编程一种软件开发

10、方法:极限编程XP (eXtreme Programming)lKent Beck:1996l理念:交流、朴素、反馈、勇气、尊重理念:交流、朴素、反馈、勇气、尊重l将复杂的开发过程分解为将复杂的开发过程分解为 许多相对简单的小周期。积极交许多相对简单的小周期。积极交流反馈,让涉众清楚开发进度、问题、困难,并及时调整。流反馈,让涉众清楚开发进度、问题、困难,并及时调整。相互尊重!相互尊重!l极限:把所有强调的思想、方法做到最好,其他忽略;极限:把所有强调的思想、方法做到最好,其他忽略;nRUPnAgilenScrum编辑课件6、编码、编码源代码控制源代码控制n版本管理版本管理l人员离开变动?如何

11、记录重要更新?多个版本出现,管理版人员离开变动?如何记录重要更新?多个版本出现,管理版本的变化?对各个小组的子模块管理?保留修改轨迹,便于本的变化?对各个小组的子模块管理?保留修改轨迹,便于撤销错误的改动?撤销错误的改动?n常用工具:常用工具:lVSS, Microsoft Visual SouceSafelCVS, Concurrent Versions System, -Open source编辑课件7、软件测试、软件测试n定义(定义(Myers,软件测试艺术):软件测试艺术):l为了发现错误而执行程序的过程为了发现错误而执行程序的过程n目的:保证软件质量目的:保证软件质量n时机:在软件交

12、付用户或投入运行之前时机:在软件交付用户或投入运行之前n经验:错误越迟被发现,调试难度越大。经验:错误越迟被发现,调试难度越大。n阶段:阶段:l单元测试、集成测试、系统测试、用户测试单元测试、集成测试、系统测试、用户测试编辑课件7、软件测试、软件测试n单元测试单元测试l由开发者编写一段代码,检验程序基本功能是否正确。由开发者编写一段代码,检验程序基本功能是否正确。l测试的单元:类、函数。测试的单元:类、函数。-例如装配电脑,先测试显卡、硬盘、光驱等例如装配电脑,先测试显卡、硬盘、光驱等编辑课件7、软件测试、软件测试n集成测试:集成测试:自顶向下自顶向下l桩模块:模拟真模块,提供数据桩模块:模拟

13、真模块,提供数据l建立测试驱动模块:以程序真正建立测试驱动模块:以程序真正的主模块为驱动模块,替换某桩的主模块为驱动模块,替换某桩模块,输入数据,检测输出是否模块,输入数据,检测输出是否正确正确l回归测试:做一定修改后,再次回归测试:做一定修改后,再次由测试部门进行测试由测试部门进行测试编辑课件7、软件测试、软件测试n集成测试:集成测试:自底向上自底向上l组织模块群:将部分底层组织模块群:将部分底层模块组装成实现某个功能模块组装成实现某个功能的模块群的模块群l建立测试驱动模块:对上建立测试驱动模块:对上一步组装的模块群开发一一步组装的模块群开发一个测试程序,输入数据,个测试程序,输入数据,测试

14、输出是否正确测试输出是否正确编辑课件7、软件测试、软件测试系统测试系统测试n概念:将完整的软件及其所依赖的软硬件环境整合,概念:将完整的软件及其所依赖的软硬件环境整合,进行测试进行测试n内容:内容:l性能、负载性能、负载l黑盒测试:不关心内部,只看结果是否正确黑盒测试:不关心内部,只看结果是否正确l白盒测试:结构或逻辑测试,检验内部功能是否按规定正确白盒测试:结构或逻辑测试,检验内部功能是否按规定正确工作。工作。l单元测试通常是白盒测试,而集成测试和系统测试往往是黑单元测试通常是白盒测试,而集成测试和系统测试往往是黑盒测试盒测试编辑课件7、软件测试、软件测试测试工具测试工具 n单元测试:单元测

15、试:xUnit(CppUnit, Junit, Nunit)n黑盒:黑盒:l功能测试:功能测试:Rational SQA Robotl性能测试:性能测试: Rational SQA Loadn白盒测试:白盒测试:l内存泄露:内存泄露:Rational Purifyl代码覆盖率:代码覆盖率:Rational Purecoveragel代码性能:代码性能:Rational Quantifyn测试管理:测试管理:Rational Test Manager编辑课件8、结项、结项n安装盘的制作安装盘的制作lInstallShield, Acresso公司,事实标准公司,事实标准lVisioStudio.

16、Net 发布程序发布程序n版权保护版权保护l加密:序列号加密:序列号n说明书帮助文档制作说明书帮助文档制作lHLP,早期,早期,Microsoft Help WorkshoplCHM, 1998年推出,年推出, Microsoft Html Help Workshop编辑课件8、软件维护、软件维护n未发现的未发现的Bugn需求改变需求改变n版本升级兼容版本升级兼容n售后培训售后培训n编辑课件Dimensions of software complexityHigher technical complexity - Embedded, real-time, distributed, fault-

17、tolerant - Custom, unprecedented, architecture reengineering - High performanceLower technical complexity - Mostly 4GL, or component-based - Application reengineering - Interactive performanceHigher management complexity - Large scale - Contractual - Many stake holders - “Projects”Lower management c

18、omplexity - Small scale - Informal - Single stakeholder - “Products”Defense MIS SystemDefense Weapon SystemTelecom SwitchCASE ToolNational Air TrafficControl SystemEnterprise IS(Family of ISApplications)CommercialCompilerBusinessSpreadsheetIS ApplicationDistributed Objects (Order Entry)Small ScientificSimulationLarge-ScaleOrganization/EntitySi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论