精品课堂《软件需求分析》ppt
合集下载
(完整版)《软件需求分析》PPT课件
4.1.1 需求分析的特点
需求分析虽处于软件开发过程的开始阶段,但它对 于整个软件开发过程以及软件产品质量是至关重要 的。需求分析是指开发人员要进行细致的调查分析, 准确理解用户的要求。将用户非形式的需求陈述转 化为完整的需求定义,再由需求定义转换到相应的 形式功能规约的过程。
2020/4/10
2020/4/10
广东工业大学计算机学院
11
(4)用户界面需求:用户操纵界面的形式、输入 /输出数据格式、数据传递的载体等。
(5)系统的可靠性、安全性、可移植性和可维护 性等方面的需求。
2020/4/10
广东工业大学计算机学院
12
2. 导出软件的逻辑模型
分析人员根据前面获取的需求资料,要进行一致性 的分析检查,在分析、综合中逐步细化软件功能, 划分成各个子功能。同时对数据域进行分解,并分 配到各个子功能上,以确定系统的构成及主要成分。 最后要用图文结合的形式,建立起新系统的逻辑模 型。
2020/4/10
广东工业大学计算机学院
10
1. 问题明确定义
(1)功能需求:指所开发的软件必须具备什么样 的功能。
(2)性能需求:要开发软件的技术性能指标,如 访问时延、存储容量、运行时间等限制。
(3)环境需求:软件运行时所需要的硬件的机型、 外设;软件的操作系统、开发与维护工具和数据库 管理系统等要求。
2020/4/10
广东工业大学计算机学院
5
3. 交流障碍
需求分析涉及人员较多,系统分析员要与软件系统 用户、问题领域专家、需求工程师和项目管理员等 进行交流。但是这些人具备不同的背景知识,处于 不同的角度,扮演不同角色,造成了相互之间交流 的困难。
2020/4/10
精品课堂《软件需求分析》ppt
金陵科技学院 软件工程学院
1.2 什么是需求?什么是需求工程?
• IEEE 1990对需求的定义: • (1)用户为了解决问题或达到某些目标所需要的条件或能力; • (2)系统或系统部件为了满足合同、标准、规范或其他正式文 档所规定的要求而需要具备的条件或能力; • (3)对上述两种情况(1)或(2)中的一个条件或一种能力的 一种文档化表述。
金陵科技学院 软件工程学院
什么是软件工程?
• IEEE关于软件工程的定义是:软件工程是:(1)将系统化的、严 格约束的、可量化的方法应用于软件的开发、运行和维护,即将 工程化应用于软件;(2)指在(1)中所述方法的研究。 • 目前比较认可的一种定义是:软件工程是研究和应用如何以系统 化、规范化、可定量的过程化方法去开发和维护软件,以及如何 把经过时间考验而证明正确的管理技术和当前能够得到的最好的 技术方法结合起来。
用户需求主要指用户使用产品必须要完成什么任务,怎么完成需求, 通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景 进行整理,从而建立从用户角度的需求。用户需求必须能够体现软件 系统将给用户带来的业务价值,或用户要求系统必须能完成的任务。 用户需求主要描述了用户使用系统能够做什么事情(即What)。通过 用户需求信息形成的文档为用例说明文档。 系统需求是用户对系统行为的期望,一系列的系统需求联系在一起, 帮助用户完成任务,达成用户需求,进而满足业务需求。系统需求可 以直接映射为系统行为,定义系统中需要实现的功能,描述开发人员 需要实现什么。它描述的是开发人员如何设计具体的解决方案来实现 这些需求(即How),是业务需求和用户需求最终实现的目标,其级 别比用户需求高一个数量级。系统需求信息都记录在需求规格说明文 档(Soft Requirments Specification即SRS)中,
软件工程需求分析(精品PPT)
•确定被开发软件系统的系统元素
•将功能和信息结构分配到这些系统元素中 •需求分析的任务
•深入描述软件的功能和性能 •确定软件设计的约束和软件同其它系统元素的接口细节
•定义软件的其它有效性需求
第四页,共七十七页。
需求(xūqiú)分析的具体任务
•需求分析阶段的具体任务:
•确定对系统的综合要求
•系统功能要求
第四章 析根底
软件工程 需求分 (ruǎn jiàn ɡōnɡ chénɡ)
第一页,共七十七页。
第四章 需求分析 根底 (fēnxī)
• 需求(xūqiú)分析的任务与原那么〔重点〕 • 需求分析的任务 • 需求分析的过程 • 软件需求分析的原那么 • 初步需求获取技术 • 需求建模〔重点〕 • 问题抽象、问题分解与多视点分析 • 支持需求分析的快速原型技术 • 需求规格说明书
第二十六页,共七十七页。
教务管理系统调查分析过程 1、认真学习教务管理方面的知识,重点掌握其中
的名词和术语 2、收集目前教务管理方面资料和软件,了解其特
•了解系统的需求 •软件开发是系统开发的一局部,仔细分析研究系统的需求 规格说明,对软件的需求获取是很有必要的
第十六页,共七十七页。
✓需求调查对象
对组织的高层管理者,进行组织管理目标或经营方 针等组织战略问题的调查
对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查
✓市场调查 了解市场对待开发软件有什么样的要求;了解市场上 有无与待开发软件类似的系统
第十页,共七十七页。
需求(xūqiú)分析流程
第十一页,共七十七页。
软件需求(xūqiú)分析的原那么
1、需要能够表达和理解问题的信息域和功能域 信息域应包括:
•将功能和信息结构分配到这些系统元素中 •需求分析的任务
•深入描述软件的功能和性能 •确定软件设计的约束和软件同其它系统元素的接口细节
•定义软件的其它有效性需求
第四页,共七十七页。
需求(xūqiú)分析的具体任务
•需求分析阶段的具体任务:
•确定对系统的综合要求
•系统功能要求
第四章 析根底
软件工程 需求分 (ruǎn jiàn ɡōnɡ chénɡ)
第一页,共七十七页。
第四章 需求分析 根底 (fēnxī)
• 需求(xūqiú)分析的任务与原那么〔重点〕 • 需求分析的任务 • 需求分析的过程 • 软件需求分析的原那么 • 初步需求获取技术 • 需求建模〔重点〕 • 问题抽象、问题分解与多视点分析 • 支持需求分析的快速原型技术 • 需求规格说明书
第二十六页,共七十七页。
教务管理系统调查分析过程 1、认真学习教务管理方面的知识,重点掌握其中
的名词和术语 2、收集目前教务管理方面资料和软件,了解其特
•了解系统的需求 •软件开发是系统开发的一局部,仔细分析研究系统的需求 规格说明,对软件的需求获取是很有必要的
第十六页,共七十七页。
✓需求调查对象
对组织的高层管理者,进行组织管理目标或经营方 针等组织战略问题的调查
对中层的管理者,进行全部业务流的调查 对业务工作人员,进行详细业务信息的调查
✓市场调查 了解市场对待开发软件有什么样的要求;了解市场上 有无与待开发软件类似的系统
第十页,共七十七页。
需求(xūqiú)分析流程
第十一页,共七十七页。
软件需求(xūqiú)分析的原那么
1、需要能够表达和理解问题的信息域和功能域 信息域应包括:
《软件需求分析》课件
关系定义
定义实体之间的关系,如 关联、依赖、聚合等。
实体关系图绘制
使用图形化工具绘制实体 关系图,展示实体之间的 关联关系。
Part
04
需求规格说明
需求规格说明编写
确定需求来源
明确软件需求来自哪些方面,如用户、市场、技术等 ,确保全面覆盖。
编写规范统一
遵循统一的编写规范,确保需求规格说明的清晰、准 确和一致性。
需求分析的过程
需求调研
通过与用户沟通、调查问 1
卷、现场观察等方式,了 解用户需求和业务场景。
需求确认
4
将分析出来的需求与用户 进行确认,确保双方对需 求的理解一致。
需求分析
2
对收集到的需求进行整理
、分类、抽象,形成系统
需求。
需求评审
3 对分析出来的需求进行审
查和评估,确保需求的正 确性和完整性。
访谈技巧
注意倾听、引导和追问,以获得深入的需求 信息。
记录和分析
详细记录访谈内容,并进行分析,提取关键 需求。
问卷调查
设计问卷
根据软件的功能和目标,设计合理的问卷。
选择调查对象
确保调查对象的代表性和广泛性。
发布和收集问卷
通过适当的渠道发布问卷,并确保问卷的完整性和准确性。
数据分析
对收集到的数据进行统计分析,提取关键需求。
详细描述
社交网络平台用户数量庞大,用户交互频 繁,对系统的可用性和响应速度要求极高 。同时,由于社交网络平台的功能更新频 繁,需求变化较快,需求分析需要关注系 统的可扩展性和灵活性。此外,社交网络 平台还需要考虑用户隐私和数据安全等问 题。
THANKS
感谢您的观看
非功能需求定义
软件需求分析PPT课件
原型设计工具
原型设计工具用于快速创建软件原型, 帮助团队更好地理解用户需求和设计 软件界面。
常见的原型设计工具包括Axure、 Sketch、Figma等,这些工具支持快 速设计和制作高保真原型,方便团队 成员进行讨论和评审。
需求分析建模工具
需求分析建模工具用于对软件需求进行分析、建模和规格编写,帮助团队更好地 理解和规范软件需求。
评审
组织专家或利益相关者对需求规格说 明进行评审,确保内容的准确性和完 整性。
修改
根据评审结果,对需求规格说明进行 修改和完善,确保满足利益相关者的 需求。
需求规格说明的发布与维护
发布
将需求规格说明正式发布给相关人员,确保利益相关者了解和遵循。
维护
在软件开发生命周期中,对需求规格说明进行维护和更新,确保其与实际需求保持一致。
定期对需求变更进行审查,确保变 更得到有效控制。
沟通与协调
及时向相关干系人报告变更情况, 确保信息一致性。
04
06 软件需求分析工具
需求管理工具
需求管理工具用于记录、跟踪和管理 软件需求,确保需求变更得到及时处 理和正确实施。
常见的需求管理工具包括Jira、 MantisBT等,这些工具提供了需求跟 踪、版本控制、变更管理等功能,帮 助团队更好地协作和管理需求。
需求分析的流程
需求整理
对收集到的需求进行分类、筛 选、合并、去重等处理。
需求规格说明
编写需求规格说明书,明确需 求的细节和验收标准。
需求收集
通过访谈、问卷调查、原型演 示等方式收集用户需求。
需求分析
对整理后的需求进行深入分析, 明确系统功能、性能等方面的 具体要求。
需求评审
组织专家或团队对需求规格说 明书进行评审,确保需求的准 确性和完整性。
03第三章 软件需求分析精品PPT课件
统计资料:
In 1994, the Standish Group surveyed over 350 companies about their over 8000 software projects to find out how well they were faring. The results are sobering. Thirty-one percent of the software projects were canceled before they were completed. Moreover, in large companies, only 9% of the projects were delivered on time and cost what they were budgeted, and 16% met those criteria in small companies (Standish 1994).
2021/1/1
仲恺农业技术学院计算机与电子工程学院
4
在美国高科技历史上曾有过令人痛心的事件: 大家知道,DEC曾经是美国三大计算机公司之一,几年前
被康柏收购,从地球上消失,成为美国计算机界一大憾事。 DEC曾以众多的高新技术著称于世。其中,它在最后的几年里 研发出的 Alpha 计算机芯片更以卓越的技术在性能上超过了 Intel, sun 和其他厂家的芯片。微软也曾大力协助 DEC ,将 Windows Nt 移植到 Alpha 系统,然而,Alpha 在市场上彻底地 失败了,成为 DEC 最终失败的原因之一。
the Ariane-5, a space rocket belonging to the European Space Agency (ESA). On June 4, 1996, on its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then, it began to veer off course. At the direction of an Ariane ground controller, the rocket was destroyed by remote
《软件需求分析》课件
2
需求分析
对收集到的需求进行分类、分析方法和验证。
3
需求规格说明
编写需求规格文档和需求规格说明书,并满足格式要求。
软件需求分析的工具和技术
用例图和用例描述
通过用例图和用例描述来描 述系统的功能和行为。
数据库图
使用数据库图来描述系统中 的数据结构和关系。
业务流程图
使用业务流程图来描绘系统 的业务流程和工作流程。
系统交互图
使用系统交互图来描述系统与用户或其他系统之 间的交互过程。
其他工具和技术
还有其他一些工具和技术可以用于辅助软件需求 分析,比如原型设计等。
软件需求分析的挑战和解决办法
1 需求不准确
通过与利益相关者密切合作,使用迭代的方 法来不断澄清和明确需求。
2 需求冲突
通过协商和妥协,以及优先级排序等方法来 解决需求之间的冲突。
《软件ቤተ መጻሕፍቲ ባይዱ求分析》PPT课 件
欢迎大家来到本次课程《软件需求分析》的PPT课件。在这个课程中,我们 将会深入探讨软件需求分析的核心内容和使用的工具和技术。
引言
在本节中,我们将介绍什么是软件需求分析、为什么进行软件需求分析以及 软件需求分析的重要性。
软件需求分析流程
1
需求收集
通过收集多渠道的需求来源,并编写需求文档。
3 需求变更
建立灵活的变更管理机制,通过评估和影响 分析来控制需求变更。
4 需求管理
建立完善的需求管理过程和工具,确保需求 的跟踪、审批和变更控制。
总结
通过本次课程,我们了解了软件需求分析的意义、流程、工具和技术,以及面临的挑战和解决办法。
参考资料
书籍 报告 文 网站
软件工程第三章 软件需求分析 PPT课件
购 书 申 学 请 书 购 单 开发票 发 票 领 书 单 发书
生
审查 有效性
开领 书单
书
学 生
学生购买教材的逻辑模型
需求分析过程示意
(3) 分析当前系统与目标系统的差别, 建立目标系统的逻辑模型
无效书单
学 购书单 审查并 发票 领书单 开领
生
开发票
书单
学 生
计算机售书系统的逻辑模型
需求分析过程示意
对象 系统
抽象(映射) 模型应用
模型 系统
模型构造的过程
逻辑模型 (本质模型、概念模型)
物理模型 (实施模型、技术模型)
现 行 系 统
描述重要的业务 功能,无论系统 是如何实施的。
描述现实系统是 如何在物理上实 现的。 描述新系统是如 何实施的(包括 技术)。
目 标 系 统
描述新系统的主要 业务功能和用户新 的需求,无论系统 应如何实施。
接收、发送数据的频率?
数据的准确性和精度? 数据流量? 数据需保持的时间?
(8)
资源需求
软件运行时所需的数据、软件。
内存空间等资源。
软件开发、维护所需的人力、
支撑软件、开发设备等。
(9)
安全保密要求
需对访问系统或系统信息
加以控制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序 和操作系统隔离? 系统备份要求?
(1)
功能需求
系统做什么?
系统何时做什么?
系统何时及如何修改
或升级?
(2)
性能需求
软件开发的技术性指标:
存储容量限制 执行速度、相应时间 吞吐量
(3)
环境需求
生
审查 有效性
开领 书单
书
学 生
学生购买教材的逻辑模型
需求分析过程示意
(3) 分析当前系统与目标系统的差别, 建立目标系统的逻辑模型
无效书单
学 购书单 审查并 发票 领书单 开领
生
开发票
书单
学 生
计算机售书系统的逻辑模型
需求分析过程示意
对象 系统
抽象(映射) 模型应用
模型 系统
模型构造的过程
逻辑模型 (本质模型、概念模型)
物理模型 (实施模型、技术模型)
现 行 系 统
描述重要的业务 功能,无论系统 是如何实施的。
描述现实系统是 如何在物理上实 现的。 描述新系统是如 何实施的(包括 技术)。
目 标 系 统
描述新系统的主要 业务功能和用户新 的需求,无论系统 应如何实施。
接收、发送数据的频率?
数据的准确性和精度? 数据流量? 数据需保持的时间?
(8)
资源需求
软件运行时所需的数据、软件。
内存空间等资源。
软件开发、维护所需的人力、
支撑软件、开发设备等。
(9)
安全保密要求
需对访问系统或系统信息
加以控制吗? 如何隔离用户之间的数据? 用户程序如何与其它程序 和操作系统隔离? 系统备份要求?
(1)
功能需求
系统做什么?
系统何时做什么?
系统何时及如何修改
或升级?
(2)
性能需求
软件开发的技术性指标:
存储容量限制 执行速度、相应时间 吞吐量
(3)
环境需求
软件需求分析数据流图PPT课件
分解度:一般每一个加工每次分解最多不要超过7个子
加工,分解应分解到基本加工为止。
ห้องสมุดไป่ตู้
2.2.5 画分层DFD图的基本原则
子图与父图的“平衡”
父图中某个加工的输入输出数据流应该同相应的
子图的输入输出相同(相对应),分层数据流图的这种 特点称为子图与父图“平衡”。
合理使用文件
当文件作为某些加工之间的交界面时,文件必须画 出来,一旦文件作为数据流图中的一个独立成份画出来
分层 DFD 图
X 3 2
0图
顶 层
中 间
1
1.2 1.3
1图
1.1 1.4
2.1
2.2
2图
层
1.1.1
1.1.2
2.1.1
2.1.2
2.1.3
2.2.1
2.2.3
2.2.2
底 层
1.1图
2.1图
2.2图
2.2.4 实例:医院病房监护系统
2.2.4 实例:医院病房监护系统
监视病情
产生 病情报告
经过初步的需求分析,得到系统功能要求: 1 、监视病员的病症(血压、体温、脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。
更新病历
例2 医院病房监护系统
系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。 顶层: 病员
病症信号 病症报告
病员监
护士
护系统
护士
报警
要求报告
病员日志
医院病房监护系统顶层DFD图
第一层:
1
局部监视 病症信号
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
金陵科技学院 软件工程学院
功能需求三个层次——举例
• 3.系统需求(How) • SR1: • (1)消费者可以在移动设备上随时查看餐馆所有的菜目、价格、 数量等信息。 • (2)消费者可以在移动设备上(手机、平板)下单,预订座位, 可以取消或修改订单。 • (3)餐馆业务人员可以实时查看并处理订单。 • (4)餐馆业务人员可以更新菜品信息,对系统用户数据进行管 理等。
非功能需求
金陵科技学院 软件工程学院
• 2.质量属性 系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求,如软 件的灵活性、高效性、可靠性、可维护性、健壮性、可用性等。 (1)灵活性:产品在增加新功能时所需工作量的大小 如:要求5年内价位在500元以上的Android手机都可以流畅运行Android点餐系统 (2)可靠性:软件无故障执行一段时间的概率, 如由于软件失效引起实验失败的概率应不超过5%。 (3)健壮性:指的当系统或软件遇到非法输入、相关软件或硬件组成部分的缺陷 或异常的操作情况下,能继续正确运行功能的程度。 (4)易用性与可用性:用户理解软件时所花费最小化程度,软件在出现系统故障 后保持运行的能力。 如: Android点餐系统客户端要求符合大众操作习惯,与网上其他的Android系统App 操作方式保持基本一致。 系统维护期间应保证系统能正常工作。
金陵科技学院 软件工程学院
需求的分类
业务需求 why
• 1.功能需求
用户需求what
系统需求how 性能需求
• 2.非功能需求
质量属性 对外接口 约束
功能需求的三个层次
业务需求描述组织或客户的高层次目标,定义系统特性。通常来自于 高层业务部门。业务需求从总体上描述了为什么要开发软件或系统 (即Why),组织希望达到的目标。业务需求获取后形成的文档为项目 前景和范围文档。这些文档描述了组织对将使用的软件系统所要达到 的目标的预期期望。
例如:Android订餐系统中涉及的非功能需求
金陵科技学院 软件工程学院
金陵科技学院 软件工程学院
非功能需求
• 4.约束
• 构建系统时需要遵循的约束,如编程语言和硬件设施等。约束不 受系统功能需求影响,却会给系统开发带来很多限制,会在总体 程度上限制开发人员设计、开、测试时的选择范围。
金陵科技学院 软件工程学院
系统需求How指什么?
• 指 需求怎样实现? • 需求怎样实现是在设计阶段完成,所以是错误的。 • How指需求本身的流程。可以简单理解为系统功能(what)的实 现流程。
金陵科技学院 软件工程学院
非功能需求
• 1.性能需求
• 用户在软件响应速度、精度、系统吞吐量,运行时资源消耗等属性要求。 • 例如,Android点餐系统中涉及的精度要求:餐馆要求每笔订单交易误差不得超过1角, 每天交易额的误差不得超过100元。 • 时间特性的要求: • (1)前台客户端
金陵科技学院 软件工程学院
1.2 什么是需求?什么是需求工程?
• IEEE 1990对需求的定义: • (1)用户为了解决问题或达到某些目标所需要的条件或能力; • (2)系统或系统部件为了满足合同、标准、规范或其他正式文 档所规定的要求而需要具备的条件或能力; • (3)对上述两种情况(1)或(2)中的一个条件或一种能力的 一种文档化表述。
金陵科技学院 软件工程学院
软件工程的各个阶段
• 1.项目计划 • 2.需求分析 • 3.项目设计 • 4.编码 • 5.测试 • 6.维护
传统需求处理认为:该阶段为需求处理过 程。 系统化的需求工程认为:软件工程前期的 需求工作+软件工程的需求分析阶段=软件需 求工程
金陵科技学院 软件工程学院
功能需求三个层次——举例
• 2.用户需求(What) • UR1:在需要订餐时,选择相关菜品及座位信息,填写顾客相关 信息,提交订餐单,等待餐厅反馈信息,并根据反馈信息查看订 餐及选座是否成功。 • 补充说明PD1: • 订餐单的内容包括:订餐人,联系方式,订餐日期,用餐日期, 菜品信息,总价,人数,座位信息,特殊说明,...... • 订餐单的反馈内容包括:订餐人,餐厅信息,订餐日期,用餐 日期,菜品信息,总价,人数,座位信息,特殊说明,订餐是否 成功,......
• 4 希望对顾客信息有一定记录,帮助选择出忠实客户,提供一定优惠。
• 5 就餐高峰时经常出现点菜下单排队现象,导致客户不满意。 • 6 目前提供的电话订餐经常发生顾客信息弄错、混乱,配送不及时等情况。
• 7 不知道店内哪些菜品受欢迎,受欢迎的菜品原因也不清楚,导致无法及时有效推出新菜品。
金陵科技学院 软件工程学院
功能需求三个层次——举例
• 1.业务需求(Why): • YW1:实现订餐的有效管理 • 高层次的解决方案SS1:在线下单、后台管理,实现统一有效管 理。 • 系统特性SF1: • 客户需要订餐时在线下单、选座。 • 餐厅后台查看订单准备菜品。 • 注意特色菜优先展示给客户。
金陵科技学院 软件工程学院
用户需求主要指用户使用产品必须要完成什么任务,怎么完成需求, 通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景 进行整理,从而建立从用户角度的需求。用户需求必须能够体现软件 系统将给用户带来的业务价值,或用户要求系统必须能完成的任务。 用户需求主要描述了用户使用系统能够做什么事情(即What)。通过 用户需求信息形成的文档为用例说明文档。 系统需求是用户对系统行为的期望,一系列的系统需求联系在一起, 帮助用户完成任务,达成用户需求,进而满足业务需求。系统需求可 以直接映射为系统行为,定义系统中需要实现的功能,描述开发人员 需要实现什么。它描述的是开发人员如何设计具体的解决方案来实现 这些需求(即How),是业务需求和用户需求最终实现的目标,其级 别比用户需求高一个数量级。系统需求信息都记录在需求规格说明文 档(Soft Requirments Specification即SRS)中,
金陵科技学院 软件工程学院
什么是软件工程?
• IEEE关于软件工程的定义是:软件工程是:(1)将系统化的、严 格约束的、可量化的方法应用于软件的开发、运行和维护,即将 工程化应用于软件;(2)指在(1)中所述方法的研究。 • 目前比较认可的一种定义是:软件工程是研究和应用如何以系统 化、规范化、可定量的过程化方法去开发和维护软件,以及如何 把经过时间考验而证明正确的管理技术和当前能够得到的最好的 技术方法结合起来。
• 软件的分类: • 1.系统软件
操作系统 支撑系统中各种软件的开发与为维护的软件,又称为软件开发环境, 主要包括环境数据库、各种接口软件和工具组。如微软公司的 。 支撑软件
• 2.应用软件 • 3.中间件
为了某种特定的用途而被开发的软件,为了满足用户不同领域、不同 问题的应用需求而提供的。可以是一个由众多独立程序组成的庞大的 软件系统,例如DBMS,Office等。 中间件是一类连接软件组件和应用的计算机软件,包括一组服务。它 位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯。通 过中间件,应用程序可以工作多平台或操作环境中。比如:tomcat, jboss, weblogic, websphere等软件。
为什么需要需求及分析?
• 小P刚加入一个项目组,项目经理安排他做需求分析,小P有点不 乐意:“需求有什么好分析的啊?客户要什么就给什么呗,简直 浪费我这个人才!” • 一天,客户打电话说:“我要一只羊”。小P一听,太简单了, 写下了需求:“XX客户需要一只羊。”小P叫小Q去处理这件事。 小Q觉得很简单,抓了一只羊就送过去了。 • 结果客户的投诉第二天就来了,项目经理黑着脸训斥小P,小P 觉得委屈:“我是按照客户的要求做的呀,怎么就错了呢?”
• 某餐厅老板找到伍杰公司,想要一个系统来解决现在他的烦恼:
功能需求三个层次——举例-发现问题
ห้องสมุดไป่ตู้
• 1 每天不知道各种菜进货多少,无法控制。有时某种菜准备的多,顾客点的少,造成浪费; 有时某种菜品没有,顾客却想点,造成供应短缺。能否利用现有信息,进行分析,能够正确 安排菜品数量。 • 2 经常发生顾客抢位现象。顾客就餐时,都愿意选择最佳位置。就餐高峰,顾客间容易因为 抢位导致矛盾,而影响餐厅生意。 • 3 有特色菜时,店内海报宣传和菜单宣传显得力度不够,帮助点菜业务员有时不熟悉菜品, 会使顾客放弃点某道菜品,同时对餐厅服务不满意。
• 3.对外接口
• 系统和环境中其他系统之间需要建立的接口,包括硬件接口、软 件接口和数据库接口等。 例如 : Android点餐系统中要求手机系统版本Android2.2及以上版本,手机 数据线接口,电脑硬件配置,电脑系统软件要求等。
性能类别 详细要求 精度 餐馆要求每笔订单交易误差不得超过1角,每天交易额的误差不 得超过100元。 前台客户端要求登录时间不得超过0.5秒,选择菜品、座位后 时间特性 下单的响应时间不得超过1秒,其他的一些操作响应时间一般不 得超过0.5秒。后台服务器要求管理员操作保持流畅,用户下 单后后台需要在5秒内看见用户的订单。 客户端 要求5年内价位在500元以上的Android手机都可以流畅 灵活性 运行Android点餐系统。服务端要求保持可移植性,方便硬件 设备的更换。 并发性 要求可以同时有200人在线点餐。 易用性 点餐系统客户端要求符合大众操作习惯,与网上其他的Android 系统App操作方式保持基本一致。
非功能需求
• 4.约束 • 例如:Android点餐系统对移动设备和 服务器的软硬件要求:
• • • • • • • • • • 1. 硬件要求
• 3. 条件、假定和约束 • (1)5年内的Android手机都可以使用此 • • •
前台客户端运行在环境Android2.2及以上 版本的移动设备上。 服务器可以运行在常规的桌面机上,需要配 置 JDK、tomact服务器 、MySQL数据库。 2. 系统的软件要求 (1)客户端 操作系统:Android2.2以上系统 (2)服务器端 操作系统:Windows2000 Server或更新版本。 数据库系统:MySQL Server5.4或更新版本。 可利用的信息和资源:互联网信息,餐馆