软件设计大作业

上传人:仙*** 文档编号:64024018 上传时间:2022-03-21 格式:DOC 页数:11 大小:207.50KB
收藏 版权申诉 举报 下载
软件设计大作业_第1页
第1页 / 共11页
软件设计大作业_第2页
第2页 / 共11页
软件设计大作业_第3页
第3页 / 共11页
资源描述:

《软件设计大作业》由会员分享,可在线阅读,更多相关《软件设计大作业(11页珍藏版)》请在装配图网上搜索。

1、软件设计大作业一需求分析此系统是一个类似于淘宝网的在线衣服销售系统,相当于淘宝网上的一个专门买 衣服的网店,它具有用户注册,用户登录,修改密码,显示系统功能,查看订购 历史以及订货。1.1需求列表:(1)用户管理:用户管理的需求包括用户注册,用户登录以及修改密码。 用户注册是添加一个我们网上衣店的新用户;用户登录是用户想要进 入系统时必须采取验证身份的步骤;修改密码是为了用户的安全性考 虑,当密码存在不安全的因素时,适时修改密码。(2)商品衣服的管理:商品管理包括订购衣服和查看订购衣服的历史。订 购衣服是当我们衣店的库存数量不足时必须采取的;查看订购衣服的 历史有助于我们更好地了解衣服的订购情

2、况。(3)显示系统功能:此功能是用来让用户能很清楚地了解此系统所实现的 各种功能。1.2系统用例图:1.3用例分析及场景描述:用户注册用例:这部分主要是新用户进行注册的过程,首先用户进入到注册页面,填写 注册信息并提交,如果无误的话系统会给予注册成功的提示,如果注册失败 会提示注册失败信息。用户登录用例:此功能模块针对的对象是本网站的会员既已经注册的会员,会员首先填 写用户名和密码,然后点击登录按钮,如果网站数据库中存在此会员并且密 码正确则提示登录成功提示,如果网站不存在此用户或密码不正确,系统会 提示用户登录失败。修改密码用例:此用例针对注册会员进行操作。用户登录成功会可以进入网站主页面,

3、 如果用户想修改密码的话可以单击修改密码按钮,进行密码修改,用户输入 新密码单击修改按钮即可完成密码修改。显示系统功能用例:此功能针对注册会员,会员首先登录到网站,进入主页,主页会有相关 操作的按钮,显示系统所提供给会员操作的功能,用户可以针对自己的需要 选择系统提供的功能。订货衣服用例:此功能针对注册登录会员,网站提供两种订购方案:单件订购和定制套 装。用户可以根据自己的需求来选择。单件订购方案:用户选择是上衣还是裤子,并填写订购的数量,确认无 误后单击订购按钮即可,如果订购成功,系统会提示订购成功,失败则会提 示订购失败。定制套装方案:用户选择定制套装的档次(高、中、低),并填写订购的 数

4、量,确认无误后单击订购按钮即可, 如果订购成功, 系统会提示订购成功, 失败则会提示订购失败。显示订购历史用例:此功能针对注册会员,用户登录到系统后,主页显示系统功能中包括历 史查看选项,用户可以单击进入历史交易记录页面,页面将显示用户所有的 交易记录。二设计模式2.1单件模式2.1.1单件模式的定义让类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。这就是单 件模式。2.1.2单件设计模式的意图单件模式保证一个类仅有一个实例,并提供一个访问它的全局访问点单件模式的结构进包括Sin glet on。Sin glet

5、 on:被调用的单件对象。在单件模式中,通常由In sta nee (或Get In sta nee)方法负责对象的创建,该 方法应保证每个需要(单件)对象的客户端均能访问它。2.1.4单件模式在本程序中的应用与理解在服装定制系统中,单件模式主要用于数据库部分。该类的基本结构如下:public class Connectionprivate static Connection newConn;private static readonly object mylock= new object ();private Connection() public static Connection get

6、Conn();public int Insert( string str);public int Insert( string Name, string Pwd);public int Change( string Pwd, int ID);本程序中单件模式的Singleton类的类名为Connection。通过getConn()方法获得 该类的对象,保证了该类只有一个唯一实例。 Mylock 是为了多线程安全所做的 一个object对象。通过Insert()方法可以向数据库插入客户基本信息以及客户订 购的服装信息,通过change()方法,客户可以在登录该系统后修改自己的用户名 和密码。通过

7、单件模式的使用,我们深刻地体会到了单件模式的作用和适用范围:(1) 当类只能有一个实例并且用户可以从一个众所周知的访问点来访问它时。(2) 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码 就能使用一个扩展的实例时。2.2 工厂模式2.2.1 工厂模式的定义:工程模式是一种经常被用到的模式,根据工厂模式实现的类可以根据提 供的类生成一组类中的某一类的实例, 通常这一组类有一个公共的抽象父类, 并且实现了相同的方法,但是这些方法对不同的数据进行了不同的操作。首 先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然 后需要定义一个工厂类,工厂类可以通过条件生成不同的子

8、类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不用考虑返回的是哪个子 类的实例 。2.2.2 工厂模式的意图:工厂模式又称虚构造机(Virtual Constructor)。它定义一个用于创建对象 的接口,让子类决定实例化那一个类。工程模式使一个类的实例化延迟到其 子类。2.2.3 工厂模式的结构:(结构图)工 厂模式 的结构 包括 Factory、ConcreteFactory、Product 和 Con creteProduct 四部分,其中:Factory “抽象的工厂”角色,声明工厂的方法,该方法返回一个 Product类型的对象。Factory也可以定义一个工厂方法的默认

9、实现,它返回 一个默认的ConcreteProduct对象。可以调用工厂方法以创建一个Product对象。ConcreteFactory具体的工厂角色,创建具体产品的子工厂,重写工厂方法以返回一个ConcreteProduct实例。Product产品角色,定义工厂方法所创建的对象的接口。ConcreteProduct具体产品角色,实现 Product接口。在工厂模式中,产品的创建都是由Con creteFactory来完成的,通常每个Con creteFactory负责一种具体产品的创建,各个子工厂之间相互独立、职责 明确、互不影响。FactoryProduct-CreteProduct()+

10、Operation()75.1工厂模式结构图2.2.4工厂模式在本程序中的应用与理解:在本系统中,工厂模式用于的功能点为生产上衣和裤子,具体相关类的基本结构 如下:public abstract class AbsClothespublic abstract bool add( int ID, int Num, int Price);public interface IFactoryAbsClothes CreateClothes();public class Up:AbsClothespublic override bool add( int ID, int Num, int Price);

11、public class Down : AbsClothespublic override bool add( int ID, int Num, int Price);public class UpFac : IFactorypublic AbsClothes CreateClothes();public class DownFac:IFactorypublic AbsClothes CreateClothes();AbsClothes类是所有衣服的父类,Up和Dow分别为上衣和裤子,是AbsClothes 的子类。Factory类为所有具体工厂的抽象类,UpFa(和Down Fa为IFact

12、ory的子 类,是生产上衣和裤子的具体工厂。 当每次系统想获得上衣或裤子的具体对象时, 不是在主程序中直接用new来生成Up和Dowrt勺对象,而是通过调用UpFa(和 DownFa的CreateClothes方法来生成。由于AbsClothes和IFactory作为抽象父类, 当有新产品要添加的时候可以通过继承这两个父类来实现新产品的扩充, 而原来 的程序不用做出任何修改,这是符合面向对象程序设计的“开闭”原则的。通过 这次使用工厂模式,我们更加深刻的体会到了工厂模式的作用和适用范围:(1)当一个类不知道它所必须创建的对象的类信息的时候。(2)当一个类希望由它的子类来指定它所创建的对象的时候

13、。(3)当类将创建的对象的职责委托给多个帮助子类中的一个,并且希望将哪一 个帮助子类是代理者这一信息局部化的时候。2.3建造者模式2.3.1 建造者模式的定义 建造者模式用来创建复合对象, 并把复合对象的创建过程加以抽象, 通过子类继 承和重载的方式, 动态地创建具有复合属性的对象; 另一方面, 为了统一创建过程,又把对象创建的操作统一封装在名为Director所提供的方法里2.3.2建造者模式的意图将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示233建造者模式的结构建造者模式结构图从图中可以看出,建造者模式的结构包括四个部分:Builder, Con creteBuil

14、der,Director 和 Product。其中:Builder-为创建一个Product对象的各个部分指定抽象接口。ConcreteBuilder-实现Builder接口以构造和装配该产品的各个部件。定义并明确他所创建的表示。提供一个检索产品的接口。Director-构造一个使用Builder接口的对象。Product-表示被构造的复杂对象。Con creteBuilder创建该对象的内部表示并定义 它的装配过程。包含定义组成部件的类,包括将这些部件装配成最终的产品的接2.3.4 建造者模式在本程序中的应用与理解:建造者模式在本系统中所应用的模块为创建成套的衣服, 包括上衣和裤子, 具体

15、相关类的结构如下所示:public class Directorpublic void Construct(Builder builder);public abstract class BuilderpublicabstractvoidMadeShirt();publicabstractvoidMadeTrousers();publicabstractTaozhuang GetTao();public class Taozhuangprivate string shirt;public string Shirtget return shirt; set shirt =value ; priva

16、te string trousers;public string Trousersget return trousers; set trousers =value ; private int price;public int Priceget return price; set price = value ; public bool add( int ID, int Num);public class HighQ:BuilderprivateTaozhuang HQ = newTaozhuang();publicoverridevoid MadeShirt();publicoverridevo

17、id MadeTrousers();publicoverrideTaozhuang GetTao();public class MiddleQ : BuilderprivateTaozhuang MQ = newTaozhuang();publicoverridevoidMadeShirt();publicoverridevoidMadeTrousers();publicoverrideTaozhuang GetTao();public class LowQ : BuilderprivateTaozhuang LQ= newTaozhuang();publicoverridevoidMadeS

18、hirt();publicoverridevoidMadeTrousers();public override Taozhuang GetTao();Builder类为建造者的抽象类,HighQ, MiddleQ,以及LowQ为Builder的子类, 为具体的建造者,分别代表生产高档套装,中档套装以及低档套装。套装类Taozhuang有三个主属性,分别是上衣 shirt,裤子trousers 和价格price,建 造者 Builder 有两个方法, MadeShirt() 方法用于生产上衣, MadeTrousers() 方 法用于生产裤子。 Director 类调用 Builder 类的两个

19、方法, 用于生产套装产品。 建造者模式在生成某一类有相同生产流程, 但具体方法不同的产品或对象上具有 非常重要的作用, 使用建造者模式可以使得在产生新的产品生产方法时, 简单的 扩充进来,而源程序不需要做任何更改, 这也是符合面向对象程序设计的 “开闭” 原则的,有了建造者模式, 程序可是方便的以较小的成本扩充新的功能。 通过使 用建造者模式,我们深刻的体会到了它的重要意义以及适用范围:(1)需要生成的产品对象有复杂的内部结构。(2)创建复杂对象的算法稳定,或建造者模式可以强迫生成一定的顺序。(3)在对象创建的过程中会使用到系统中的一些其他对象,这些对象在产品对 象的创建过程中不易得到。三 小结通过对软件设计模式的学习, 我们知道了设计模式可以使人们简单方便的复用成 功的设计和体系结构, 他帮助设计者作出有利于系统复用的选择, 避免设计损害 了系统的复用性。 我们还学习到了设计模式遵循的原则, 开闭原则, 单一职责原 则,里氏替换原则和依赖倒置原则。 学习到了设计模式的三种类型: 创建型模式、 结构型模式和行为型模式。 在我们设计的系统中, 主要使用了创建型模式, 深刻 的体会到了设计模式给系统复用带来的巨大意义。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!