软件项目开发ppt课件

合集下载

《软件工程》PPT课件

《软件工程》PPT课件
第四课时
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.

《项目开发流程介绍》PPT课件

《项目开发流程介绍》PPT课件

表名称 表内容标识
例:表名称 = 表名前缀 + 下划线“_” +
sys_user_info
系统用户信息表
编码规范
命名风格 换行缩进的风格 其它
每个类不超过200行 每行不超过60字符 所有Action Bean继承自BaseAction,放在 com.cstp.web.action包下等
需要注意的是,编码规范不仅限于命名规则、缩进和换行、注释。有时候还 包括程序结构方面的规定,比如:实体类放在什么包下,一个规范的实体类 是什么样子的;DAO层的类包含哪些方法,不应该包含什么样的方法;业务逻 辑层的代码中可以放什么的代码,绝对不允许放什么样的代码;Action代码 中不允许描述业务逻辑等。
第一种:小型软件公司团队组织结构。如图1.7所示,在小型软件公司中,人 员配置精简实用。由项目经理直接带领开发经理、质量保证工程师、开发工 程师和测试工程师来完成项目。
这种组织结构的好处在于分工灵活,但同时每个人也是一个“多面手”,例 如,开发经理既要有很强的技术,也要有相应的管理经验;开发工程师除了 进行程序开发,也要懂得数据库设计开发,并且要了解一些软件测试知识。 而且通常是一个人担负多个角色,团队中的每个人几乎都要担负开发工程师 和测试工程师的职责。
需要解决的问题
假如,现在的你正在参加面试,面试官问你如下 问题
你能读懂项目计划么? 你有过团队开发经验么? 你能读懂需求规格说明书么? 你对测试了解多少,会写测试用例么? 你用Java/.NET做过中小型项目开发么? 请你说说一个项目中都应该有哪些规范? 你做过设计么,如果做过谈谈这些设计吧? ......
第二种:微软公司团队组织结构。如图1.8所示,微软公司的团队组织结构可 以说是相当完善了,这种组织结构中,各团队人员分工很细致,而且权责明 确,人员之间的接口明确。只是构建这种项目团队的成本太高。

软件设计与开发PPT课件

软件设计与开发PPT课件
• 前端使用Qt开发GUI界 面。
• 后台使用MySQL数据库 系统进行支持。
• 开发语言采用C++。
五、数据库设计方案
• 实体类包括:仓库、货架、货物、货单。 • 而货单是个临时工作实体,所以不必保存。 • 按照需求设计可得:
六、关键算法
• 最优捡货路线的设计 • 核心要求: • 1、检查是否货单满足。 • 2、更具货单和实际存货给出需要达到的地点。 • 3、设计出一个覆盖所需到达地点的算法。 • 难点: • 1、需达到地点间的互不可达——多给出货架的四
• 二、对货物进行查询。 1、按货架查询。 2、按关键词进行索引查询。
• 三、货物的出库入库 1、给出货物入库功能。 2、给出货物出库功能。 3、按出库货单设计最优捡货路径。
二、用例模型、分析模型和领域类模型
• 用例模型:
二、用例模型、分析模型和领域类模型
• 分析模型:
二、用例模型、分析模型和领域类模型
• 领域类图:
三、类的设计方案与思路
• 核心思路: • 界面类——控制类——实体类 • 界面类:用于提供用于与用户进行直接交互的功
能。 • 控制类:通过使用实体的信息,来支持界面类的
各项功能。 • 实体类:用以保存实际仓库的各类实体和它们之
间的相互关联关系。
三、类的设计方案与思路
• 设计方法: • 1、界面类:按用户需求进行设计,贴近用户功能,
目录一览
• 一、系统需求概述 • 二、用例模型、分析模型与领域模型 • 三、类的设计方案与思路 • 四、系统架构,与所用开发技术 • 五、数据库设计方案 • 六、关键算法 • 七、功能结构图 • 八、小组内各成员的分工与合作 • 九、收获与感悟
一、系统需求概述

软件项目开发 ppt课件

软件项目开发 ppt课件
14
2.1 软件过程的概念
• 软件过程的定义
– 软件过程由开发或维护软件及其相关产品 的一系列活动构成,这些活动从不同的方 面定义了软件开发中的步骤、交付物、涉 众及其职责等流程要素
15
2.1 软件过程的概念
控制/约束
输入
Process
输出
资源
输入 需求
控制 预算,计划表,标准
Build the 输出 System 代码,文档
2.4 需求分析活动
• What
– 功能性需求和非功能性需求
• 功能性需求:描述了系统应该做什么,即具备 的功能或服务。(输入、输出和计算等)
• 非功能性需求:描述了系统必须遵守的约束条 件。(响应时间、吞吐量 、可靠性、可移植性、 可扩展性、易用性、安全性、资源要求、可复 用性、技术要求、文化和政策需求、法律需求、 道德要求、隐私要求,等等)
39
资源
人员,工具
16
2.1 软件过程的概念
What
Change
How
17
2.1 软件过程的概念
18
2.1 软件过程的概念
• Basic Activities(基础活动)
– 问题定义,需求,设计,实b现, 软件验证,集成,软件演进/维护,退役
• Umbrella Activities (辅助性活动)
25
2.4 需求分析活动
• What
– 需求:主要是在产品构建之前确定的系统 必须符合的条件或具备的功能,它们是关 于系统将要完成什么工作的一段描述语句, 它们必须经过所有相关人员的认可,其目 的是彻底地解决客户的问题。
– 需求文档
• 一组需求的集合 • 用户需求文档、系统需求文档和软件规约文档

项目开发过程PPT课件

项目开发过程PPT课件

量达标。
项目执行
1 2
任务分配
根据项目计划,将任务分配给团队成员,确保每 个人都清楚自己的职责。
任务执行
团队成员按照计划执行任务,遇到问题及时沟通 解决。
3
进度跟踪
定期跟踪项目进度,确保项目按计划进行。
项目监控与调整
监控项目进展
通过定期检查、汇报等方式,监控项目的实际进展情况。
偏差分析
对比项目计划与实际进展,分析存在的偏差及其原因。
集成开发环境(IDE)
总结词
提供集成的开发环境,方便开发者编写 、调试和运行代码。
VS
详细描述
集成开发环境(IDE)是开发者必备的工具, 它提供了代码编辑器、编译器、调试器等 工具,方便开发者快速构建和测试应用程 序。常见的IDE包括Eclipse、IntelliJ IDEA、 Visual Studio Code等。
需求确认
与利益相关者确认需求规 格说明书,确保双方对需 求理解一致。
设计阶段
架构设计
根据需求规格说明书,设 计系统的整体架构和模块 划分。
界面设计
根据用户体验和审美要求, 设计用户界面和交互方式。
数据库设计
设计数据库结构、表关系 和数据存储方式。
开发阶段
编码实现
代码审查
根据设计文档,使用编程语言实现系 统功能。
05
项目开发挑战与解决方案
需求变更
需求变更的挑战
在项目开发过程中,需求变更可 能导致项目偏离原始计划,增加 开发时间和成本。
应对策略
建立严格的需求变更管理流程, 对变更进行评估、审核和跟踪, 确保变更对项目的影响最小化。
技术难题
技术难题的挑战
遇到技术难题可能导致项目进度受阻 ,甚至可能影响产品质量。

零基础学Java项目开发课件PPT第03章

零基础学Java项目开发课件PPT第03章

聚慕课教育研发中心
学习、授课与教学PPT课件
3.1.4 MongoDB数据库管理系统
2、和其他数据库相比,MongoDB的优点如下: 1)易于安装; 2)MongoDB Inc.为客户提供专业支持; 3)支持临时查询; 4)高速数据库; 5)无模式数据库; 6)横向扩展数据库; 7)性能非常高。
聚慕课教育研发中心
SQL Server数据库主要应用于部分企业电商以及使用Windows服务器平台 的企业。
聚慕课教育研发中心
学习、授课与教学PPT课件
3.1.2 SQL Server数据库管理系统
1、优点 1)SQL Server数据库拥有易用性、适合分布式组织的可伸缩性、用于决策 支持的数据库功能、与许多其他服务器软件紧密关联的集成性、良好的性价 比等优点。
聚慕课教育研发中心
学习、授课与教学PPT课件
3.1.4 MongoDB数据库管理系统
MongoDB介于关系型数据库和非关系型数据库之间,是非关系型数据库当 中功能最丰富,和关系型数据库最相似的,同时它也是面向文档的开源数据 库。MongoDB支持的数据结构非常广泛,类似于JSON的BSON格式,因此 也可以存储比较复杂的数据类型。在C++中,MongoDB可以用作文件系统; 在MongoDB中,通常使用JavaScript作为查询语言。 MongoDB支持的查询语言非常强大,其语法类似于面向对象的查询语言, 几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据 建立索引。
聚慕课教育研发中心
学习、授课与教学PPT课件
3.2 软件项目数据库架构特性
每一种数据库架构模式都有它自己的特点,选择正确的数据库架构模式来 满足需求功能和质量特性是非常重要的。本节总结了数据库架构的共同特 性。

软件工程ppt课件完整版

软件工程ppt课件完整版
缺陷跟踪
使用缺陷管理工具对缺陷进行 跟踪,确保每个缺陷都得到处 理。
缺陷修复
开发人员对缺陷进行分析并修 复,然后提交给测试人员进行 验证。
回归测试
对修复后的缺陷进行回归测试 ,确保修复没有引入新的缺陷

质量评估与改进
质量评估
定期对软件产品的质量进行评估,包括功能 、性能、安全等方面。
过程改进
对软件开发过程进行持续改进,提高开发效 率和软件质量。
,提高代码的可读性和可维护性。
模块化开发
02
采用模块化开发方式,将系统划分为不同的模块进行开发,提
高开发效率和质量。
错误处理
03
对可能出现的错误进行充分的考虑和处理,包括异常捕获、日
志记录和错误提示等,确保系统的稳定性和可靠性。
05 测试与质量保证
测试类型及方法
功能测试对软件产品的各项功 进行验证,确保符 合需求和设计。
同时引入了风险管理机制。
螺旋模型的主要阶段包括:制 定计划、风险分析、工程实施
和客户评估。
螺旋模型的优点在于其强调风 险分析和迭代开发,能够及时 发现并解决问题,降低项目风 险。
螺旋模型的缺点在于其需要较 高的项目管理能力和技术水平 ,且可能因为过度关注风险而 忽略其他重要因素。
敏捷开发模型
敏捷开发的主要实践包括:短周期迭代开发、 持续集成、持续交付和自动化测试等。
水平。
04
迭代增量模型的优点在于其能够逐步增加系统功能和 性能,降低项目风险,同时也能够及时发现并解决问 题。
03 需求分析与管理
需求获取与整理
确定需求来源
与客户、利益相关者、业务领域 专家等进行沟通,明确需求背景
和范围。

软件工程完整PPT课件

软件工程完整PPT课件

2021/3/9
10
④局部化。要求在一个物理模块内集中逻辑上相互关联 的计算资源,保证模块间具有松散的耦合关系,模块 内部有较强的内聚性,这有助于控制解的复杂性。
⑤确定性。软件开发过程中所有概念的表达应是确定的、 无歧义且规范的。
⑥一致性。包括程序、数据和文档的整个软件系统的各 模块应使用已知的概念,内外部接口应保持一致,系 统规格说明与系统行为应保持一致。
2021/3/9
14
2. 需求分析方法 常见的需求分析方法有:
①结构化分析方法。 ②面向对象的分析方法。
2021/3/9
15
2.2结构化分析方法
(1)关于结构化分析方法 结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,
建立系统的处理流程,以数据流图和数据字典为主要工具,建 立系统的逻辑模型。 结构化分析的步骤如下:
3. 信息隐蔽 信息隐蔽使得一个模块内包含的信息(过程和数据)
对于不需要这些信息的模块来说,是不能访问 的。
2021/3/9
24
4. 模块独立性 每个模块完成一个相对独立的特定子功能,并且 和其他模块之间的接口很简单。
模块的独立程度可以由两个定性标准来衡量,这 两个标准分别称为耦合性和内聚性。藕合衡量不 同模块彼此间互相依赖(连接)的紧密程度;内 聚衡量一个模块内部各个元素彼此间结合的紧密 程度。
⑦完备性。软件系统不丢失任何重要成分,完全实现系 统所需的功能。
⑧可验证性。开发大型软件系统需要对系统自顶向下, 逐层分解。系统分解应遵循容易检查、测评、评审的 原则,以确保系统的正确性。
2021/3/9
11
1.5软件开发工具与软件开发环境
1. 软件开发工具 软件开发工具是指可以用来帮助开发,测试、分 析、维护其他计算机程序及其文档资料,实现软 件生产过程自动化的一类程序。 软件工具主要包括需求分析工具、设计工具、编 码工具、确认工具、维护工具等。

软件项目开发过程PPT课件

软件项目开发过程PPT课件
• 过程模块: – 过程设计包括将在分析阶段制定的过程定义转换为代码模 块。 – 过程设计记录在过程设计文档中。
精品ppt
18
设计编码标准
• 设计的过程模块需要进行标准化 • 标准化包括设置程序和数据库的名称约定 • 标准化使代码的可读性更强,更易于维护 • 常规编码标准 • 函数声明的编码标准
精品ppt
– 颜色 – 字形 – 标题和标签的尺寸 – 页眉和页脚的外观 – 控件的主题、位置和尺寸
精品ppt
16
设计界面
• 根据 GUI 标准集设计屏幕的布局 • 可以是用户输入或显示信息的报表 • 记录在界面设计文档中
精品ppt
17
设计数据库和过程模块
• 数据库: – 根据 ERD 中包含的信息设计数据库。 – 表设计将遵循规范化的规则。 – 表设计记录在表设计文档中。
28
开发管理的一些指南
• 建立原代码互审的管理制度 ― 每个软件开发工程师遍写的原代码都有致少一个以上的同事对程序 进行审查。
• 建立原代码编写的规范 ― 每个软件开发工程师都应按照规范进行程序设计, 包括编写的风格, 格式, 组件接口的规范, 解说词的撰写, 等等。
29
测试管理的一些指南
• 根据设计构划书撰写测试计划 ― 测试计划要请项目经理和开发工程师一起进行审查。 ― 测试计划用列表式将所有的测试方案写下。 ― 每个具体地的测试方案都有专人执行,并记录每个测试方案的结果 . 任何缺陷都记录下来。
精品ppt
4
软件项目基本流程
启动
计划
执行
控制
结束
5
流程示意图
6
软件项目开发的流程及特征
• 此通用流程时间表为各种开发项目的参考,各工作项目的时间长短视项 目具体的要求来决定, 且有的流程可有可无。

软件开发项目管理 ppt课件

软件开发项目管理 ppt课件
软件开发项目管理
P1
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P2
精品资料
• 你怎么称呼老师? • 如果老师最后没有总结一节课的重点的难点,你
是否会认为老师的教学方法需要改进? • 你所经历的课堂,是讲座式还是讨论式? • 教师的教鞭 • “不怕太阳晒,也不怕那风雨狂,只怕先生骂我笨,
P 11
项目经理人员能力要求
技術
文档能力
对项目经理人员的能力要求
管理 综合能力 沟通
业务
经验
威信?亲和力?抗压能力?发现问题的能力?口才?
P 12
Contents
1 项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 13
人员管理-人员分类
能力
能力强,不积极
P 30
Contents
1 软件项目管理概要 2 人员管理 3 质量管理 4 进度管理 5 沟通管理 6 关于5W1H
P 31
如何做事-5W/1H
什么是5W/1H?
1.“5W/1H”是一种定律,是一种原理,也是一种流程,更是一种工具,广泛运用至企业管理和日常工作生 活和学习中; 2.“5W/1H”为我们提供了科学的工作分析方法,常常被运用到制定计划草案上和对工作的分析与规划中, 并能使我们提高效率和使工作的有效执行。
P6
对项目经理的质问 对项目经理的质问
项目的作业内容(开发范围)很清楚吗? 项目计划安排合理吗?能保证按时上线?各个阶段设置时间段合理吗? 你对所有人员的能力都很清楚吗?人员和体制安排合理吗?是否有超过人员能力的安排 ?是否有的人太闲,有的人太忙? 所有的进度都在控制之中吗?客户询问进度情况你能应答自如? 你对项目平品质指标很清楚吗?对品质有没有信心?哪个地方的品质是你担心的?如果 有不放心的地方都采取了妥当的措施保证不会出问题?总体上能保证品质吗? 客户提的要求你都满足了吗?客户对你放心满意吗?客户问你项目的情况,你都能做出 合理的回答和解释吗? 你的上级对你放心吗?你的下属服从安排吗? 当前项目有哪些问题你都清楚吗?所有的问题是不是都在你的掌控之中? 你是否能在压力下工作?外界的压力是否影响你工作效率和质量? 整个项目都是按你的预想在前进吗?

软件研发项目管理PPT课件

软件研发项目管理PPT课件

2.8 获得所需资源
[dur = 0.5 days]
2.9 分析工作完成
行为需求分析 [2.1] [dur = 5 days]
审阅初步的软件规范 [3.1]
[dur = 2 days]
审阅功能规范 [4.1] [dur = 1 day]
3 设计 3.1 审阅初步的软件规范 3.2 制定功能规范 3.3 根据功能规范开发原型
软件研发的分类和组成
软件基本过程:软件获取、供应、开发、运行和维护 的过程,包括需求分析、软件设计、编码等过程。
软件支持过程:对软件主要过程提供支持的过程,包 括文档编制过程、配置管理过程、质量保证过程、验 证和确认过程(测试过程)、评审过程等。
软件组织过程:对软件主要过程和支持过程的组织保 证过程,包括管理过程、基础设施过程、改进过程和 培训过程。
总纲与规范
六为法
• 需求必为准 • 团队必为本 • 计划必为纲 • 绩效必为证 • 质量必为出 • 变化必为形
总纲与规范
七定法
• 兵马未动、合约先行(定需求) • 可行的做可行事(定技术方案) • 谋定而后动(定计划) • 专业的人做专业的事(定人员) • 沟通无止境、共识促发展(定共识) • 死亡之地不可不察也(定风险) • 应对随形、修道保法(定变更)
获得核心资源 [1.4] [dur = 1 day]
工作组共同审阅软件规 范/预算 [2.4] [dur = .5 days]
审阅功能规范 [3.4] [dur = 2 days]
编写代码 [4.4] [dur = 15 days]
4.4 编写代码 4.5 开发人员测试(初步调试) 4.6 开发工作完毕
计划管理
项目估算
令人烦恼的项目估算:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目模拟/实战训练 第一部分 软件工程
. 1
本讲内容
• 1 软件工程概述 • 2 软件工程过程和活动 • 3 软件过程模型 • 4 软件过程成熟度模型CMM
. 2
1 软件工程概述
• 1.1 软件的概念 • 1.2 为什么要软件工程 • 1.3 什么是软件工程 • 1.4 参考书目
. 3
1.1 软件的概念
– 软件项目跟踪和控制,正式的技术复审, 软件质量保证,软件配置管理,文档编制, 复用管理,度量,风险管理,…
.
Something that covers or protects.
保护物覆盖或保护的事物17
2.2 问题定义活动
• What
– 问题定义是软件开发过程当中的一个定义要 解决的问题并确定系统范围的活动。
. 9
1.3 什么是软件工程
CASE Tools Methods Process
A Quality Focus
. 10
1.4 软件工程参考书目
. 11
2 过程和活动
• 2.1 软件过程的概念 • 2.2 问题定义活动 • 2.3 可行性研究活动 • 2.4 需求分析活动 • 2.5 设计活动 • 2.6 实施活动 • 2.7 测试活动 • 2.8 部署活动
. 24
2.4 需求分析活动
• What
– 功能性需求和非功能性需求
• 功能性需求:描述了系统应该做什么,即具备 的功能或服务。(输入、输出和计算等)
• 非功能性需求:描述了系统必须遵守的约束条 件。(响应时间、吞吐量 、可靠性、可移植性、 可扩展性、易用性、安全性、资源要求、可复 用性、技术要求、文化和政策需求、法律需求、 道德要求、隐私要求,等等)
– 描述需求的标准
• 是完整的、正确的、必要的、无歧义的、可行 的、可验证. 的以及被设置了优先级别的。
25
2.4 需求分析活动
• Why
– 需求不一致、模糊、矛盾 – 需求变更 – 客户忽略领域常识/知识/术语 – 客户集中于现有系统的不足之处,而忽略了
系统要实现的关键功能 – 零碎、无组织、不明确、表达不清 – 不分轻重缓急
• What
– 可行性研究是以相对短的时间和相对低的成 本来确定给定的问题在其约束条件内是否有 解、有几种解以及哪个是最佳解。
• Why
– 必须要先确立满足约束条件的方案是否存在、 是否可行、是否最优,然后再在最优方案的 基础上进行开发
. 21
2.3 可行性研究活动
• When
– 项目的早期阶段 – 占整个软件开发时间中的比例较小,但比问题定
– (1)应用系统的有规则的定量的方法开发、 使用和维护软件;即应用工程于软件。
– (2)研究(1)中的方法 – 特点:粗糙
. 8
1.3 什么是软件工程
• Definition
– 软件工程是以质量为核心,为了经济地开发 满足客户需求的软件而研究、建立和应用的 系统化的、有规则的、可度量的和可控制的 工程原则、方法,涉及到软件过程、项目管 理、开发方法、软件复用、软件度量、开发 工具,甚至企业文化等各个方面。
• 定义
– Program + Data Structure + Documents
• 软件的性质
– 复杂性 – 难以描述性 – 不可见性 – 变化性
.
– 易于副本的大批量生产 – 强合作性
4
1.2 为什么要软件工程
• 软件危机
Crisis!
– 爆发时间
• 1967年NATO的研究组首次提出
• 1968年NATO软件工程会议首次提出软件工程 概念
• 1968-2013, 近40多年
– “危机”一词
– 软件危机依然存在
. 5
1.2 为什么要软件工程
• 软件危机面对的问题
– 艺术 vs. 标准化 – 错误的发现 – 软件需求获取 – 软件支持和维护 – 开发速度 vs. 市场需求 – 开发周期过长、开发成本过高 – 研发风险 – 软件开发中的复杂的协作(人员,问题,过程) – 不同角色的软件神话(管理者,用户,开发者,大众)
. 12
2.1 软件过程的概念
• 软件过程的定义
– 软件过程由开发或维护软件及其相关产品的 一系列活动构成,这些活动从不同的方面定 义了软件开发中的步骤、交付物、涉众及其 职责等流程要素
. 13
2.1 软件过程的概念
控制/约束
输入
Process
输出
资源
输入 需求
.
控制 预算,计划表,标准
Build the 输出 System 代码,文档
• Why
– 形成一个早期判断,达成一个最初共识
• When
– 项目日程表的最前端 – 占整个软件开发时间中的比例很小
. 18
2.2 问题定义活动
• Who
– 系统分析师、出资方领导、出资方技术人员、 开发方领导和项目经理
• Where
– 客户现场
. 19
2.2 问题定义活动
• How
. 20
2.3 可行性研究活动
义活动所消耗的时间长
• Who
– 系统分析师、出资方领导、出资方技术人员、用 户代表、开发方领导、项目经理、架构设计师、 领域专家、财务人员、市场人员、软件质量保证 (SQA,Software Quality Assure)人员等
• Where
– 客户现场。 .
22
2.3 可行性研究活动
• How
资源 人员,工具
14
2.1 软件过程的概念
What
Change
How
. 15
2.1 软件过程的概念
. 16
2.1 软件过程的概念
• Basic Activities(基础活动)
– 问题定义,需求,设计,实b现, 软件验证,集成,软件演进/维护,退役
• Umbrella Activities (辅助性活动)
. 6
1.2 为什么要软件工程
• 采用什么方法缓解危机
– 硬件 ? – 建筑学? – 拍电影? – …… – 软件工程!
. 7
1.3 什么是软件工程
• Fritz Bauer:
– “建立和应用完善的工程原理以便经济地得 到在真实机器上可靠和有效运行的软件。
– 特点:重原理、轻技术、无度量
• IEEE:
• How
. 23
2.4 需求分析活动
• What
– 需求:主要是在产品构建之前确定的系统必 须符合的条件或具备的功能,它们是关于系 统将要完成什么工作的一段描述语句,它们 必须经过所有相关人员的认可,其目的是彻 底地解决客户的问题。
– 需求文档
• 一组需求的集合 • 用户需求文档、系统需求文档和软件规约文档
相关文档
最新文档