软件开发流程解析

上传人:最**** 文档编号:118150546 上传时间:2019-12-11 格式:PPTX 页数:29 大小:2.12MB
返回 下载 相关 举报
软件开发流程解析_第1页
第1页 / 共29页
软件开发流程解析_第2页
第2页 / 共29页
软件开发流程解析_第3页
第3页 / 共29页
软件开发流程解析_第4页
第4页 / 共29页
软件开发流程解析_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《软件开发流程解析》由会员分享,可在线阅读,更多相关《软件开发流程解析(29页珍藏版)》请在金锄头文库上搜索。

1、软件开发流程 软件开发流程概述 n项目: l需求来自某个别用户,定制性能 l政府、企业、基金项目 l金土资源、myPKI n产品: l需求来自某类用户,不单独定制 lWindows 1、可行性分析做不做? n目的:为决策提供依据 n要求:真实、全面与重点兼顾 n内容: l市场可行性:成熟?对手?用户? l政策可行性:盗版软件? l技术可行性:核心技术?时间? l成本收益分析:办公、工资、培训、维护 lSWOT分析: -Strengths, Weaknesses, Opportunities, Threats SWOT分析 nStrengths l技术技能优势: l资产优势:有形(先进设 施)、

2、无形(品牌) l人力资源优势: l组织体系优势 l竞争能力:开发周期,营 销网络 nWeaknesses l缺乏核心技能技术? l缺乏有竞争力的资产资源 (包括人力) l nOpportunities 确认评价每 个重要机会 l客户群的扩展 l市场壁垒 l并购竞争对手? l向其他地理区域扩张? nThreats l市场内的竞争对手 l市场增值率 l汇率和外贸政策 l市场需求减少 l经济危机,国家调控政策 2、需求分析有所为有所不为 n重要性: n难点: l用户需求不断改变、交流理解有误差 n内容: l功能需求 l性能指标 l环境需求:软、硬件环境 l界面需求:人机交互方式 n使用工具:Rati

3、onal Rose、Visio 3、系统设计架构师 n软件体系结构属于系统设计 n可分两个阶段:总体设计和详细设计 n总体设计: l需求分析的结果软件体系构架、结构 l复杂系统模块进行功能划分、建立层次结构 n详细设计: l各个模块的功能设计 3、系统设计流程 3、系统设计内容 系统设计用户界面设计 n用户界面类型 l对话框:计算器 l文档:office l浏览器:outlook l其他,如游戏界面 n界面设计 l人机界面就是系统本身 3、系统设计界面设计原则 n实用、直观、简洁、生动 n对用户友好:符合习惯、及时反馈信息 n风格一致:Word Powerpoint n错误处理:提示、撤销等

4、n帮助: n尽量减少非必要信息 3、系统设计数据库设计 n目的:设计表结构存储、操作数据 n步骤,分两步: l抽象:客观对象抽象出 实体和联系 模型 -Entity-Relationship l将 (概念)模型转化为实际数据库系统支持的数据模型(物 理模型) n数据库设计范式 l1NF、2NF、3NF、BCNF l使得添加、更新、删除时少发生错误 n工具: lPowerDesigner 4、模块设计 n模块指系统的各功能部件 n模块化降低开发、测试、维护的代价 n如何划分模块:没有标准答案 n模块设计的原则 l接口公开、内部实现隐藏 l高内聚:模块内部关联度高。如果不高? l低耦合:模块之间依

5、赖程度应该低。高? n模块设计内容 l接口(外)、数据结构+算法(内) 4、模块设计OOP设计 n类的抽象 n类的结构层次:继承、依赖 n类的属性、定义 n类的实现 5、模块设计数据结构和算法 n设计理念 l为那种应用服务? l时间优先还是空间优先? l熟悉哪些算法或数据结构 n一般过程 l先设计全局数据结构、再局部数据结构 l优先使用已有、成熟、合适的,再考虑自行设计 l满足性能即可,不满足,再优化 6、编码 n语言 lJava:面向对象、分布式、解释型、可移植、多线 程, -J2SE, J2EE,J2ME l.Net: 健壮、安全、统一、开发简单 -CLR(Common Language

6、Runtime): 核心,类似虚拟机 ,负责代码执行、内存管理、安全等 -Framework:平台基础 -C#, C+, lUnix/Linux 6、编码编码规范 n目标: l易读、风格统一、安全,可维护移植 n内容: l命名 l代码书写格式 l其他如函数、变量等的设置要求 6、编码开发方法 n一种软件开发方法:极限编程XP (eXtreme Programming) lKent Beck:1996 l理念:交流、朴素、反馈、勇气、尊重 l将复杂的开发过程分解为 许多相对简单的小周期。积极交 流反馈,让涉众清楚开发进度、问题、困难,并及时调 整。相互尊重! l极限:把所有强调的思想、方法做到最

7、好,其他忽略; nRUP nAgile nScrum 6、编码源代码控制 n版本管理 l人员离开变动?如何记录重要更新?多个版本出现,管理版 本的变化?对各个小组的子模块管理?保留修改轨迹,便于 撤销错误的改动? n常用工具: lVSS, Microsoft Visual SouceSafe lCVS, Concurrent Versions System, -Open source 7、软件测试 n定义(Myers,软件测试艺术): l为了发现错误而执行程序的过程 n目的:保证软件质量 n时机:在软件交付用户或投入运行之前 n经验:错误越迟被发现,调试难度越大。 n阶段: l单元测试、集成测

8、试、系统测试、用户测试 7、软件测试 n单元测试 l由开发者编写一段代码,检验程序基本功能是否正确。 l测试的单元:类、函数。 -例如装配电脑,先测试显卡、硬盘、光驱等 7、软件测试 n集成测试:自顶向下 l桩模块:模拟真模块,提供数据 l建立测试驱动模块:以程序真正 的主模块为驱动模块,替换某桩 模块,输入数据,检测输出是否 正确 l回归测试:做一定修改后,再次 由测试部门进行测试 7、软件测试 n集成测试:自底向上 l组织模块群:将部分底层 模块组装成实现某个功能 的模块群 l建立测试驱动模块:对上 一步组装的模块群开发一 个测试程序,输入数据, 测试输出是否正确 7、软件测试系统测试 n

9、概念:将完整的软件及其所依赖的软硬件环境整合, 进行测试 n内容: l性能、负载 l黑盒测试:不关心内部,只看结果是否正确 l白盒测试:结构或逻辑测试,检验内部功能是否按规定正确 工作。 l单元测试通常是白盒测试,而集成测试和系统测试往往是黑 盒测试 7、软件测试测试工具 n单元测试:xUnit(CppUnit, Junit, Nunit) n黑盒: l功能测试:Rational SQA Robot l性能测试: Rational SQA Load n白盒测试: l内存泄露:Rational Purify l代码覆盖率:Rational Purecoverage l代码性能:Rational

10、Quantify n测试管理:Rational Test Manager 8、结项 n安装盘的制作 lInstallShield, Acresso公司,事实标准 lVisioStudio.Net 发布程序 n版权保护 l加密:序列号 n说明书帮助文档制作 lHLP,早期,Microsoft Help Workshop lCHM, 1998年推出, Microsoft Html Help Workshop 8、软件维护 n未发现的Bug n需求改变 n版本升级兼容 n售后培训 n Dimensions of software complexity Higher technical complex

11、ity - Embedded, real-time, distributed, fault-tolerant - Custom, unprecedented, architecture reengineering - High performance Lower technical complexity - Mostly 4GL, or component-based - Application reengineering - Interactive performance Higher management complexity - Large scale - Contractual - M

12、any stake holders - “Projects” Lower management complexity - Small scale - Informal - Single stakeholder - “Products” Defense MIS System Defense Weapon System Telecom Switch CASE Tool National Air Traffic Control System Enterprise IS (Family of IS Applications) Commercial Compiler Business Spreadshe

13、et IS Application Distributed Objects (Order Entry) Small Scientific Simulation Large-Scale Organization/Entity Simulation An average software project: - 5-10 people - 10-15 month duration - 3-5 external interfaces - Some unknowns it will be a question of complexity. Bill Raduchel, Chief Strategy Officer, Sun Microsystems

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号