软件开发流程PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、项目实践
软件工程理论 质量体系:ISO9001和CMwenku.baidu.com体系 UML基本理论 测试理论和测试工具使用 加密理论和加密方法 源代码控制工具使用 说明书编写 程序的安装和部署
高级程序员的基本素质
1.
2. 3. 4. 5.
需求分析能力 项目设计方法和流程处理能力 复用设计和模块化分解能力 整体项目评估能力 团队组织管理能力
一、个人素质 信心和恒心 良好的个人品质 良好的个人习惯
二、职业素质 交际能力 表达能力 职业素养
程序员的基本素质
1. 2. 3. 4. 5. 6. 团队精神和协作能力 文档习惯 规范化,标准化的代码编写习惯 复用性,模块化思维能力 测试习惯 学习和总结的能力
1.团队精神和协作能力
小结
软件开发流程 程序员基本素质 关于质量控制和开发模板 项目组建设
他能做到什么和不能做到什么
当操作者有意识时,标准可以帮忙。假如 你 没做产品立项,或者作了,但没有市场 分析 报告,标准可以帮忙,因为SQA会来 说,这 违背了规程,我们必须先做产品立 项,并且 必须基于市场分析报告。 但大家没有意识时,比如产品立项时,假 如 与会人员多数认为没有市场,或者我们 没有 能力去做这个产品,但最终仍然立项 通过, 标准无能为力。
2.文档习惯 文档习惯
3.规范化
标准化的代码编写习惯 作为一些外国知名软件公 司的规矩,代码 的变量命名,代码内注释格式, 甚至嵌套 中行缩进的长度和函数间的空行数字都 有 明确规定,良好的编写习惯,不但有助于 代码 的移植和纠错,也有助于不同技术人 员之间的协 作。 代码编写规范 界面设计规范
如何应用标准? 如何应用标准?
标准的目的? - 可控制 - 可追溯 开发模板 - 用户需求规格说明书 - 需求评审报告 - 系统设计书 - 系统开发进度计划 - 项目验收标准 - 用户手册
软件开发流程 程序员基本素质 关于质量控制和开发模板 项目组建设
项目组文档
编码规范 项目组守则 工作计划总结 Sourcesafe使用规范 公共几类和常用代码
5.团队组织管理能力 团队组织管理能力
首先是工作的量化,没有量化就很难做到合适的绩效 考核,而程序量化又不是简单的代码行数可以计算的, 因 此要求技术管理人员需要能真正评估一个模块的复 杂性和 工作量。 其次是对团队协作模式的调整,一 般而言,程序开发的协 作通常分为小组进行,小组有 主程序员方式的,也有民主 方式的,根据程序员之间 的能力水平差距,以及根据项目 研发的需求,选择合 适的组队方式,并能将责权和成员的 工作任务紧密结 合,这样才能最大发挥组队的效率。
6.学习和总结的能力 学习和总结的能力
学习:程序员是人才很容易被淘汰,很容易 落伍的职 业,因为一种技术可能仅仅在三两 年内具有领先性, 程序员如果想安身立命, 就必须不断跟进新的技术, 学习新的技能。 总结:善于总结,也是学习能力的一种体 现,每次完 成一个研发任务,完成一段代 码,都应当有目的的跟 踪该程序的应用状况 和用户反馈,随时总结,找到自 己的不足, 这样逐步提高,一个程序员才可能成长起 来。
4.整体项目评估能力 整体项目评估能力
作为系统设计人员,必须能够从全局出 发, 对项目又整体的清醒认识,比如公司 的资源 配置是否合理和到位,比如工程进 度安排是 否能最大化体现效率又不至于无 法按期完成。 评估项 目整体和各个模块的 工作量,评估项 目所需的资源,评估项目 可能遇到的困难, 都需要大量的经验积 累,换言之,这是一种 不断总结的累计才 能达到的境界
1.需求分析能力 需求分析能力
对于程序员而言,理解需求就可以完成合 格的 代码,但是对于研发项目的组织和管 理者, 他们不但要理解客户需求,更多时 候还要自 行制定一些需求,为什么这么说 呢?
2.项目设计方法和流程处理能力 项目设计方法和流程处理能力
程序设计者必须能够掌握不少于两到三种 的 项目设计方法(比如自顶至下的设计方 法, 比如快速原型法等等),并能够根据 项目需 求和资源搭配来选择合适的设计方 法进行项 目的整体设计。设计方法上选择 不当,就会 耽误研发周期,浪费研发资 源,甚至影响研 发效果。
Sourcesafe使用 使用
一、版本管理的必要性 如果说70年代的软件危机导致了软件工程思想的 诞生和理论体系 的发展,那么80~90年代尤其是 90年代软件产业的迅猛发展导 致了另一种新思想 的产生和实现,这就是软件的版本管理。 以往的那种被誉为具有良好编程风格的做法,诸 如在对他人的源 程序进行修改时注释修改原因, 修改人和日期,如果是多个成 员同时进行了修 改,那么需要进行及时的人工的差异比较和综 合 以便形成一个统一的新版本。这种做法在当前的 大型软件的 开发中已经越来越没有空间了,可以 说是一种以小作坊的形式 来面对软件的社会化大 生产,再也不可能行得通了
软件开发过程
软件组-----潘家宁 潘家宁 软件组
软件开发流程 程序员基本素质 关于质量控制和开发模板 项目组建设
项目开发工作流程
产品开发流程
软件开发流程 程序员基本素质 关于质量控制和开发模板 项目组建设
程序员基本技能
项目实践 专业技能 程序员基本素质 职业素质 个人素质
3.复用设计和模块化分解能力 复用设计和模块化分解能力
一个成熟的软件行业,在一些相关项目和 系 统中,不同的部件是可以随意换装的, 比如 微软的许多桌面软件,在很多操作模 块(如 打开文件,保存文件等等)都是复 用的同一 套功能模块,而这些接口又通过 一些类库提 供给了桌面应用程序开发者方 便挂接,这就 是复用化的模块设计明显的 一个佐证。
软件开发流程 程序员基本素质 关于质量控制和开发模板 项目组建设
质量/过程标准是什么,有什么用? 质量 过程标准是什么,有什么用? 过程标准是什么
开始并没有什么质量标准或者过程标准, 但有 些组织和企业呢,做的很成功,而有 些则不 成功。那么有人就去分析为什么, 这些组织 和企业成功了呢?他们有哪些的 共同的特征 吗?答案是有,于是这些特征 被归纳出来 (比如9000中的立项,开发策 划,cmm中需 求管理、配置管理等),并 应用管理理论的 成果,使之成为一种体系。
4.复用性,模块化思维能力 复用性, 复用性
用户控件 组件技术
5.测试习惯 测试习惯
单元测试 集成测试 系统测试 稳定性测试 软件研发作为一项工程而言,一个很重要的 特点就是 问题发现的越早,解决的代价就越 低,程序员在每段 代码,每个子模块完成后 进行认真的测试,就可以尽 量将一些潜在的 问题最早的发现和解决,这样对整体 系统建 设的效率和可靠性就有了最大的保证。
木桶理论 学习性组织
注释 开发过程文档:良好的文档是正规研发流 程中非 常重要的环节,作为代码程序员, 30%的工作时 间写技术文档是很正常的, 而作为高级程序员和 系统分析员,这个比 例还要高很多。缺乏文档, 一个软件系统 就缺乏生命力,在未来的查错,升 级以及 模块的复用时就都会遇到极大的麻烦。