《{管理信息化信息化知识}软件工程3n)》由会员分享,可在线阅读,更多相关《{管理信息化信息化知识}软件工程3n)(23页珍藏版)》请在金锄头文库上搜索。
1、第二部分 软件需求分析与建模,什么是软件需求? 软件需求分析有哪些过程? 如何启动分析过程? 什么是面向数据的建模? 什么是面向数据流的建模? 什么是非形式化建模、半形式化建模和形式化建模? 什么是统一建模语言(UML)? 什么是用例建模?,软 件 工 程第3讲:软件需求,主讲人:阳王东 Email:,本讲主题,什么是软件需求? 客户要你为他开发一个什么样的软件。 需求分析过程 如何启动需求分析过程,软件需求,功能需求:描述系统预期提供的功能或服务 对系统应提供的服务 如何对输入做出反应 系统在特定条件下的行为 非功能需求:指那些不直接与系统具体功能相关的一类需求 产品需求 机构需求 外部需求
2、 领域需求:源于系统的应用领域需求,功能需求,软件系统的功能需求描述可以有许多方式: 文字描述 图表表示 功能需求可以以不同的详细程度反复编写和细化 功能需求描述应该完整而且一致和准确 完整性意味着用户所需的所有的服务应该全部给出描述 一致性意味着需求描述不能前后矛盾 准确性是指需求不能出现模糊和二义性的地方,功能需求描述:出卷系统,教师能够根据自己的要求手动或自动出一份试卷; 教师可以修改试卷中不合适的题目,并能自动生成各种样式的试卷; 教师可以对试题中的题目进行更新。,非功能需求,非功能需求主要与系统的总体特征相关,是一些限制性要求,是对实际使用环境所做的要求 性能要求 可靠性要求 安全性
3、要求 可用性要求 移植性要求 非功能需求关心的是系统整体特征而不是个别的系统的特征,比功能需求对系统更关键。 非功能需求却很难检验 非功能需求与功能需求有时会发生冲突,它们之间存在着相互作用关系,非功能需求举例,一个POS系统所需的存储因为成本原因有所限制,而商品的描述和价目表的信息量很大。 如果采用远程服务器,提供商品描述和价目表信息,那必然需要网络通信,而这需要网络技术。 当POS机数量多时必然引起服务器处理瓶颈问题。,领域需求,领域需求反映应用领域的基本问题,直接影响到系统的可用性。 例如:图书馆系统的功能需求基于标准用户界面将一些文档输出到本地打印机或网络打印机上,但因为版权限制,这些
4、文档打印之后应立即删除。,领域需求示例:短信系统,如果短信经过终端无线模块发送之前必须经过短消息协议标准编码才能发送出去。 要对短信编码,必须要对由ESTI制订的SMS规范有所了解。 技术实现(含编码方式)GSM 03.38、GSM 03.40 SMS的DTE-DCE接口标准(AT命令集):GSM 07.05 三种方式来发送和接收SMS信息: Block Mode Text Mode:纯文本方式,可使用不同的字符集,也可用于发送中文短消息,主要用于欧美地区。 PDU Mode:PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式,软件需求管理过程,需求获取 需求定义 需
5、求分析 编写需求规格说明书 需求验证 需求变更控制,获取需求,项目合同 项目中对项目的范围、主要功能性能指标进行规定 行业规范和相关政策 例如中国移动BOOS规范,中国银联直联POS终端规范,全国银行IC卡密钥管理规则,全国教育信息化建设安全技术体系规划等。 市场分析报告 由市场部或专门的部门提供的市场分析数据和用户特征分析报告(IDC、Gartner、赛迪顾问(CCID)、计世资讯 ) 咨询公司 由咨询公司提供业务分析报告 需求调研 市场需求调研 直接用户的需求调研,需求定义,对获取的需求进行整理 需求识别 需求分配 需求范围划分 识别真实需求 需求文档化 需求确定 提交需求确定表给客户 客
6、户对需求进行确定,依次作为需求分析的依据,需求分析,构建分析模型(对需求的理解) 数据模型(E-R实体关系图)、业务流程模型(数据流图)、过程控制模型(活动状态图) 创建开发原型 (原型生命周期) 分析需求的可行性 确定需求优先级 编写数据字典 (数据库设计) 应用质量功能调配 将系统特性、属性与对客户的重要性联系起来,提供了一种分析方法以明确哪些是客户最为关注的特性,编写需求规格说明书,采用模版 在你的组织中要为编写软件需求规格说明书等文档定义一种标准模板 指明需求来源 了让所有项目风险承担者明白需求规格说明书中为何提供这些功能需求,要能追溯每项需求的来源 为每项需求注上标号 记录业务规范
7、关于系统的操作原则,比如谁能在什么情况下采取什么动作,将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档 创建需求跟踪矩阵 建立一个矩阵把每项需求来源、定义与实现、测试它的设计和代码部分联系起来,这样有利于需求的管理和需求变更影响范围的评估,需求验证,审查需求文档 组织一个由不同代表(如用户,分析人员,设计人员,测试人员)组成的小组,对需求规格说明书及相关模型进行仔细的检查和评审 依据需求编写测试用例 根据用户需求所要求的产品特性写出系统的功能测试用例作为系统测试依据 编写用户手册 描述每项功能是如何对应实际的业务过程 确定合格的标准 描述什么样的产品才算满足用户的要求和适合他
8、们使用的,需求变更控制,确定变更控制过程 确定一个选择、分析和决策需求变更的过程,所有的需求变更都需遵循此流程 建立软件变更控制委员会(SCCB,Software Change Control Board) 组织一个由项目风险承担者组成的小组作为变更控制委员会,由他们来评估和确定需求变更 进行变更影响分析 跟踪变更影响的产品 当进行某项需求变更时,参照需求跟踪矩阵找到相关的其它需求、设计文档、源代码和测试用例 建立基准和控制版本 维护变更的历史记录 跟踪每项需求的状态 包括确定、已实现、暂缓、新增、变更等 衡量需求稳定性 记录需求的数量和每周或每月的变更(添加、修改、删除)数量,启动分析过程,
9、确定共利益者:直接或间接从正在开发的系统中获益的人。 例如,POS机系统中的共利益者有:收银员,售货员,顾客,公司,经理,支付授权服务,帐务系统和库存系统等 识别视点:从不同的视角看待该系统。 比如,收银员关心准确、快速生成一次销售,且没有支付错误;售货员关注销售提成 协同工作:共利益者之间的协作 用户调研:集中于客户和其他共利益、整体目标、收益等,实例分析:出卷系统,用户: 教师:关注如何出一份合理的试卷,并能根据样式打印与输出。 学生:关注如何通过生成一些模拟试题,并在线学习和检查学习结果。 题库维护人员:关注试题的添加、更新和删除等工作。 视点: 教师关注自动出卷、手工出卷、试卷编辑和试
10、卷输出。 学生关注随时抽卷、联系试卷和评价分析。 题库维护人员关注试题管理。,出卷系统的功能需求,自动出卷:系统根据教师的要求自动生成一份合理的试卷。 手动出卷:教师手动从候选的试题中挑选题目。 随机抽卷:系统随机抽取试题生产一份试卷。 在线练习:学生可以在线做练习和查看答案。 在线评价:系统在线评价学生练习的情况。 试题管理:管理人员维护题库中的试题。 试卷编辑:更新试题。 试卷输出:根据某个样式输出试卷。,实例分析:图书馆系统,图书馆系统的共利益者与视点有: 图书流通管理:负责图书借还工作。 用户:希望快速得到借书,还书服务,能够续借、预约图书,以及查询个人和图书信息。 编目管理员:负责图书的管理、用户管理和处理罚金等。,图书馆系统的主要功能需求,图书借出:管理员完成一次借书过程。 图书归还:管理员完成一次还书过程。 图书预约:用户查询要借的图书,若不能借,可预约该图书。 图书续借:用户可以将图书的归还日期延长一段时间。 图书管理:添加新书。更新图书馆信息,销毁图书。 用户管理:注册新用户,更新用户信息,注销用户。 处理罚金:用户缴纳罚金吼,系统将罚金数额清零。,小结,软件需求的种类 功能需求 非功能性需求 领域需求 需求分析过程 需求获取 需求定义 需求分析 需求验证 需求变更控制,