影碟出租管理系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求分析是软件开发的基础。假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花2.5、5、25、100倍的时间。
因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。
⑶灵活性
系统对外界环境的变化应有较强的适应力,即便在条件变化之后,仍能提供详尽的具有现实意义的有关信息。
⑷可靠性
系统必须是可靠的,只有这样,才能保证系统的高质量,才能得到使用者的信任。
⑸经济性
系统应该给使用者带来相应的利益,提供更准确、更全面、更及时的信息,方便大大提高管理的效率。
系统要实现哪些功能,每个功能的具体描述
string getcountry(){return country;}
string getstyle(){return style;}
string getdirector(){return director;}
string getcompany(){return company;}
int getlend(){return lend;}
这四个方面形成了碟出租店一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种影碟信息。硬件的配置要求不能太高,这样可以很好的适应当前的影碟出租店。在开发方式上对系统的需求,由于影碟出租店的商业利益较小,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
2、设计软件结构图时,如何把握内聚和耦合的度?
(1)尽量使用数据耦合,少用控制耦合和特征耦合,限制公共耦合的范围,完全不用内容耦合
(2)功能内聚10分、顺序内聚9分、通信内聚7分、过程内聚5分、时间内聚3分、逻辑内聚1分、偶然内聚0分
3、设计程序流程图时,循环嵌套以几层为好?
4、怎么判断盒图的正确性?
实验三
2.2类
1.CD类:该类拥有私有数据成员CDID(碟片编号)、CDname(碟片名称)、mainstar(主演明星)、country(国家)、style(碟片类型)、director(导演)、company(制作公司)、lend(借出数量)、inventory(库存量)。成员函数包含有参构造函数、重载流插入提取运算符、拷贝复制构造函数以及获取私有成员函数和更改私有成员函数,具体类信息如下:
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。
需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特点:(1)用户与开发人员很难进行交流
数据字典
E-R图(侯璠)
数据流图
1、需求分析在软件开发中真的有那么重要吗?
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
一个比较理想的系统,应该满足以下要求:
⑴简单性、实用性
系统应该尽可能设计的比较简单,各功能实现清晰明了,同时应考虑实用性避免不必要的复杂化。结构简单尽可能使处理过程缩短,处理费用减少,系统收益增高。同时也利于使用者掌握和维护。
⑵完整性
系统是作为一个统一的整体而存在的,因此系统的功能要保持完整,数据采用要统一,传递语言要一致。
int getinventory(){return inventory;}
void setCDID(string ci){CDID=ci;}
void setCDname(string cna){CDname=cna;}
void setmainstar(string mst){mainstar=mst;}
1)新片上架:录入碟片片名、编号等各种信息。并实现片子的增加、删除、修改的基本功能。
2)碟片查询:对片子进行分类查询的功能。
3)碟片借阅:对借出的片子进行管理,对租借的客户和所借出的片子的信息进行记录,对碟片的借阅进行普通客户和会员客户分类管理。
4)碟片归还:对出租的片子进行金额结算,对普通客户和会员客户进行分类管理。
2、分析系统流程图,程序流程图和数据流图的区别和各自的特点。
系统流程图是概括的描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是他却是物理数据流图而不是程序流程图。
int lend; //借出数量
int inventory; //库存量
public:
CD(string ci="无",string cna="无",string mst="无",string cot="无",string sty="无",string dir="无",string com="无",int le=0,int inv=0);
friend istream& operator>>(istream &is,CD &die);//重载输入运算符
friend ostream& operator<<(ostream &os,CD &die);//重载输出运算符
friend ofstream &operator<<(ofstream &ofs,CD&die);//重载文件插入运算符
实验一:
系统的名称
影碟出租管理系统
可行性分析
通过对该影碟出租店的各个方面进行了具体的了解之后,现对该影碟出租店开发影碟出租管理系统的可行性进行分析。
(1)技术上可行:该系统所需硬件设备,市场上销售且价格较低,,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用Visual Basic,这些软件在MIS开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。
在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该"做什么"。但是在开始时,开发人员和用户双方都不能准确地提出系统要"做什么?"。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。
class CD{
private:
string CDID; //碟片编号
string CDname; //碟片名称
string mainstar; //主演明星
string country; //国家
string style;Fra bibliotek//碟片类型string director; //导演
string company; //制作公司
void setlend(int le){lend=le;}
void setinventory(int inv){inventory=inv;}
};
2.member类:该类拥有私有成员memberID(会员号)、membername(会员姓名)、sex(性别)、money(会费剩余)。成员函数包含有参构造函数、流重载插入运算符、拷贝构造函数以及获取私有成员函数和更改私有成员函数,具体类信息如下:
(2)顶层数据流图上的数据流必须封闭在外部实体之间。
(3)每个处理框至少有一个输入数据流和一个输出数据流。
(4)在数据流图中,需按层给处理框编号。表明该处理所处层次及上下层的亲子关系。
(5)规定任何一个数据流子图必须与它上一层的一个处理对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
(2)经济上可行:由于学校该影碟出租店已经到了一定的规模需要采用计算机来对影碟出租店的业务进行管理,因此对开发影碟出租管理系统大力支持,开发经费没有问题。
(3)管理上可行:该影碟出租店原先主要就是以会员为主要服务对象,每位会员均
收集信息
在对世面上的影碟出租店进行了初步的了解后,发现其业务主要是集中在影碟的管理和碟片的出租归还上。对影碟的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对影碟的详细信息的查询功能。在现有的影碟出租中对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。
3、怎样写合乎规范的数据流图和数据词典
画数据流图原则:
(1)数据流图上所有图形符号只限于前述四种基本图形元素。
影碟出租信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。
该影碟出租店规模相对较小,但要有着完善的影碟信息,对每一张影碟都要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是影碟出租店工作人员通过计算机来管理各类影碟,分类编号,调整影碟结构,增加影碟库存,适应顾客的需求;二方面是顾客们能通过计算机来查询浏览影碟出租店中的碟片,来确定自已需要的影碟,为租赁做好准备;三方面是工作人员对顾客们的会员的注册,注册能作好全面的掌握,及时得到每个会员证的当前状态和历史租赁记录;四方面也是碟出租店的核心工作,对影碟的租赁管理。
class member
{
friend istream& operator>>(istream& is,member &me);//重载插入运算符
friend ostream& operator<<(ostream& os,member &me);//重载提取运算符
(6)图上每个元素都必须有名字。
写数据字典:
数据字典由下列四类元素定义组成
(1)数据流
(2)数据流分量即数据元素
(3)数据存储
(4)处理
实验二:系统设计
层次图
结构图
归还管理模块
程序流程图
盒图
Jackson图
租借管理模块
程序流程图
2.2盒图
2.3 jackson图
思考题
1、如何分辨事务中心数据流和变换中心数据流?
CD(const CD &c); //复制构造函数
CD(CD &c,const CD &d);//复制构造函数
string getCDID(){return CDID;}
string getCDname(){return CDname;}
string getmainstar(){return mainstar;}
(2)用户的需求是动态变化的
对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。
(3)系统变更的代价呈非线性增长
void setcountry(string cot){country=cot;}
void setstyle(string sty){style=sty;}
void setdirector(string dir){director=dir;}
void setcompany(string com){company=com;}
功能需求
影碟租赁主要由影碟管理员、影碟、借阅信息顾客四大部分组成。影碟管理员主要是负责对影碟尽心组织整理,对出租的影碟的信息进行记录。影碟要进行多个备份,以满足多个顾客的需求。借阅信息是对用户的借阅情况进行记录。顾客是租借影碟,并在借后进行归还,缴纳租金。影碟管理员与影碟的关系是调配关系,顾客与影碟的关系是使用关系,影碟管理员与顾客的关系是服务关系。借阅信息与影碟的关系是包含关系,借阅信息与顾客的关系是记录关系。
因此,对于大型复杂系统而言,首先要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从技术、经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。
⑶灵活性
系统对外界环境的变化应有较强的适应力,即便在条件变化之后,仍能提供详尽的具有现实意义的有关信息。
⑷可靠性
系统必须是可靠的,只有这样,才能保证系统的高质量,才能得到使用者的信任。
⑸经济性
系统应该给使用者带来相应的利益,提供更准确、更全面、更及时的信息,方便大大提高管理的效率。
系统要实现哪些功能,每个功能的具体描述
string getcountry(){return country;}
string getstyle(){return style;}
string getdirector(){return director;}
string getcompany(){return company;}
int getlend(){return lend;}
这四个方面形成了碟出租店一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种影碟信息。硬件的配置要求不能太高,这样可以很好的适应当前的影碟出租店。在开发方式上对系统的需求,由于影碟出租店的商业利益较小,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
2、设计软件结构图时,如何把握内聚和耦合的度?
(1)尽量使用数据耦合,少用控制耦合和特征耦合,限制公共耦合的范围,完全不用内容耦合
(2)功能内聚10分、顺序内聚9分、通信内聚7分、过程内聚5分、时间内聚3分、逻辑内聚1分、偶然内聚0分
3、设计程序流程图时,循环嵌套以几层为好?
4、怎么判断盒图的正确性?
实验三
2.2类
1.CD类:该类拥有私有数据成员CDID(碟片编号)、CDname(碟片名称)、mainstar(主演明星)、country(国家)、style(碟片类型)、director(导演)、company(制作公司)、lend(借出数量)、inventory(库存量)。成员函数包含有参构造函数、重载流插入提取运算符、拷贝复制构造函数以及获取私有成员函数和更改私有成员函数,具体类信息如下:
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。
需求分析是一项重要的工作,也是最困难的工作。该阶段工作有以下特点:(1)用户与开发人员很难进行交流
数据字典
E-R图(侯璠)
数据流图
1、需求分析在软件开发中真的有那么重要吗?
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。
一个比较理想的系统,应该满足以下要求:
⑴简单性、实用性
系统应该尽可能设计的比较简单,各功能实现清晰明了,同时应考虑实用性避免不必要的复杂化。结构简单尽可能使处理过程缩短,处理费用减少,系统收益增高。同时也利于使用者掌握和维护。
⑵完整性
系统是作为一个统一的整体而存在的,因此系统的功能要保持完整,数据采用要统一,传递语言要一致。
int getinventory(){return inventory;}
void setCDID(string ci){CDID=ci;}
void setCDname(string cna){CDname=cna;}
void setmainstar(string mst){mainstar=mst;}
1)新片上架:录入碟片片名、编号等各种信息。并实现片子的增加、删除、修改的基本功能。
2)碟片查询:对片子进行分类查询的功能。
3)碟片借阅:对借出的片子进行管理,对租借的客户和所借出的片子的信息进行记录,对碟片的借阅进行普通客户和会员客户分类管理。
4)碟片归还:对出租的片子进行金额结算,对普通客户和会员客户进行分类管理。
2、分析系统流程图,程序流程图和数据流图的区别和各自的特点。
系统流程图是概括的描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是他却是物理数据流图而不是程序流程图。
int lend; //借出数量
int inventory; //库存量
public:
CD(string ci="无",string cna="无",string mst="无",string cot="无",string sty="无",string dir="无",string com="无",int le=0,int inv=0);
friend istream& operator>>(istream &is,CD &die);//重载输入运算符
friend ostream& operator<<(ostream &os,CD &die);//重载输出运算符
friend ofstream &operator<<(ofstream &ofs,CD&die);//重载文件插入运算符
实验一:
系统的名称
影碟出租管理系统
可行性分析
通过对该影碟出租店的各个方面进行了具体的了解之后,现对该影碟出租店开发影碟出租管理系统的可行性进行分析。
(1)技术上可行:该系统所需硬件设备,市场上销售且价格较低,,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用Visual Basic,这些软件在MIS开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。
在软件生存周期中,其它四个阶段都是面向软件技术问题,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该"做什么"。但是在开始时,开发人员和用户双方都不能准确地提出系统要"做什么?"。因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流时存在着隔阂。
class CD{
private:
string CDID; //碟片编号
string CDname; //碟片名称
string mainstar; //主演明星
string country; //国家
string style;Fra bibliotek//碟片类型string director; //导演
string company; //制作公司
void setlend(int le){lend=le;}
void setinventory(int inv){inventory=inv;}
};
2.member类:该类拥有私有成员memberID(会员号)、membername(会员姓名)、sex(性别)、money(会费剩余)。成员函数包含有参构造函数、流重载插入运算符、拷贝构造函数以及获取私有成员函数和更改私有成员函数,具体类信息如下:
(2)顶层数据流图上的数据流必须封闭在外部实体之间。
(3)每个处理框至少有一个输入数据流和一个输出数据流。
(4)在数据流图中,需按层给处理框编号。表明该处理所处层次及上下层的亲子关系。
(5)规定任何一个数据流子图必须与它上一层的一个处理对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
(2)经济上可行:由于学校该影碟出租店已经到了一定的规模需要采用计算机来对影碟出租店的业务进行管理,因此对开发影碟出租管理系统大力支持,开发经费没有问题。
(3)管理上可行:该影碟出租店原先主要就是以会员为主要服务对象,每位会员均
收集信息
在对世面上的影碟出租店进行了初步的了解后,发现其业务主要是集中在影碟的管理和碟片的出租归还上。对影碟的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对影碟的详细信息的查询功能。在现有的影碟出租中对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。
3、怎样写合乎规范的数据流图和数据词典
画数据流图原则:
(1)数据流图上所有图形符号只限于前述四种基本图形元素。
影碟出租信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。
该影碟出租店规模相对较小,但要有着完善的影碟信息,对每一张影碟都要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是影碟出租店工作人员通过计算机来管理各类影碟,分类编号,调整影碟结构,增加影碟库存,适应顾客的需求;二方面是顾客们能通过计算机来查询浏览影碟出租店中的碟片,来确定自已需要的影碟,为租赁做好准备;三方面是工作人员对顾客们的会员的注册,注册能作好全面的掌握,及时得到每个会员证的当前状态和历史租赁记录;四方面也是碟出租店的核心工作,对影碟的租赁管理。
class member
{
friend istream& operator>>(istream& is,member &me);//重载插入运算符
friend ostream& operator<<(ostream& os,member &me);//重载提取运算符
(6)图上每个元素都必须有名字。
写数据字典:
数据字典由下列四类元素定义组成
(1)数据流
(2)数据流分量即数据元素
(3)数据存储
(4)处理
实验二:系统设计
层次图
结构图
归还管理模块
程序流程图
盒图
Jackson图
租借管理模块
程序流程图
2.2盒图
2.3 jackson图
思考题
1、如何分辨事务中心数据流和变换中心数据流?
CD(const CD &c); //复制构造函数
CD(CD &c,const CD &d);//复制构造函数
string getCDID(){return CDID;}
string getCDname(){return CDname;}
string getmainstar(){return mainstar;}
(2)用户的需求是动态变化的
对于一个大型而复杂的软件系统,用户很难精确完整地提出它的功能和性能要求。一开始只能提出一个大概、模糊的功能,只有经过长时间的反复认识才逐步明确。有时进入到设计、编程阶段才能明确,更有甚者,到开发后期还在提新的要求。这无疑给软件开发带来困难。
(3)系统变更的代价呈非线性增长
void setcountry(string cot){country=cot;}
void setstyle(string sty){style=sty;}
void setdirector(string dir){director=dir;}
void setcompany(string com){company=com;}
功能需求
影碟租赁主要由影碟管理员、影碟、借阅信息顾客四大部分组成。影碟管理员主要是负责对影碟尽心组织整理,对出租的影碟的信息进行记录。影碟要进行多个备份,以满足多个顾客的需求。借阅信息是对用户的借阅情况进行记录。顾客是租借影碟,并在借后进行归还,缴纳租金。影碟管理员与影碟的关系是调配关系,顾客与影碟的关系是使用关系,影碟管理员与顾客的关系是服务关系。借阅信息与影碟的关系是包含关系,借阅信息与顾客的关系是记录关系。