版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章软件需求分析和架构设计11/17/20221软件过程与项目管理讲义第三章软件需求分析和架构设计11/12/20221软件主要内容3.1软件需求分析概述3.2软件需求分析方法3.3软件架构设计的概念3.4软件架构设计任务11/17/20222第三章软件需求分析和架构设计主要内容3.1软件需求分析概述11/12/20222第三1.1软件需求分析概述软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域——需求工程。90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。11/17/20223第三章软件需求分析和架构设计1.1软件需求分析概述软件需求作为软件生命1.1软件需求分析概述1.软件需求工程—重要性
软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。11/17/20224第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—重要性1.1软件需求分析概述1.软件需求工程—困难软件需求是软件工程中最复杂的过程之一:应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。非功能性需求建模技术的缺乏,及其与功能性需求有着错综复杂的联系,大大增加了需求工程的复杂性。沟通上的困难,由于系统分析员、需求分析员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。11/17/20225第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—困难软件需求是软1.1软件需求分析概述1.软件需求工程—软件需求内容软件需求用户需求系统需求功能需求非功能需求领域需求由客户管理员、用户等提出11/17/20226第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—软件需求内容软1.1软件需求分析概述1.软件需求工程—功能和领域需求功能需求它是对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要申明系统不应该做什么。领域需求是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束。11/17/20227第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—功能和领域需求功1.1软件需求分析概述1.软件需求工程—非功能需求非功能需求产品需求机构需求外部需求互操作需求道德需求立法需求性能需求空间需求交付需求实现需求标准需求隐私需求安全性需求可用性需求效率需求可靠性需求可移植性需求11/17/20228第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—非功能需求非功能1.1软件需求分析概述1.软件需求工程—传统需求分析
在传统软件工程生命周期中,涉及需求的阶段称作需求分析。一般来说,需求分析的作用是:
●定义软件的范围及必须满足的约束;
●确定软件的功能和性能及与其他系统成分的接口;
●建立数据模型、功能模型和行为模型;
●最终提供需求规格说明,并用于作为评估软件质量的依据。
11/17/20229第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—传统需求分析1.1软件需求分析概述1.软件需求工程—需求工程的活动
需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需求和软件能力之间的桥梁。需求工程系统目标系统服务软件约束运行环境11/17/202210第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动1.1软件需求分析概述1.软件需求工程—需求工程的活动●
获取需求;深入实际,在充分理解用户需求的基础上,获取系统需求。●需求分析与建模;进行需求建模、对模型或原型进行分析。●
确认需求;确保需求说明准确、完整地表达系统的主要特性。●进化需求。客户的需要总是不断(连续)增长的,进化需求是必要的。11/17/202211第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动●1.1软件需求分析概述1.软件需求工程—需求工程的活动1)需求获取(requirementelicitation)是需求工程的主体。●缺乏领域知识,应用领域的问题常常是模糊的、不精确的;●存在默认的知识,如难以描述的常识问题;●存在多个知识源,且多知识源之间可能有冲突;●客户可能的偏见,如不能提供或不想告知你所需要了解的事情。11/17/202212第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动11.1软件需求分析概述1.软件需求工程—需求获取方法需求抽取的方法一般有:面谈法重要而直接,简单的需求获取技术。问卷调查法是对面谈法的补充。
需求专题讨论会最有力的需求获取技术。有利于培养高效团队。观察用户的工作流程适用于用户无法准确表达需求的情况。原型化方法基于用例的方法还有知识工程方法等如:场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。11/17/202213第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求获取方法1.1软件需求分析概述1.软件需求工程—需求分析与建模需求分析和建模又包含三个层次的工作。1)需求分析2)需求建模(分为企业建模、功能需求建模和非功能需求建模等)3)需求规格说明—不同的描述方式。主要对收集到的需求进行提炼、分析和认真审查,确保所有参加人员取得一致共识。找出错误、遗漏和不足,建立完整的分析模型。11/17/202214第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求分析与建模1.1软件需求分析概述1.软件需求工程—需求分析常用技术为了降低软件的复杂度,便于对问题的分析和理解,常采用以下技术:1)分解将大问题分解为小问题,通常是自顶而下,不断细化的过程。2)抽象抓住问题的本质特性,从不同抽象层次进行分析,提出解决问题的方案。3)多视点注意从各类开发人员和不同用户的角度考虑问题,才能获得对系统的全面完整的需求。11/17/202215第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求分析常用技术1.1软件需求分析概述1.软件需求工程—需求的有效性验证
(一)需求验证的重要性
1)由于需求是软件开发的第一阶段,直接影响后面各阶段的开发。
2)需求的可变性必须进行验证。软件需求软件设计软件编码软件测试运行维护做什么怎么做11/17/202216第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求的有效性验证1.1软件需求分析概述1.软件需求工程—需求的有效性验证
(二)需求验证的内容
1)有效性检查—指功能需求是否符合用户所提出的需求。
2)一致性检查—系统功能描述及约束是否一致。
3)完备性检查—是否包含所有系统用户的需求和约束。
4)可检验性检查—是否能设计出一组验证方法,确定了检验的标准。11/17/202217第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求的有效性验证1.1软件需求分析概述1.软件需求工程—需求管理需求管理贯穿需求分析全过程,包括:需求管理变更控制建议变更分析影响交流合并测量需求的稳定性版本控制定义需求文档版本确定单个需求文档版本需求跟踪定义与其他需求的链接定义与其他系统元素的链接需求状态跟踪定义需求状态跟踪所有需求状态11/17/202218第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求管理1.1软件需求分析概述1.软件需求工程—需求变更管理需求管理的所有活动中,最重要的是——
“需求变更管理”,包括:问题分析和变更描述变更分析和成本计算变更实现修正后的需求识别出的问题需求管理过程需要CASE(ComputerAidedSoftwareEngineering)工具支持。11/17/202219第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求变更管理1.1软件需求分析概述1.软件需求工程—需求变更管理方法1)传统的变化管理基本内容包括软件配置、软件基线和变化审查。2)新的管理方法
a)软件家族法。即软件产品线方法,该方法是源于工业界产品线的概念,关注于一个软件企业如何组织一组具有共性特征的,相似产品的生产,并应用软件复用的相关原理与技术。b)多视点方法。它可以用于管理不一致性并进行关于变化的推理。是从多个视点出发在软件工具的协助下对需求描述,进行自动需求建模,从而提高需求模型的完整性。11/17/202220第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求变更管理方法1.1软件需求分析概述1.软件需求工程—需求工程过程可行性研究需求导出和分析需求描述需求有效性验证可行性报告系统模型用户需求和系统需求需求文挡11/17/202221第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程过程可行3.2软件需求分析方法功能分解方法
将系统看作若干功能模块的集合,每个功能又可以分解为子功能,子功能还可继续分解,分解的结果即是系统的雏形。存在问题1.需要人工完成2.无法对描述的准确度进行验证。3.难以适应需求的变化。问题空间功能子功能映射11/17/202222第三章软件需求分析和架构设计3.2软件需求分析方法功能分解方法存在问题问题空间功3.2软件需求分析方法结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。顾客出版社验证订单汇总订单订单出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件11/17/202223第三章软件需求分析和架构设计3.2软件需求分析方法结构化分析方法顾客出版社验证汇总3.2软件需求分析方法面向对象的分析方法
面向对象分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。信息建模法
是从数据的角度对现实世界建立系统的信息模型,基本工具是ER图。是由实体、属性和关系组成的网络图。E-实体,是一个或一组对象;R-关系,实体之间联系或交互作用。注意:信息建模与面向对象分析的区别!11/17/202224第三章软件需求分析和架构设计3.2软件需求分析方法面向对象的分析方法信息建模法注意3.2软件需求分析方法1.结构化分析方法分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。SA法的基本思想——“分解”和“抽象”。抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。1.11.21.3x2132.12.22.31.11.311/17/202225第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法分解:对于一个复3.2软件需求分析方法1.结构化分析方法SA法的描述方法1、分层的数据流图(DFD图)2、数据词典3、描述加工逻辑的结构化语言、判定表及判定树SA法的步骤当前系统具体模型建立当前系统逻辑模型抽象目标系统逻辑模型建立完善的系统逻辑模型改进深入调查研究分析用户需求,用DFD图描述分析系统需求,用DFD图描述修改完善DFD图,增添功能11/17/202226第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法SA法的描述方3.2软件需求分析方法1.结构化分析方法—图书预订系统顾客出版社验证订单汇总订单订单出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件画图步骤:1、确定外部实体及输入、输出数据流。2、确定分解顶层的加工。3、确定使用的文件。4、用数据流将各部分连接起来,形成数据封闭。11/17/202227第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—图书预订系统顾3.2软件需求分析方法1.结构化分析方法—数据流图数据流图(DataFlowDiagram,DFD)是描述系统中数据流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出所需的加工处理过程。数据存储数据源点或终点加工加工名数据流数据流名文件名实体名箭头圆或椭圆单或双杠矩形框一、数据流图的图符基本图形符号:11/17/202228第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据流图数据流3.2软件需求分析方法1.结构化分析方法—数据流图还有一些辅助的图例:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与+或互斥+11/17/202229第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据流图还有一3.2软件需求分析方法1.结构化分析方法—画DFD的基本原则加工分解的原则
自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,分解应分解到基本加工为止。数据守恒与数据封闭原则数据守恒是指加工的输入/出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。数据封闭是对整个系统而言。11/17/202230第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—画DFD的基本3.2软件需求分析方法1.结构化分析方法—画DFD的基本原则合理使用文件
当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。注意DFD图不是流程图,不表示软件的控制流程。子图与父图的“平衡”
父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。11/17/202231第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—画DFD的基本3.2软件需求分析方法1.结构化分析方法—分层DFD的改进DFD图须经过反复修改,才能获得最终的目标系统的DFD图。从以下方面改进DFD图:
1)检查数据流的正确性
①数据守恒②子图、父图的平衡③文件使用是否合理。特别注意输入/出文件的数据流。2)改进DFD图的易理解性①简化加工之间的联系(联系越少,独立性越强,易理解性越好)。②改进分解的均匀性。③适当命名(各成分名称无二义性,准确、具体)11/17/202232第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—分层DFD的改3.2软件需求分析方法1.结构化分析方法—数据字典
分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”和“小说明”对图中的每个数据和加工给出解释。对数据流图中包含的所有元素的定义的集合构成了数据词典。词典中可有以下四种类型的条目:
数据流文件数据项加工11/17/202233第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据字典3.2软件需求分析方法1.结构化分析方法—数据字典
A、
数据流条目
给出某个数据流的定义,通常是列出该数据流的各组成数据项。
例如:报名单=姓名+单位名+年龄+性别+课程名常用符号:=、+、[|]、{}、()、C、数据项条目
数据项条目给出某个数据单项的定义,通常是数据项的值类型,允许的取值范围。B、文件条目
给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如:
订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期D、加工条目加工类条目就是“加工小说明”。一般应该单独列出。11/17/202234第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据字典3.2软件需求分析方法1.结构化分析方法—DFD加工说明结构化语言判定表判定树对DFD图中每一个基本加工都必须有一个小说明给出该加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,指用户对这个加工的逻辑要求。对基本加工说明有三种描述方式:11/17/202235第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD加工说明3.2软件需求分析方法1.结构化分析方法—DFD结构化语言
结构化语言是介于自然语言和形式语言之间的一种半形式语言,是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。例如:外层可为以下结构:1、顺序结构2、选择结构IF–THEN-ELSE;CASE-OF-ENDCASE;3、循环结构WHILE-DO;REPEAT-UNTIL11/17/202236第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD结构化语3.2软件需求分析方法1.结构化分析方法—DFD判定表判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较)。
条件框条件条目操作框操作条目特点:可处理较复杂的组合条件,但不易理解.不易输入计算机。通常由四部分组成。条件框—条件定义。操作框—操作的定义。条件条目—各条件的取值及组合。操作条目—在各条件取值组合下所执行的操作。营业额X(¥)1000≤X<50005000≤X<10000X≥10000税率5%8%10%11/17/202237第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定表3.2软件需求分析方法1.结构化分析方法—DFD判定表实例例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。1234>1000元Y
YYN信誉好YNN->20年-YN-优惠XX正常XX化简后
12345678
>1000元
Y
YYYNNNN信誉好YYNNYYNN>20年
YNYNYNYN优惠XXX正常XXXXXY-满足条件N-不满足条件X-选中判定的结论11/17/202238第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定表实3.2软件需求分析方法1.结构化分析方法—DFD判定树特点:描述一般组合条件较清晰,易理解。不易输入计算机。营业额>1000元≤1000元正常处理好的支付信誉优惠处理坏的支付信誉>20年优惠处理<20年正常处理如上例11/17/202239第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定树特3.2软件需求分析方法2.面向对象的分析方法1992年由Jacobson提出了Usecase的概念及可视化的表示方法—Usecase图,并加入由他提出的面向对象的软件工程(OOSE)。Usecase的概念受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。基于用例的需求方法,已成为面向对象的分析方法的主流。
用例模型被推荐为获取和识别需求的首选工具!!基于用例的方法11/17/202240第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法3.2软件需求分析方法2.面向对象的分析方法—UserCase图采用“基于用例的方法”来识别和获取需求,是从外部的角度来看系统功能,建立系统的Usecase模型。描述外部执行者(Actor)所理解的系统功能。即待开发系统的功能需求。用例—表示一个子系统,或者系统一个独立的功能。角色—表示外部的“执行者”。描述方法:用例:角色:连接:用例11/17/202241第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—User3.2软件需求分析方法2.面向对象的分析方法—用例模型ATM机验证储户身份的Usecase图创建用例模型的工作包括:
定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。11/17/202242第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—用例模型A3.2软件需求分析方法2.面向对象的分析方法—案例分析案例3网上拍卖系统随着Internet技术的发展和互联网的日益普及,互联网用户中约1/4的用户使用Internet进行互联网通信或经贸活动。电子商务总额每年可达到6万亿美元。网上拍卖系统就是一个在互联网上模拟拍卖环境的典型的范例。可实现从展示产品、相互竞价到最后产品成交等一系列功能;用户可以轻松实现在线商品的拍卖和竞标。建立系统的USECASE模型。11/17/202243第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析案3.2软件需求分析方法2.面向对象的分析方法—案例分析一、竞拍平台1.竞拍者资格审查2.竞拍规则设定3.竞拍过程控制二、拍卖商品信息发布确定发布的商品信息对商品信息操作三、拍卖步骤及在线帮助四、网上支付系统五、用户管理用户需求11/17/202244第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析一3.2软件需求分析方法2.面向对象的分析方法—案例分析系统需求a)
执行者—用户系统是通过网络提供给商品的销售者和购买者一个交易平台,因此所有上网用户都是本系统的用户,具体又分为商品购买者和商品销售者、系统管理员。考虑到一般用户既可能是商品购买者也可能是商品销售者,所以将用户分为:非会员用户和会员用户.
非会员_未注册的用户,只能在网站上浏览商品,不能参与竞标,也不能提供物品出售。
会员_已注册的用户,可以直接参与拍卖或竞标.11/17/202245第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析系3.2软件需求分析方法2.面向对象的分析方法—案例分析系统需求b)用例—分析系统功能⑴提供高效的内容丰富的Web拍卖商业服务;展示产品、相互竞价、产品成交。⑵实现拍卖商品种类的更新和消息的发布。⑶实现个人物品流通和网上信息发布、留言。初步确定以下功能:1)会员注册2)会员天地3)商品分类浏览4)查找商品5)拍卖商品6)购买商品7)网上支付11/17/202246第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析系3.2软件需求分析方法2.面向对象的分析方法—案例分析进一步确定以下功能:
1)会员注册(填写用户帐号,用户名,密码,Email等)
2)会员天地(查看并修改个人信息,交易记录,收邮件,信用评价等)
3)商品分类浏览(浏览、更新、最新商品推荐等)
4)查找商品(按关键字查找、输出打印商品信息)
5)拍卖商品(包括商品上架:提供商品信息:商品名称、类别、图片、,起拍价格、新旧程度、使用时间等,及编辑商品,商品下架)
6)购买商品(即出价参与竞标,拍卖结束时按照竟价规则获得商品)11/17/202247第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析进3.2软件需求分析方法2.面向对象的分析方法—案例分析
7)网上支付(通过银行网络系统进行交易,设置多种支付方式)
——增加执行者“银行”
8)收藏商品(可添加收藏,取消收藏,修改收藏)
9)会员管理(查看会员信息,封锁会员账号,激活会员账号)10)商品类别管理(添加商品类别,编辑商品类别,删除商品类别)11)交易管理(查看交易,查看交易报表,关闭交易,退款管理,申诉管理)12)公告栏管理(添加公告,修改公告,删除公告)11/17/202248第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析3.2软件需求分析方法2.面向对象的分析方法—案例分析买商品卖商品11/17/202249第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析买3.2软件需求分析方法2.面向对象的分析方法—案例分析1)精度要求本系统所涉及的所有交易数据,均按实数保存,在处理时保留小数点后2位。2)时间特性要求操作响应时间:满足普通人员的操作要求;查询运行时间:满足普通人员的查询要求;更新处理时间:数据库在网络无故障的情况下,插入一条数据和更新一条数据的数据库操作响应时间控制在2秒/条之内;数据传输时间:数据交换过程控制在10秒钟内;非功能需求11/17/202250第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析13.2软件需求分析方法2.面向对象的分析方法—案例分析
3)故障处理能力要求当出现错误时,要求以界面形式向用户说明,并用一览表方式列出,各类可能的错误或故障出现时,系统的处理方法和补救措施。4)灵活性需求
要求当用户需求,如操作方式,运行环境,结果精度,数据结构及其他软件接口等发生变化时,增加新模块时,不会修改原有的模块。
5)安全性采用用户名及密码,对用户授权使用。支付过程中的安全性由银行网上支付系统进行保证。11/17/202251第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析3.2软件需求分析方法2.面向对象的分析方法—案例分析改进的UseCase模型11/17/202252第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析3.3软件架构设计的概念1.基本概念—模块化模块化的基本要素包括:接口,指模块的输入输出;功能,是模块存在的必要条件;状态,指可执行模块运行所需要的一个数据结构;逻辑,模块的运行环境。模块化的优点:通过对软件系统的有效分解,可以简化问题,降低工作量,从而降低成本,提高开发效率;使软件结构清晰,易于阅读和理解;易于软件的修改,维护和调试;可获得较高的软件可靠性;便于工程化协作。11/17/202253第三章软件需求分析和架构设计3.3软件架构设计的概念1.基本概念—模块化模块化的基本3.3软件架构设计的概念1.基本概念—模块化信息隐蔽
定义:是指在设计和确定模块时,是的一个模块内包含的自身实现细节和数据隐藏起来,对于其他不需要这些信息的模块来说是不能访问的;而且每个模块只完成一个相对独立的特点功能;模块之间仅仅交换那些为完成系统功能必须交换的信息。模块独立性判定准则模块的耦合模块的内聚11/17/202254第三章软件需求分析和架构设计3.3软件架构设计的概念1.基本概念—模块化信息隐蔽模块3.3软件架构设计的概念1.基本概念—抽象和逐步求精系统定义阶段,软件系统被描述为计算机大系统的一个组成部分;需求分析阶段,软件使用用例建模表达问题域;软件设计阶段,细化用例模型,将抽象组件细化为实际组建,抽象级别进一步降低;编码完成后达到抽象的最低级。11/17/202255第三章软件需求分析和架构设计3.3软件架构设计的概念1.基本概念—抽象和逐步求精系统3.3软件架构设计的概念2.软件架构的要素它是一个软件系统从整体到部分的最高层次的划分,一个系统通常由组件组成,而这些组建如何形成,相互之间如何发生作用,则是关于这个系统本身结构的重要信息;建造一个系统所作出的最高层次、以后难以更改的、业务的和技术的决定。11/17/202256第三章软件需求分析和架构设计3.3软件架构设计的概念2.软件架构的要素它是一个软件系3.3软件架构设计的概念2.软件架构的目标可靠性安全性可伸缩性可定制化可扩展性可维护性客户体验市场时机3.软件架构的种类功能架构用户界面数据库外部系统接口商业逻辑组件非功能架构可扩展性可靠性强壮性灵活性互用性安全性11/17/202257第三章软件需求分析和架构设计3.3软件架构设计的概念2.软件架构的目标可靠性3.软3.4软件架构设计的任务软件架构设计是适用于整个系统范围的设计,通常会用一份独立的文档来描述,成为“架构规格说明书”。软件架构设计的具体任务包括:定义程序组织结构设计主要类数据设计确定业务规则用户界面设计输入/输出设计性能设计安全性设计可伸缩性设计容错性设计11/17/202258第三章软件需求分析和架构设计3.4软件架构设计的任务软件架构设计是适用于整个系统范围的本章小结1.本章的概念需求分析的作用需求抽取的方法结构化软件需求分析方法面向对象的软件需求分析方法软件模块化的基本要素和优点2.本章的重点软件功能需求,需求工程,数据流图,模块化11/17/202259第三章软件需求分析和架构设计本章小结1.本章的概念需求分析的作用2.本章的重点软第三章软件需求分析和架构设计11/17/202260软件过程与项目管理讲义第三章软件需求分析和架构设计11/12/20221软件主要内容3.1软件需求分析概述3.2软件需求分析方法3.3软件架构设计的概念3.4软件架构设计任务11/17/202261第三章软件需求分析和架构设计主要内容3.1软件需求分析概述11/12/20222第三1.1软件需求分析概述软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域——需求工程。90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。11/17/202262第三章软件需求分析和架构设计1.1软件需求分析概述软件需求作为软件生命1.1软件需求分析概述1.软件需求工程—重要性
软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。11/17/202263第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—重要性1.1软件需求分析概述1.软件需求工程—困难软件需求是软件工程中最复杂的过程之一:应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。非功能性需求建模技术的缺乏,及其与功能性需求有着错综复杂的联系,大大增加了需求工程的复杂性。沟通上的困难,由于系统分析员、需求分析员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。11/17/202264第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—困难软件需求是软1.1软件需求分析概述1.软件需求工程—软件需求内容软件需求用户需求系统需求功能需求非功能需求领域需求由客户管理员、用户等提出11/17/202265第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—软件需求内容软1.1软件需求分析概述1.软件需求工程—功能和领域需求功能需求它是对系统应该提供的服务、功能以及系统在特定条件下的行为的描述。它与软件系统的类型、使用系统的用户等相关,有时需要详细描述系统的功能、输入/输出、异常等,有时还需要申明系统不应该做什么。领域需求是由软件系统的应用领域所决定的特有的功能需求,或是对功能的约束。11/17/202266第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—功能和领域需求功1.1软件需求分析概述1.软件需求工程—非功能需求非功能需求产品需求机构需求外部需求互操作需求道德需求立法需求性能需求空间需求交付需求实现需求标准需求隐私需求安全性需求可用性需求效率需求可靠性需求可移植性需求11/17/202267第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—非功能需求非功能1.1软件需求分析概述1.软件需求工程—传统需求分析
在传统软件工程生命周期中,涉及需求的阶段称作需求分析。一般来说,需求分析的作用是:
●定义软件的范围及必须满足的约束;
●确定软件的功能和性能及与其他系统成分的接口;
●建立数据模型、功能模型和行为模型;
●最终提供需求规格说明,并用于作为评估软件质量的依据。
11/17/202268第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—传统需求分析1.1软件需求分析概述1.软件需求工程—需求工程的活动
需求工程是系统工程和软件工程的一个交叉分支,涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。它还涉及这些因素和系统的精确规格说明以及系统进化之间的关系。它也提供现实需求和软件能力之间的桥梁。需求工程系统目标系统服务软件约束运行环境11/17/202269第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动1.1软件需求分析概述1.软件需求工程—需求工程的活动●
获取需求;深入实际,在充分理解用户需求的基础上,获取系统需求。●需求分析与建模;进行需求建模、对模型或原型进行分析。●
确认需求;确保需求说明准确、完整地表达系统的主要特性。●进化需求。客户的需要总是不断(连续)增长的,进化需求是必要的。11/17/202270第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动●1.1软件需求分析概述1.软件需求工程—需求工程的活动1)需求获取(requirementelicitation)是需求工程的主体。●缺乏领域知识,应用领域的问题常常是模糊的、不精确的;●存在默认的知识,如难以描述的常识问题;●存在多个知识源,且多知识源之间可能有冲突;●客户可能的偏见,如不能提供或不想告知你所需要了解的事情。11/17/202271第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程的活动11.1软件需求分析概述1.软件需求工程—需求获取方法需求抽取的方法一般有:面谈法重要而直接,简单的需求获取技术。问卷调查法是对面谈法的补充。
需求专题讨论会最有力的需求获取技术。有利于培养高效团队。观察用户的工作流程适用于用户无法准确表达需求的情况。原型化方法基于用例的方法还有知识工程方法等如:场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。11/17/202272第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求获取方法1.1软件需求分析概述1.软件需求工程—需求分析与建模需求分析和建模又包含三个层次的工作。1)需求分析2)需求建模(分为企业建模、功能需求建模和非功能需求建模等)3)需求规格说明—不同的描述方式。主要对收集到的需求进行提炼、分析和认真审查,确保所有参加人员取得一致共识。找出错误、遗漏和不足,建立完整的分析模型。11/17/202273第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求分析与建模1.1软件需求分析概述1.软件需求工程—需求分析常用技术为了降低软件的复杂度,便于对问题的分析和理解,常采用以下技术:1)分解将大问题分解为小问题,通常是自顶而下,不断细化的过程。2)抽象抓住问题的本质特性,从不同抽象层次进行分析,提出解决问题的方案。3)多视点注意从各类开发人员和不同用户的角度考虑问题,才能获得对系统的全面完整的需求。11/17/202274第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求分析常用技术1.1软件需求分析概述1.软件需求工程—需求的有效性验证
(一)需求验证的重要性
1)由于需求是软件开发的第一阶段,直接影响后面各阶段的开发。
2)需求的可变性必须进行验证。软件需求软件设计软件编码软件测试运行维护做什么怎么做11/17/202275第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求的有效性验证1.1软件需求分析概述1.软件需求工程—需求的有效性验证
(二)需求验证的内容
1)有效性检查—指功能需求是否符合用户所提出的需求。
2)一致性检查—系统功能描述及约束是否一致。
3)完备性检查—是否包含所有系统用户的需求和约束。
4)可检验性检查—是否能设计出一组验证方法,确定了检验的标准。11/17/202276第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求的有效性验证1.1软件需求分析概述1.软件需求工程—需求管理需求管理贯穿需求分析全过程,包括:需求管理变更控制建议变更分析影响交流合并测量需求的稳定性版本控制定义需求文档版本确定单个需求文档版本需求跟踪定义与其他需求的链接定义与其他系统元素的链接需求状态跟踪定义需求状态跟踪所有需求状态11/17/202277第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求管理1.1软件需求分析概述1.软件需求工程—需求变更管理需求管理的所有活动中,最重要的是——
“需求变更管理”,包括:问题分析和变更描述变更分析和成本计算变更实现修正后的需求识别出的问题需求管理过程需要CASE(ComputerAidedSoftwareEngineering)工具支持。11/17/202278第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求变更管理1.1软件需求分析概述1.软件需求工程—需求变更管理方法1)传统的变化管理基本内容包括软件配置、软件基线和变化审查。2)新的管理方法
a)软件家族法。即软件产品线方法,该方法是源于工业界产品线的概念,关注于一个软件企业如何组织一组具有共性特征的,相似产品的生产,并应用软件复用的相关原理与技术。b)多视点方法。它可以用于管理不一致性并进行关于变化的推理。是从多个视点出发在软件工具的协助下对需求描述,进行自动需求建模,从而提高需求模型的完整性。11/17/202279第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求变更管理方法1.1软件需求分析概述1.软件需求工程—需求工程过程可行性研究需求导出和分析需求描述需求有效性验证可行性报告系统模型用户需求和系统需求需求文挡11/17/202280第三章软件需求分析和架构设计1.1软件需求分析概述1.软件需求工程—需求工程过程可行3.2软件需求分析方法功能分解方法
将系统看作若干功能模块的集合,每个功能又可以分解为子功能,子功能还可继续分解,分解的结果即是系统的雏形。存在问题1.需要人工完成2.无法对描述的准确度进行验证。3.难以适应需求的变化。问题空间功能子功能映射11/17/202281第三章软件需求分析和架构设计3.2软件需求分析方法功能分解方法存在问题问题空间功3.2软件需求分析方法结构化分析方法是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。顾客出版社验证订单汇总订单订单出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件11/17/202282第三章软件需求分析和架构设计3.2软件需求分析方法结构化分析方法顾客出版社验证汇总3.2软件需求分析方法面向对象的分析方法
面向对象分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起三类模型。信息建模法
是从数据的角度对现实世界建立系统的信息模型,基本工具是ER图。是由实体、属性和关系组成的网络图。E-实体,是一个或一组对象;R-关系,实体之间联系或交互作用。注意:信息建模与面向对象分析的区别!11/17/202283第三章软件需求分析和架构设计3.2软件需求分析方法面向对象的分析方法信息建模法注意3.2软件需求分析方法1.结构化分析方法分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决(如右图)。SA法的基本思想——“分解”和“抽象”。抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就是“抽象”。1.11.21.3x2132.12.22.31.11.311/17/202284第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法分解:对于一个复3.2软件需求分析方法1.结构化分析方法SA法的描述方法1、分层的数据流图(DFD图)2、数据词典3、描述加工逻辑的结构化语言、判定表及判定树SA法的步骤当前系统具体模型建立当前系统逻辑模型抽象目标系统逻辑模型建立完善的系统逻辑模型改进深入调查研究分析用户需求,用DFD图描述分析系统需求,用DFD图描述修改完善DFD图,增添功能11/17/202285第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法SA法的描述方3.2软件需求分析方法1.结构化分析方法—图书预订系统顾客出版社验证订单汇总订单订单出版社订单图书目录文件顾客档案待处理订单文件正确订单一批订单出版社档案文件订货存根文件画图步骤:1、确定外部实体及输入、输出数据流。2、确定分解顶层的加工。3、确定使用的文件。4、用数据流将各部分连接起来,形成数据封闭。11/17/202286第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—图书预订系统顾3.2软件需求分析方法1.结构化分析方法—数据流图数据流图(DataFlowDiagram,DFD)是描述系统中数据流程的图形工具,它描述了将系统的逻辑输入转换为逻辑输出所需的加工处理过程。数据存储数据源点或终点加工加工名数据流数据流名文件名实体名箭头圆或椭圆单或双杠矩形框一、数据流图的图符基本图形符号:11/17/202287第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据流图数据流3.2软件需求分析方法1.结构化分析方法—数据流图还有一些辅助的图例:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*与+或互斥+11/17/202288第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据流图还有一3.2软件需求分析方法1.结构化分析方法—画DFD的基本原则加工分解的原则
自然性:概念上合理、清晰;均匀性:理想的分解是将一个问题分解成大小均匀的几个部分;分解度:一般每一个加工每次分解最多不要超过7个子加工,分解应分解到基本加工为止。数据守恒与数据封闭原则数据守恒是指加工的输入/出数据流是否匹配,即每一个加工既有输入数据流又有输出数据流。数据封闭是对整个系统而言。11/17/202289第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—画DFD的基本3.2软件需求分析方法1.结构化分析方法—画DFD的基本原则合理使用文件
当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。注意DFD图不是流程图,不表示软件的控制流程。子图与父图的“平衡”
父图中某个加工的输入输出数据流应该同相应的子图的输入输出相同(相对应),分层数据流图的这种特点称为子图与父图“平衡”。11/17/202290第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—画DFD的基本3.2软件需求分析方法1.结构化分析方法—分层DFD的改进DFD图须经过反复修改,才能获得最终的目标系统的DFD图。从以下方面改进DFD图:
1)检查数据流的正确性
①数据守恒②子图、父图的平衡③文件使用是否合理。特别注意输入/出文件的数据流。2)改进DFD图的易理解性①简化加工之间的联系(联系越少,独立性越强,易理解性越好)。②改进分解的均匀性。③适当命名(各成分名称无二义性,准确、具体)11/17/202291第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—分层DFD的改3.2软件需求分析方法1.结构化分析方法—数据字典
分层数据流图只是表达了系统的“分解”,为了完整地描述这个系统,还需借助“数据词典”和“小说明”对图中的每个数据和加工给出解释。对数据流图中包含的所有元素的定义的集合构成了数据词典。词典中可有以下四种类型的条目:
数据流文件数据项加工11/17/202292第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据字典3.2软件需求分析方法1.结构化分析方法—数据字典
A、
数据流条目
给出某个数据流的定义,通常是列出该数据流的各组成数据项。
例如:报名单=姓名+单位名+年龄+性别+课程名常用符号:=、+、[|]、{}、()、C、数据项条目
数据项条目给出某个数据单项的定义,通常是数据项的值类型,允许的取值范围。B、文件条目
给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如:
订单文件=订单编号+顾客名称+产品名称+订货数量+交货日期D、加工条目加工类条目就是“加工小说明”。一般应该单独列出。11/17/202293第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—数据字典3.2软件需求分析方法1.结构化分析方法—DFD加工说明结构化语言判定表判定树对DFD图中每一个基本加工都必须有一个小说明给出该加工的精确描述。小说明中应精确地描述加工的激发条件、加工逻辑、优先级、执行频率和出错处理等。加工逻辑是其中最基本的部分,指用户对这个加工的逻辑要求。对基本加工说明有三种描述方式:11/17/202294第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD加工说明3.2软件需求分析方法1.结构化分析方法—DFD结构化语言
结构化语言是介于自然语言和形式语言之间的一种半形式语言,是自然语言的一个受限制的子集。一般分为两层结构:外层语法较具体,为控制结构(顺序、选择、循环),内层较灵活,表达“做什么”。例如:外层可为以下结构:1、顺序结构2、选择结构IF–THEN-ELSE;CASE-OF-ENDCASE;3、循环结构WHILE-DO;REPEAT-UNTIL11/17/202295第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD结构化语3.2软件需求分析方法1.结构化分析方法—DFD判定表判定表是一种二维的表格,常用于较复杂的组合条件(与结构化语言比较)。
条件框条件条目操作框操作条目特点:可处理较复杂的组合条件,但不易理解.不易输入计算机。通常由四部分组成。条件框—条件定义。操作框—操作的定义。条件条目—各条件的取值及组合。操作条目—在各条件取值组合下所执行的操作。营业额X(¥)1000≤X<50005000≤X<10000X≥10000税率5%8%10%11/17/202296第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定表3.2软件需求分析方法1.结构化分析方法—DFD判定表实例例:一图书销售系统,其中一加工为“优惠处理”,条件是:顾客的营业额大于1000元,同时必须信誉好,或者虽然信誉不好,但是20年以上的老主顾。1234>1000元Y
YYN信誉好YNN->20年-YN-优惠XX正常XX化简后
12345678
>1000元
Y
YYYNNNN信誉好YYNNYYNN>20年
YNYNYNYN优惠XXX正常XXXXXY-满足条件N-不满足条件X-选中判定的结论11/17/202297第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定表实3.2软件需求分析方法1.结构化分析方法—DFD判定树特点:描述一般组合条件较清晰,易理解。不易输入计算机。营业额>1000元≤1000元正常处理好的支付信誉优惠处理坏的支付信誉>20年优惠处理<20年正常处理如上例11/17/202298第三章软件需求分析和架构设计3.2软件需求分析方法1.结构化分析方法—DFD判定树特3.2软件需求分析方法2.面向对象的分析方法1992年由Jacobson提出了Usecase的概念及可视化的表示方法—Usecase图,并加入由他提出的面向对象的软件工程(OOSE)。Usecase的概念受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。基于用例的需求方法,已成为面向对象的分析方法的主流。
用例模型被推荐为获取和识别需求的首选工具!!基于用例的方法11/17/202299第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法3.2软件需求分析方法2.面向对象的分析方法—UserCase图采用“基于用例的方法”来识别和获取需求,是从外部的角度来看系统功能,建立系统的Usecase模型。描述外部执行者(Actor)所理解的系统功能。即待开发系统的功能需求。用例—表示一个子系统,或者系统一个独立的功能。角色—表示外部的“执行者”。描述方法:用例:角色:连接:用例11/17/2022100第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—User3.2软件需求分析方法2.面向对象的分析方法—用例模型ATM机验证储户身份的Usecase图创建用例模型的工作包括:
定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。11/17/2022101第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—用例模型A3.2软件需求分析方法2.面向对象的分析方法—案例分析案例3网上拍卖系统随着Internet技术的发展和互联网的日益普及,互联网用户中约1/4的用户使用Internet进行互联网通信或经贸活动。电子商务总额每年可达到6万亿美元。网上拍卖系统就是一个在互联网上模拟拍卖环境的典型的范例。可实现从展示产品、相互竞价到最后产品成交等一系列功能;用户可以轻松实现在线商品的拍卖和竞标。建立系统的USECASE模型。11/17/2022102第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析案3.2软件需求分析方法2.面向对象的分析方法—案例分析一、竞拍平台1.竞拍者资格审查2.竞拍规则设定3.竞拍过程控制二、拍卖商品信息发布确定发布的商品信息对商品信息操作三、拍卖步骤及在线帮助四、网上支付系统五、用户管理用户需求11/17/2022103第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析一3.2软件需求分析方法2.面向对象的分析方法—案例分析系统需求a)
执行者—用户系统是通过网络提供给商品的销售者和购买者一个交易平台,因此所有上网用户都是本系统的用户,具体又分为商品购买者和商品销售者、系统管理员。考虑到一般用户既可能是商品购买者也可能是商品销售者,所以将用户分为:非会员用户和会员用户.
非会员_未注册的用户,只能在网站上浏览商品,不能参与竞标,也不能提供物品出售。
会员_已注册的用户,可以直接参与拍卖或竞标.11/17/2022104第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析系3.2软件需求分析方法2.面向对象的分析方法—案例分析系统需求b)用例—分析系统功能⑴提供高效的内容丰富的Web拍卖商业服务;展示产品、相互竞价、产品成交。⑵实现拍卖商品种类的更新和消息的发布。⑶实现个人物品流通和网上信息发布、留言。初步确定以下功能:1)会员注册2)会员天地3)商品分类浏览4)查找商品5)拍卖商品6)购买商品7)网上支付11/17/2022105第三章软件需求分析和架构设计3.2软件需求分析方法2.面向对象的分析方法—案例分析系3.2软件需求分析方法2.面向对象的分析方法—案例分析进一步确定以下功能:
1)会员注册(填写用户帐号,用户名,密码,Email等)
2)会员天地(查看并修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖北长江产业资产经营管理有限公司所属企业招聘12人备考题库附参考答案详解(精练)
- 2026春季安徽合肥热电集团招聘25人备考题库附参考答案详解(夺分金卷)
- 2026陕西西安交通大学医院招聘1人备考题库带答案详解(轻巧夺冠)
- 2026浙江台州市中医院招聘心电图诊断医生(编外)1人备考题库带答案详解(完整版)
- 【高中语文】《雷雨》教案++统编版高一语文必修下册
- 某陶瓷厂质量检测细则
- 纺纱生产流程优化细则
- 会员订阅服务合同
- 2026建设社区卫生服务中心(嘉峪关市老年病医院)招聘7人备考题库(甘肃)附答案详解(模拟题)
- 2026四川成都青白江区中医医院集团编外人员招聘31人备考题库有答案详解
- 第 46 届世界技能大赛贵州省选拔赛-平面设计技术(试题-样题)
- 邮政网点负责人风控合规述职报告
- 中考语文真题专题复习 综合性学习(第02期)(解析版)
- 《对话式作文写法》课件
- DB11-T 2006-2022 既有建筑加固改造工程勘察技术标准
- ct增强检查留置针护理
- 公司反恐安全手册模板
- 管道应力分析报告
- 大学生就业指导-求职材料准备与面试技巧课件
- 2024年山东省三支一扶考试真题
- 纺织行业的纺织品生产技术培训资料
评论
0/150
提交评论