




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程2项目项目名:图书管理系统项目委托单位:软件学院项目期限:15年12月底前交付用户基本要求概述:开发一个系统,用于学院的图书馆,该系统可以用来代替目前图书馆人工管理的日常工作,提高办公自动化水平,减少人力成本,提高办公效率。一期目标:实现图书借阅和归还管理。进一步的要求需要再访谈。3虚拟公司组织结构图
需求分析——领域分析主要内容什么是需求分析需求分析步骤建立领域模型用户访谈领域类图业务用例图业务活动图需求分析的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。----准确地回答“系统必须做什么?”。4.1什么是需求分析4.2需求分析的步骤需求获取分析建模文档编写需求验证客户/用户系统分析师项目经理领域专家人员既不明白也说不清心里很清楚,但却说不清对业务非常熟悉,表述也很清晰沟通中遇到的问题唯一不变的就是变化需求的易变性4.2需求分析的步骤需求获取分析建模文档编写需求验证4.2需求分析的步骤需求获取分析建模文档编写需求验证需求获取的方法常规的需求获取的方法访谈情景分析联合分析小组快速原型法在需求分析中的应用快速建立软件原型下面以图书管理系统为例,如何进行需求分析,并建立分析模型图书管理系统——第1次课经理给出项目计划,各项目组按工作计划进入项目周期召开用户访谈会议获取用户需求,进行领域分析中的数据建模工作任务提交内容访谈提纲与访谈记录领域类图标识号名称工期开始时间完成时间1领域分析4.d2019-10-198:002019-10-2217:002业务需求与数据模型分析1.d2019-10-198:002019-10-1917:003业务需求细化3.d2019-10-208:002019-10-2217:004需求分析6.d2019-10-238:002019-10-3017:005系统需求确定2.d2019-10-238:002019-10-2617:006用例规约3.d2019-10-278:002019-10-2917:007需求评审1.d2019-10-308:002019-10-3017:008系统设计7.d2019-11-28:002019-11-1017:009GUI设计1.d2019-11-28:002019-11-217:0010系统静态结构设计2.d2019-11-28:002019-11-317:0011系统动态结构设计4.d2019-11-48:002019-11-917:0012设计评审1.d2019-11-108:002019-11-1017:0013系统编码实现11.d2019-11-118:002019-11-2517:0014系统测试2.d2019-11-268:002019-11-2717:0015项目验收4.d2019-11-308:002019-12-317:00项目计划{领域分析{需求分析{设计编码测试验收
通过用户访谈获取需求,形成需求陈述,并在此基础上完成领域分析,建立业务领域的数据模型。内容:访谈提纲与访谈记录领域类图、业务用例阶段目标我们的进度,在这里阶段能力目标及对应工作任务能力目标工作任务1掌握用户访谈的基本技能1-用户访谈2掌握领域分析方法,能为简单项目进行领域建模2-建立领域类图3掌握RationalRose中类图的画法4掌握RationalRose中用例图和活动图的画法3-进行业务用例建模和业务流程建模访谈技巧类、关系类图用例图活动图Rose中类图、用例图、活动图画法数据建模业务用例建模、业务流程建模阶段知识目标我们的进度,在这里工作任务2:
召开用户访谈会议,了解用户业务情况。
学习情境:知识1:如何进行用户访谈与用户进行访谈可以通过正式会议或者一般访谈的形式进行。在进行访谈前,业务员需要了解用户所在行业的一些背景情况和相关行业知识。无论何种访谈,在进行前都应该准备访谈提纲,在得到一些访谈信息后,要有针对性的设置访谈问题。我们的进度,在这里访谈提纲的编写技巧技巧一:如何发现用户业务需求通过一些问题,可以使得系统分析员获知系统某一功能执行步骤,所需或者产生的数据,计算公式,以及企业的特殊约束。例如:您(业务人员)通常都怎么执行某操作的呢?请告诉我执行这些步骤会用到什么数据?以及会产生什么数据?在执行某操作时,有没有什么重要的约束需要注意或遵守的?我们的进度,在这里访谈提纲的编写技巧技巧二:发现需要的数据及其属性在系统中,必不可少的会用到数据,那么系统中的数据及数据属性如何被发现呢?可以通过类似以下问题来进行访谈:某物会记录什么数据呢?某物可以提供我们哪些数据呢?某物的某属性有范围码?可被接受的数字,最大最小是多少?可被接受的字符串,最长最短是多少?我们的进度,在这里图书管理系统的第一次访谈提纲访谈对象:图书馆工作人员Q1:请问您平时主要有哪些工作要做呢?A1:我的日常工作包括图书管理(图书的入库,报废,遗失)、图书的借阅(包括借出图书和归还图书)、还有就是借阅证管理(主要是为学生办理学生借阅证)。Q2:您在进行图书管理工作,比如图书入库的时候是怎样的流程?图书报废的时候又是怎样的,您能谈一下吗?A2:一般来讲,我们每学年都需要采集一些图书。当图书从采购部采集进来之后,我们为每本图书建立条码和图书信息,在每本书上粘贴条码,并登记图书信息到图书信息表。学校图书馆的图书很少报废,如果报废的话就需要在图书信息表中的备注栏登记一下。如果丢失的话,会在图书信息表中备注栏记录遗失情况。我们的进度,在这里Q3:我还想问一下您在进行学生办理图书证的时候是如何进行的。A3:就是按照学生的入学信息,办理一张卡片(当然需要学生交照片过来)。同时要在学生信息登记表里面记录他的情况。Q4:如果学生借阅证丢失,您是怎么处理的。A4:学生借阅证丢失了,他需要主动联系我们进行“遗失补办”。其实也很简单了,就是重新发一张卡片给他,然后在学生信息登记表里面重新登记他的信息。Q5:您刚才提到的“卡片”是不是就是借阅证?A5:是的Q6:您在新办和补办借阅证的时候,上面都写些什么呢?A6:借阅证编号,姓名,学号,班级。图书管理系统的第一次访谈提纲Q7:您刚才提到了一个叫做借阅证编号的东西,我想问一下,你们在办理学生借阅证的时候,都需要填写学生信息表里面哪些数据呢?A7:有姓名,学号,班级,专业,性别Q8:图书在入库的时候,你们在图书信息表里面要登记哪些内容啊?A8:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类Q9:下面谈一下您的另外一个工作任务——当学生借书和还书的时候又是什么样的吧?A9:学生出示他的借阅证,然后把书交给我登记就可以了。Q10:你都登记什么信息呢?A10:学生的姓名,学号,班级,图书登录号,图书名,ISBN。最重要的就是借阅时间。Q11:学生的借阅时间有没有限定?A11:有,三个月。我们鼓励学生多进行借阅,但是如果超过这个时间的话,我们就会通知辅导员让学生进行归还了。图书管理系统的第一次访谈提纲我们的进度,在这里访谈对象:图书馆负责人(项目委托者)Q1:刚才我们同工作人员进行了访谈,我们现在想问一下您关于系统的一些情况。这个系统开发出来之后,供谁使用呢?A1:就是工作人员来使用。Q2:你们一般有几个工作员会同时使用这个系统?A2:我们图书馆规模比较小,只有这么一个图书室,同一时刻最多一个工作员使用。Q3:你们图书馆藏书规模有多大?另外,你们学院有多少学生啊?是不是每个学生都有借书证?还是他们申请办理才会有?A3:图书馆藏书大概有六千册吧。学生一般有1500人,一般在学生入学的时候,我们会为主动按班级给每个学生办理借书证的,学生不用单独来申请。当然,要求学生离校办理手续的时候,也必须先到我们这里将借阅证和借阅的书籍归还后才能离校。Q4:你们有没有计划保存离校学生的信息?A4:这个,一般我们都不保存的。在现有的情况下,他们的借书证档案,也是在离校后,就交给档案室,他们处理了。Q5:你们学院的教职员工借书跟学生借书一样吗?又是怎么样的情况?A5:我们学院的教职员工有专门的图书馆,目前我们这个图书馆还没有负责教师的业务,可能以后随着图书馆规模的变化,会有教师业务的吧。这个现在还不确定。图书管理系统的第一次访谈提纲我们的进度,在这里用户访谈结束后,要整理访谈的内容,形成访谈记录。图书管理系统的访谈记录如下:1.用户主要业务:图书管理,图书借阅\归还,借阅管理。其中,图书管理包括图书的入库和报废以及遗失。借阅管理包括学生借阅证的办理和补办。2.图书信息包括:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类3.学生信息包括:姓名,学号,班级,专业,性别4.借阅信息包括:借阅时间,应归还时间5.系统只有一个角色使用6.系统数据容量为:图书——10000左右,学生——2000左右图书管理系统的第一次访谈记录(节选)我们的进度,在这里选择关键人物进行访谈。访谈的记录要条例清晰,真实有效。根据实际的情况,访谈可能会进行很多次,直到确实明确用户的需求。需要注意的是我们的进度,在这里我们的进度,在这里工作任务3:
内容——通过访谈进行需求获取后,根据需求获取信息,进行领域分析
交付——图书管理系统领域类图学习情境:
知识2:用类图进行图书管理系统数据建模
主要知识点:1类2关系我们的进度,在这里什么是类图?类(Class)、对象(Object)和它们之间的关系是面向对象技术中最基本的元素。类图技术是OO方法的核心。类图标加上它们之间的关系就构成了类图。Aclassdiagramisagraphicpresentationofthestaticviewthatshowsacollectionofdeclarative(static)modelelements,suchasclasses,types,andtheircontentsandrelationships.类图的应用类图用于对系统静态设计视图建模。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图中可以包含接口,包,关系等建模元素,也可以包含对象,链等实例。类图典型的应用在下面三类建模:对系统的词汇建模对简单协作建模对逻辑数据库模式建模类图的组成类图通常包含下述内容:类接口协作依赖、泛化和关联关系类图可以包含注解和约束;类图还可以有包或子系统,二者都用于把模型元素聚集成更大的组件。类类主要包含以下几个部分
(1)名称(Name)名称是每个类所必有的构成,用于和其他类相区分。(2)属性(Attribute)类的一个组成部分描述了类所代表事物的属性(3)操作(Operation)操作是对类的对象所能做的事务的抽象
我们的进度,在这里类的UML图示类在UML中由专门的图符表达,是分成3个分隔区的矩形,顶端为类的名字,中间存放类的属性、属性的类型和值,第3个分隔区放操作、操作的参数表和返回类型,如下图:在给出类的UML表示时,可以根据建模的实际情况来选择隐藏属性区或操作区,或者两者都隐藏。我们的进度,在这里类的名字每个类都必须有一个名字,用来区分其它的类。例:Flight,BankAccountUML约定:类名的首字母要大写,放在矩形的偏上部。如果类名是由两个单词组成,那么将两个单词合并,第二个单词首字母大写。正体字说明类是可被实例化的,斜体字说明类为抽象类。我们的进度,在这里类的属性例:publicflightNumber:Integer;UML约定:单个单词的属性名小写。如果属性名是由多个单词组成,那么将多个单词合并,除了第一个单词外。其它单词首字母大写。属性的语法:可见性名称:类型=默认值[约束特性]可见性表示该属性对类外的元素是否可见。常用的有公有、受保护和私有三种。名称表示属性的名称,是一个字符串。类型定义属性的种类(基本类型或自定义类型)默认值表示属性的初始值。约束特性表示描述对属性的约束。我们的进度,在这里在ROSE中绘制类的属性通过在类上点右键,然后选择NewAttribute项即可增加属性。如果修改的话,则到类的规范卡中进行。双击属性名则可以修改。属性的修饰符可分为以下四种:默认的修饰符为private类的操作例:getArriveTime():DateUML约定:单个单词的操作名小写。如果操作名是由多个单词组成,那么将多个单词合并,除了第一个单词外。其它单词首字母大写。我们的进度,在这里在ROSE中绘制类的操作通过在类上点右键,然后选择NewOperater项即可增加操作。如果修改的话,则到类的规范卡中进行。双击操作名则可以修改。关系关系(Relationship)是事物间的关系。在类的关系中,最常用的4种分别为:依赖(Dependency):它表示类之间的使用关系泛化(Generalization):它表示类之间的一般和特殊的关系;关联(Association):它表示对象之间的结构关系实现(Realization):它是规格说明和其实现之间的关系。我们的进度,在这里类的依赖Adependencyisarelationshipbetweentwoelementsinwhichachangetooneelement(thesupplier)mayaffectorsupplyinformationneededbytheotherelement(theclient).有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。在类中,依赖由各种原因引起,如:一个类向另一个类发消息;一个类是另一个类的某个操作参数类型。依赖-图形表示:虚线+箭头,箭头指向被依赖的类泛化(Generalization)泛化表示类与类之间的继承关系,接口与接口之间的继承关系。例如,老虎和狗都是动物的子类泛化关系的UML图示泛化-图形表示:实线+空心箭头,箭头指向父类虚线+空心箭头,如父类是接口我们的进度,在这里关联(Association)对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司关联关系的UML图示
关联-图形表示:实线+箭头,箭头指向被使用的类我们的进度,在这里关联关系-命名、多重性关联的多重性是指类中有多少对象与关联的类的一个对象相关。重数常描述为‘一’或‘多’。关联的命名,用小黑三角表示名字的方向。关联关系–角色、关联类角色:关联两头的类以某种角色参与关联。关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。两种特殊的关联关系聚合关系:聚合关系用来描述整体和部分的关系,有着聚合关系的两个类,一个是整体,一个是部分。在聚集中,部分类可以独立存在。合成(组合)关系:合成关系也是用来描述整体和部分的关系。在合成关系中,部分类不能脱离整体类而存在。两种特殊的关联关系–聚合比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。聚合关系的UML图示:聚集-图形表示:空心菱形+实线+箭头箭头指向部分两种特殊的关联关系–合成(组合)合成:例滑翔机与机身、机尾、左右机翼滑翔机机翼机尾机身fuselagetailleftWingrightWing1111合成-图形表示:实心菱形+实线+箭头箭头指向部分关联与聚合、合成的区别关联一般关联特殊关联聚合关系组成关系一般关联中的两个类处于同一层次特殊关联中的两个类有整体和部分的关系部分可以脱离整体单独存在部分不能脱离整体单独存在聚合和组合如何在ROSE中表示在关系的规范属性卡中,设置navigable属性,则可以表示聚合。如图所示。如果进一步将communication选择为byvalue,则表示组合实现(Realization)
它是规格说明和其实现之间的关系。 大多数情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。洗衣机和控制旋钮之间的实现关系实现-图形表示:虚线+空心三角形三角形指向接口类图的抽象层次在软件开发的不同阶段使用的类图具有不同的抽象层次。一般地,类图可分为三个层次,即概念层,说明层和实现层。类的概念层,说明层和实现层的划分最先是由SteveCook和JohnDaniels引入的。概念层(Conceptual)类图描述应用领域中的概念,一般地,这些概念和类有很自然的联系,但两者并没有直接的映射关系。说明层(Specification)类图描述软件的接口部分,而不是软件的实现部分。实现层(Implementation)类图才真正考虑类的实现问题,揭示实现细节。类图的三个层次的例子概念层说明层实现层建立类图的一般步骤1.研究分析问题领域2.发现对象与类,明确它们的含义和责任,确定属性。3.发现类之间的关系。把类之间的关系用关联、泛化、聚集、组合、依赖等关系表达出来。4.设计类与关系。调整和细化已得到的类和类之间的关系,解决诸如命名冲突、功能重复等问题。5.绘制类图并编制相应的说明。概念模型(领域模型)用户访问领域知识现实世界经验建立域模型问题描绘书如何发现类和它们之间的关系名词-动词分析法找出以上来源中的名词或名词短语,作为候选类对候选类进行筛选,去掉冗余的、和系统无关的、以及非独立的类以动词为线索确定类之间的关系图书管理系统的数据建模——
步骤1:对系统中关键词的抽象我们从与用户的访谈中间可以发现一些关键词汇:学生信息,图书信息,以及借阅信息。因此,可以在系统中抽象出3个类:学生,图书,借阅信息。我们的进度,在这里图书管理系统的数据建模——
步骤2:为类添加属性学生信息表包含:姓名,学号,班级,专业,性别图书信息表包含:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类借阅信息表包含:借阅时间,归还时间。我们的进度,在这里我们的进度,在这里图书管理系统的数据建模——
步骤3:分析和建立类之间的关系学生——借阅信息1:n图书——借阅信息1:n我们的进度,在这里我们的进度,在这里
用Rose绘制类图首先,在Rose开发环境中模型浏览器的【LogicalView】文件夹(其实是包)图标上单击鼠标右键,在弹出的快捷菜单中,最常用的功能是【OpenSpecification(打开属性说明)】和【New(新建UML元素)】。其中,【OpenSpecification…】可以打开当前选定对象的属性和说明,并对其进行具体的修改和更新。而“New”则可以新建包括Class(类)、ClassUtility、UseCase(用例)、Interface(接口)、Package(包)、ClassDiagram(类图)、UseCaseDiagram(用例图)、CollaborationDiagram(协作图)、SequenceDiagram(时序图)、StateChartDiagram(状态图)和ActivityDiagram(活动图),这里选择ClassDiagram(类图),如图所示。用Rose绘制类图一个类图就新建完成了,如图所示,修改类图的名称为ClassDiagram。双击打开类图,界面编辑区的编辑工具栏将有所变化,如图所示。用Rose绘制类图编辑工具栏上从上到下依次是:SelectionTool(选择工具)、TextBox(文本框)、Note(注解)、ArchorNotetoItem(注解和元素的连线,是虚线)、Class(类)、Interface(接口)、UnidirectionalAssociation(有方向的关联关系)、AssociationClass(关联类)、Package(包)、Depende
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市劳务合同范例
- 劳动合同范本在昆明
- 包地合同范本模板
- 出口车牌架采购合同范本
- 临时用房建设合同范本
- 第五课 我是小画家-模块组 教学设计 -2023-2024学年大连版(2015)初中信息技术七年级下册
- 劳动合同范本申请
- 养羊合作合同范本
- 2024年云浮市郁南县河口镇招聘笔试真题
- 2024年日照银行社会招聘考试真题
- 北京市东城区2025年公开招考539名社区工作者高频重点提升(共500题)附带答案详解
- 2025福建福州地铁集团限公司运营分公司校园招聘高频重点提升(共500题)附带答案详解
- 2025至2030年中国电子护眼台灯数据监测研究报告
- 儿童睡眠障碍治疗
- 2025年浙江省温州乐清市融媒体中心招聘4人历年高频重点提升(共500题)附带答案详解
- 2025夏季广东广州期货交易所招聘高频重点提升(共500题)附带答案详解
- 北京市丰台区2024-2025学年高三上学期期末英语试题
- 2025上海市嘉定工业区农村青年干部招聘22人历年高频重点提升(共500题)附带答案详解
- 《兽医基础》练习题及参考答案
- 2025年煤矿探放水证考试题库
- 2024年度个人珠宝首饰分期购买合同范本3篇
评论
0/150
提交评论