问题定义与可行性分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人、法律等;
把功能分配给硬件、软件、人、数据库等系统
元素中;
建立成本和进度限制; 生成系统规格说明书(包括问题定义报告和可
行性分析报告)
12.10.2020
14
§3.3.2 问题定义
回答:要解决的问题是什么? 内容:问题的背景,开发系统的现状,开发的理由
和条件,开发系统的问题要求,总体要求,问题的 性质,类型范围,要实现的目标,功能规模,实现 目标的方案,开发的条件,环境要求。
回答:否,因为软件 工程只是计算机系统 中的一个元素。
12.10.2020
3
§3.1 基于计算机的系统
1. 硬件=为系统提供计算能力的电子设备,如:Mainframe、 存储设备、网络设备等;硬件的处理能力和性能必须满足 系统的功能和性能要求。
2. 软件=程序+数据+文档
3. 人=硬件和软件的用户和操作员。HCI(Human Conversation Interface)在系统的分析和设计过程中一定 要以人为本。(这是软件人员经常犯的错误:操作以开发 人员的习惯来设计,忽略了用户的意见。)
12.10.2020
7
§3.2.2 软件和软件工程
软件工程师开发满足分配的功能和性能要 求的软件部件。
பைடு நூலகம்
12.10.2020
8
§3.2.2 软件和软件工程
12.10.2020
9
§3.2.2 软件和软件工程
12.10.2020
10
§3.2.3 人和人类工程
人在系统中的作用:
直接和硬件与软件进行交互,实现系统功能;(使用) 人开发系统; 人维护系统
包括:数据库分析、设计和实现; 系统工程师要完成的任务:
定义数据库中包含的信息 处理查询的类型 数据存取的方式 数据库的容量等
12.10.2020
13
§3.3 系统需求分析 §3.3.1 系统需求分析目标
识别用户的要求:功能、性能、约束、接口等; 评价系统的可行性:经济、技术、社会环境、
识别分配给人完成的与其他系统元素交互的活
动,并进一步划分成任务;
精确定义人为了完成某一任务而必需的动作,
并构造完成该任务的动作序列(对话);
确定每一个动作的实现形式; 将人和其他系统元素组合在一起形成用户环境; 采纳原型对HCI进行评估,并最终确定HCI。
12.10.2020
12
§3.2.3 数据库和数据库工程
界定系统:确定系统的功能、性能、约束和接口(系统和
环境的关系)
分配:把系统的功能分配到一个或者多个系统元素。
一个功能可能分配到不同的系统生成元素(软件、硬件和人)
中,因此,可能存在多种分配方案。
12.10.2020
5
§3.2 计算机系统工程
哪种方案更有效?有一定的权衡准则:
项目考虑:成本和进度范围内,系统配置能否实现?
第三章 问题定义与可行性分析
提纲
§3.1基于计算机的系统 §3.2计算机系统工程
硬件和硬件工程,软件和软件工程,人和人类 工程,数据库和数据库工程
§3.3 系统需求分析
系统需求分析目标,问题定义,可行性研究
§3.4系统结构模型化
12.10.2020
2
§3.1 基于计算机的系统
问题:是否学习了软 件工程就能完全解决 实际问题?
12.10.2020
15
§3.3.2 问题定义
例子:某校教材科提出开发微机教材销售系统的要求,
经过系统分析员的调查,写出如下的问题定义报告,说 明微机教材销售系统的目标范围。
(1)项目:教材销售系统。 (2)背景:人工销售效率低,易出错。 (3)项目目标:建立一个高效率的,无差错的微机教材销售系统。 (4)项目范围:硬件利用现有微机,软件开发费不超过1500元。 (5)初步设想:建立增加缺书统计与采购功能。 (6)可行性研究:建议进行一周,费用不超过100元。
相关的风险呢?
商业考虑:是否赢利?占领市场? 技术分析:是否能做(技术实力)?做的质量如何
(性能问题)?做的效率如何?
配置评估:系统配置是否有效?(市场采购) 人员问题:研发人员素质?用户对系统的理解? 环境接口:与外界环境接口是否合适? 法律考虑:是否违法?是否会受到侵权?
12.10.2020
型。然后从系统逻辑模型出发,探索若干种可供选择的 方案,对每种方案都应该仔细研究它的可行性。
12.10.2020
17
§3.3.3 可行性研究
1、经济可行性
经济可行性包括软件开发项目的成本效益估计,以确定
软件系统可能带来的经济效益是否超过研制和维护所需
要的费用。
<1>费用估计
(1)设备。计算机硬件、输入输出设备、空调,电源,机房
6
§3.2.1 硬件和硬件工程
系统工程师应该明确:
何种硬件能够最好地实现所确定的功能;
(TPC-C的tpmC指标)
这种硬件能够在市面上买到吗?来源、有效性、
价格如何?
硬件提供商提供哪些服务?(安装调试...) 硬件之间的接口兼容吗? 如果没有现成的部分硬件,就需要自己开发,
需求是什么?(又一个工程问题)
12.10.2020
16
§3.3.3 可行性研究
可行性研究的目的不是解决问题,而是确定问 题是否值得去解决。
首先,要进一步分析和澄清问题定义。在问题定义阶段
初步确定的规模和目标,如果是正确的就进一步加以肯 定,如果有错误就及时改正,如果对目标系统有任何约 束和限制,必须把它们清楚地列举出来。
其次,在澄清了问题定义之后,就可导出系统的逻辑模
及其它设施,系统软件,数据库管理系统,各种应用软件
4. 数据库=大型信息的有组织集合。并不是所有的系统都有 数据库元素,若有的话,一般是系统功能的核心。
5. 过程=定义每一种系统元素特定的使用步骤,或者系统驻 留的过程性环境。
12.10.2020
4
§3.2 计算机系统工程
定义:是一个问题求解的活动,目的是揭示、分 析所期望的功能、性能、接口、设计限制和信息 结构的表示,并把它们分配到各个系统元素中去。 (由系统分析工程师和用户合作完成)
用户友好性(user-friendly),要考虑:
人的记忆和知识表示;(knowledge) 人的思考和推理线索;(think:结果还是过程) 人对美观的直觉;(intuitive) 人的对话构造等。(conversation)
12.10.2020
11
§3.2.3 人和人类工程
HCI的设计过程步骤:
把功能分配给硬件、软件、人、数据库等系统
元素中;
建立成本和进度限制; 生成系统规格说明书(包括问题定义报告和可
行性分析报告)
12.10.2020
14
§3.3.2 问题定义
回答:要解决的问题是什么? 内容:问题的背景,开发系统的现状,开发的理由
和条件,开发系统的问题要求,总体要求,问题的 性质,类型范围,要实现的目标,功能规模,实现 目标的方案,开发的条件,环境要求。
回答:否,因为软件 工程只是计算机系统 中的一个元素。
12.10.2020
3
§3.1 基于计算机的系统
1. 硬件=为系统提供计算能力的电子设备,如:Mainframe、 存储设备、网络设备等;硬件的处理能力和性能必须满足 系统的功能和性能要求。
2. 软件=程序+数据+文档
3. 人=硬件和软件的用户和操作员。HCI(Human Conversation Interface)在系统的分析和设计过程中一定 要以人为本。(这是软件人员经常犯的错误:操作以开发 人员的习惯来设计,忽略了用户的意见。)
12.10.2020
7
§3.2.2 软件和软件工程
软件工程师开发满足分配的功能和性能要 求的软件部件。
பைடு நூலகம்
12.10.2020
8
§3.2.2 软件和软件工程
12.10.2020
9
§3.2.2 软件和软件工程
12.10.2020
10
§3.2.3 人和人类工程
人在系统中的作用:
直接和硬件与软件进行交互,实现系统功能;(使用) 人开发系统; 人维护系统
包括:数据库分析、设计和实现; 系统工程师要完成的任务:
定义数据库中包含的信息 处理查询的类型 数据存取的方式 数据库的容量等
12.10.2020
13
§3.3 系统需求分析 §3.3.1 系统需求分析目标
识别用户的要求:功能、性能、约束、接口等; 评价系统的可行性:经济、技术、社会环境、
识别分配给人完成的与其他系统元素交互的活
动,并进一步划分成任务;
精确定义人为了完成某一任务而必需的动作,
并构造完成该任务的动作序列(对话);
确定每一个动作的实现形式; 将人和其他系统元素组合在一起形成用户环境; 采纳原型对HCI进行评估,并最终确定HCI。
12.10.2020
12
§3.2.3 数据库和数据库工程
界定系统:确定系统的功能、性能、约束和接口(系统和
环境的关系)
分配:把系统的功能分配到一个或者多个系统元素。
一个功能可能分配到不同的系统生成元素(软件、硬件和人)
中,因此,可能存在多种分配方案。
12.10.2020
5
§3.2 计算机系统工程
哪种方案更有效?有一定的权衡准则:
项目考虑:成本和进度范围内,系统配置能否实现?
第三章 问题定义与可行性分析
提纲
§3.1基于计算机的系统 §3.2计算机系统工程
硬件和硬件工程,软件和软件工程,人和人类 工程,数据库和数据库工程
§3.3 系统需求分析
系统需求分析目标,问题定义,可行性研究
§3.4系统结构模型化
12.10.2020
2
§3.1 基于计算机的系统
问题:是否学习了软 件工程就能完全解决 实际问题?
12.10.2020
15
§3.3.2 问题定义
例子:某校教材科提出开发微机教材销售系统的要求,
经过系统分析员的调查,写出如下的问题定义报告,说 明微机教材销售系统的目标范围。
(1)项目:教材销售系统。 (2)背景:人工销售效率低,易出错。 (3)项目目标:建立一个高效率的,无差错的微机教材销售系统。 (4)项目范围:硬件利用现有微机,软件开发费不超过1500元。 (5)初步设想:建立增加缺书统计与采购功能。 (6)可行性研究:建议进行一周,费用不超过100元。
相关的风险呢?
商业考虑:是否赢利?占领市场? 技术分析:是否能做(技术实力)?做的质量如何
(性能问题)?做的效率如何?
配置评估:系统配置是否有效?(市场采购) 人员问题:研发人员素质?用户对系统的理解? 环境接口:与外界环境接口是否合适? 法律考虑:是否违法?是否会受到侵权?
12.10.2020
型。然后从系统逻辑模型出发,探索若干种可供选择的 方案,对每种方案都应该仔细研究它的可行性。
12.10.2020
17
§3.3.3 可行性研究
1、经济可行性
经济可行性包括软件开发项目的成本效益估计,以确定
软件系统可能带来的经济效益是否超过研制和维护所需
要的费用。
<1>费用估计
(1)设备。计算机硬件、输入输出设备、空调,电源,机房
6
§3.2.1 硬件和硬件工程
系统工程师应该明确:
何种硬件能够最好地实现所确定的功能;
(TPC-C的tpmC指标)
这种硬件能够在市面上买到吗?来源、有效性、
价格如何?
硬件提供商提供哪些服务?(安装调试...) 硬件之间的接口兼容吗? 如果没有现成的部分硬件,就需要自己开发,
需求是什么?(又一个工程问题)
12.10.2020
16
§3.3.3 可行性研究
可行性研究的目的不是解决问题,而是确定问 题是否值得去解决。
首先,要进一步分析和澄清问题定义。在问题定义阶段
初步确定的规模和目标,如果是正确的就进一步加以肯 定,如果有错误就及时改正,如果对目标系统有任何约 束和限制,必须把它们清楚地列举出来。
其次,在澄清了问题定义之后,就可导出系统的逻辑模
及其它设施,系统软件,数据库管理系统,各种应用软件
4. 数据库=大型信息的有组织集合。并不是所有的系统都有 数据库元素,若有的话,一般是系统功能的核心。
5. 过程=定义每一种系统元素特定的使用步骤,或者系统驻 留的过程性环境。
12.10.2020
4
§3.2 计算机系统工程
定义:是一个问题求解的活动,目的是揭示、分 析所期望的功能、性能、接口、设计限制和信息 结构的表示,并把它们分配到各个系统元素中去。 (由系统分析工程师和用户合作完成)
用户友好性(user-friendly),要考虑:
人的记忆和知识表示;(knowledge) 人的思考和推理线索;(think:结果还是过程) 人对美观的直觉;(intuitive) 人的对话构造等。(conversation)
12.10.2020
11
§3.2.3 人和人类工程
HCI的设计过程步骤: