本科实验报告课程名称:系统分析与设计实验项目:《购物超市管理系统》实验实验地点:行远A107专业班级:学号:学生姓名:指导教师:2017年11月20 日一、实验目的通过《系统分析与设计》实验,使学生在实际的案例中完成系统分析、设计的主要步骤,在实践中熟悉信息系统分析与设计的规范及信息系统开发的相关应用软件;加深对信息系统分析与设计课程的基础理论、基本知识的理解;树立正确的分析设计思想,提高系统分析、设计的实践能力及撰写书面文件的能力。
二、实验要求要求学生以个人为单位自选题目,班内选题不重复;对所选项目进行调查,写出300字以上的系统描述;利用系统分析与设计的基本原理、方法进行系统分析、设计,使用UML语言构建该系统的分析、设计模型,并完成实验报告;实验报告以纸质版(A4)在课程结束后一周内提交。
三、实验主要设备:HP笔记本,WINdows7四、实验内容1 选题及项目背景购物超市管理系统随着人们购物需求的日益增长,超市信息数据也随之增加,为了方便管理超市的购物信息,科学的统计和快速操作,特此设计超市购物管理系统方便超市的管理以及人们购物的便利。
2 定义开发超市管理系统是要达到方便管理员和消费者的目的,系统能够实现对商品信息的管理,超市仓库管理,超市员工管理,超市销售管理,会员管理以及对日常购物信息数据统计的管理,超市员工能够对商品信息和超市会员信息进行添加、删除、更新、查询操作,能够按商品种类进行查询操作,超市管理员能够对超市仓库中各种商品信息进行查询,及时了解仓库中各类商品的库存信息,超市管理员还可以对员工信息进行添加、删除、更新、查询操作,管理员能够简单的查询部门信息,超市管理系统能够对超市员工进行分类,对不同类型的员工,能够赋予不同的权限对超市进行管理(对自选项目系统进行描述300字以上)3 参考资料系统分析与设计4 系统分析与设计4.1需求分析4.1.1识别参与者管理员,员工,信息管理系统4.1.2 对需求进行捕获与描述001管理会员的基本信息,包括注册、注销、姓名、联系方式等信息002管理会员的积分,包括增加、修改和查询等操作003确定每种商品价格、购买可兑换积分以及积分可兑换商品004确定每种活动所针对的会员级别及活动时间和种类005负责发放和回收会员卡006会员可修改自己在系统中的个人信息007会员卡可不定期查询自己的个人信息008会员查询超市近期所举办的活动情况009会员可查询固定积分可兑换的商品010会员可对自己每次消费所赠加的积分进行查询4.1.3 用例图通过已掌握的需求,初步了解系统所要完成的功能。
下面给出用例图。
4.1.4 分析与讨论1)建模用例图的步骤、方法?答:1、确定系统的边界和范围。
方法:系统分析人员必须和用户反复多次交流,并做大量的调查、研究和讨论工作,从而确定系统的范围。
2、确定参与者。
方法:可以请系统用户回答以下问题帮助发现参与者,谁使用系统的主要功能?谁改变系统的数据?谁从系统获取数据?谁支持、维护系统?谁需要借助系统的支持来完成日常工作?系统需要操作那些硬件?系统需要和那些外部系统交互?谁对系统运行结果感兴趣?3、发现用例。
方法:考虑以下问题可以帮助发现与之相关的用例,每个参与者打算在系统里做些什么事情?参与者使用本系统要实现的目标是什么?参与者是否会在系统中创建、删除、修改、访问、存储数据?如果是,如何来完成这些操作的?参与者是否会将外部的某些事情通知给该系统?系统是否会将内部的某些事情通知给参与者?4、描述用例及确定用例关系。
(1)描述用例,说明其时间流。
用例描述分为两个步骤:第一步,对用例概要描述;第二部,对用力详细描述。
详细描述就是将事件流进行细化,在实际的开发工作中,对一个用例进行细化及细化到什么程度主要根据项目的迭代计划来决定(2)确定用例关系。
根据用例事件流,将公共行为抽取出来,以包含关系构建用例的关系;对于变化部分,将其抽取出来,放到扩展用例中。
5、建立用例图,层次化用例图。
方法:对于一个复杂的大型系统,可以将系统分解为若干子系统,子系统还可以划分下属子系统,形成一个系统层次结构。
每个子系统都需要相应的用例图来描述。
用例图之间也就存在层次结构,高层子系统的用例可以分解为若干下属子系统的用例图。
具有层次结构的用例图可以清晰、全面、完整地描述用例模型。
2)如何识别系统的参与者?应该如何划分用例,应注意哪些问题?答:可以请系统用户回答以下问题帮助发现参与者,谁使用系统的主要功能?谁改变系统的数据?谁从系统获取数据?谁支持、维护系统?谁需要借助系统的支持来完成日常工作?系统需要操作那些硬件?系统需要和那些外部系统交互?谁对系统运行结果感兴趣?描述用例,说明其时间流。
用例描述分为两个步骤:第一步,对用例概要描述。
第二步,对用力详细描述。
详细描述就是将事件流进行细化,在实际的开发工作中,对一个用例进行细化及细化到什么程度主要根据项目的迭代计划来决定确定用例关系。
根据用例事件流,将公共行为抽取出来,以包含关系构建用例的关系;对于变化部分,将其抽取出来,放到扩展用例中。
3)心得通过本次实验了解到系统分的整个流程,对用例图,类图,包图,构件图,部署图的构建有了更加深刻的理解,从简单到对整个流程的详细设计都有了清晰的了解,在构图过程中使用了UML建模工具,开始不会使用工具但通过网上查阅各种图建模的步骤,慢慢了解并且熟悉了建模工具UML的使用,在本次实验中遇到了许多困难,有很多做的并不够完善,还需要进一步的学习。
4.2 建立对象模型4.2.1 候选类的数据字典数据流名商品信息。
说明商品信息的存储并对其进行编码来区别各类商品。
数据流来源人工输入。
数据流去向数据库并各种报表打印。
数据流组成{货号品名拼音编码规格单位产地类别进货价销售价最低售价。
}【注拼音编码名称的拼音简称目的是在程序中可通过拼音编码方便地查询到所要商品。
】数据元素供货商资料。
组成{供货商号拼音编码简称名称地址电话传真电报联系人业务员备注。
}数据流名客户资料。
说明各大客户资料。
数据流来源人工输入。
数据流去向数据库并报表打印。
数据流组成{客户编号拼音编码简称名称联系人地址邮编电话传真电报性质业务员授信额度}【注性质企业的类型业务员本企业与其联系人。
】数据流名业务员信息。
说明本公司各个业务员信息。
数据流来源人工输入。
数据流去向数据库并各种报表打印。
数据流组成{业务员号姓名性别出生年月地址身份证号电话手机类别部门部门主管备注。
}数据元素仓库信息。
组成{仓库号仓库名类别管理员编号备注。
}数据元素名采购合同。
说明用于维护企业与供货商签订的采购合同。
组成{供货商号货号进货价付款方式账期签订日期合同期限备注。
}数据元素名销售合同。
说明用于维护企业与客户签订的销售合同。
组成{客户编号货号售价付款方式账期签订日期合同期限备注。
}数据元素名会员资料。
说明超市的会员基本信息。
组成{会员编号会员名会员类别普通会员、银会员、金会员地址电话入会日期积分备注。
}数据元素名采购订单。
说明用于录入企业的采购订单。
组成{编号供货商号订购日期有效起日有效之止日业务员制单员税价合计扣率税率不含税价税额备注。
}数据元素名采购订单明细。
说明用于录入企业的进货单。
组成{编号订单号货号订货数量进价税价合计扣率税率不含税价税额备注。
}数据元素名进货单。
说明用于录入企业的进货单。
组成{编号供货商号进货日期业务员制单员验收员税价合计不含税价税额订单号备注。
}数据元素名进货单明细。
说明进货单明细。
组成{编号进货单号货号进货数量进价售价合计扣率税率不含税价税额仓库号货物数量备注。
}数据元素名销售订单。
说明用于录入企业的销售订单。
组成{编号客户编号销售日期有效起日有效止日业务员制单员税价合计不含税价税额订单号备注。
}数据元素名销售明细。
说明销售单的从表。
组成{编号销售单号货号销售数量销售价税价合计扣率税率不含税价税额仓库号备注。
}数据元素名销售退货单。
说明用于录入企业的销售退货单。
组成{编号销售单号货号退货数量销售价税价合计扣率税率不含税价税额仓库号备注。
}数据元素名零售收款。
说明用于门市面的收款管理。
组成{货号品名单价数量金额总计。
}数据元素名零售历史。
说明班次结账管理。
组成{编号业务员号姓名班次日期收款时起收款时止收款机号货号销售数量应收金额实收金额库存单价备注。
}数据元素名付款单。
说明用于录入企业支付货款的凭证和销售应付款。
组成{编号发票号填票日期进货单号货号供货商号数量进货单价金额付款日期详细说明进货日期状态减预付备注。
}【注状态说明此款项付否。
】数据元素名收款单。
说明用于录入企业收回货款的凭证和销售应收款。
组成{编号发票号填票日期销售单号货号客户编号数量销售价金额收款日期详细说明销售日期状态减预收备注。
}4.2.2定义类“商品信息”类•属性商品名(name):文本生产厂家(author):文本商品价格(prince):数值(double)生产日期(book concern):字符串商品编号(regimentaion): 文本•操作添加商品set()获取商品信息get()获取商品名setName设置商品生产商 setCommodity_Concern获取商品生产商 getCommodity_Concern设置商品价格 setPrice获取商品价格 getPrice设置商品编号 setRegimentation获取商品编号 getRegimentation))“顾客”类•属性4.2.3绘制类图(在类图中标示出类的属性、操作、类之间的关系及多重性,并对所给出的类图解释说明。
)4.2.4包图对于大型复杂系统,常需要把大量的模型元素用包组织起来,以方便处理。
对所选系统的类进行分组,以便更清晰地了解系统的结构。
(画出包图并说相应解释说明)4.2.5分析与讨论1)建模类图的步骤、方法?答:a、确定类;(方法:行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等) b、识别类的属性和操作;(方法:结合需求陈述、领域知识和常识以及经验等) c、识别类之间的关联;(方法:使用普通关联列表的方法) d、定义类的结构和层次。
2)识别类有哪些方法,你是如何识别类的?答:行为分析、名词识别法、CRC分析法、根据边界类、控制类、实体类的划分、参考设计模式确定、通过领域进行分析等。
我通过名名词识别法确定类。
3)解释关联的多重性?如何确定类的属性、操作、类之间的关联关系、组织类之间的继承?答:关联的多重性:关联表示了对象间的结构关系,在建模过程中,通常需要说明一个关联实例中有多少个相互连接的对象。
确定类的属性:从常识性、专业性、功能性、存储性、操作性、标志性、关联性发现和确定类的属性,进而筛选类的属性;确定类的操作:综合对象模型、动态模型和功能模型,确定类的操作;确定类之间的关联关系:使用普通关联列表的方法帮助发现关联。