欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件测试与体系结构报告(共38页).docx

    • 资源ID:8935518       资源大小:411.87KB        全文页数:38页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试与体系结构报告(共38页).docx

    精选优质文档-倾情为你奉上本科生实验报告实验课程 软件设计与体系结构 学院名称 信息科学与技术学院 专业名称 软件工程 学生姓名 学生学号 指导教师 实验地点 6A502 实验成绩 二零一五年一月十五日软件设计与体系结构实验报告摘要通过这系列的实验让我们能够在实际运用环境中理解和掌握软件设计与体系结构的分析和设计方法,以及掌握面向对象系统分析和设计的UML建模语言,来实现对某一信息系统进行系统分析和设计。关键词:UML;java语言;算法;编程。第1章 工厂模式1.1 简单工厂模式1.1.1要求设计一个任务创建仓。当用户在仓门口喊一声:“汉子!”该仓就创建一个男性角色当用户喊“妹子!”,该仓就创建一个女性角色当用户喊“随便!”,该仓就随机创建一个角色性别1.1.2代码Women.javapublic class women extends SimpleFactoryvoid CreateCharator()System.out.println("已创建一个女性角色!");man.javapublic class man extends SimpleFactory void CreateCharator()System.out.println("已创建一个男性角色!");Person.javaimport java.util.Scanner;public class Person public static void main(String args)Scanner reader = new Scanner(System.in);System.out.println("请输入你要创建的角色(“汉子”、“妹子”或“随便”):");String s = reader.next();reader.close();if(s.equals("汉子")man men = new man();men.CreateCharator();else if(s.equals("妹子")women wm = new women();wm.CreateCharator();else if(s.equals("随便")int n=(int)(Math.random()*10)%2);if(n = 0)man men = new man();men.CreateCharator();elsewomen wm = new women();wm.CreateCharator();SimpleFactory.javapublic abstract class SimpleFactory abstract void CreateCharator();1.1.3UML1.2 工厂模式1.2.1要求设计一个游戏职业的构造器,可以为用户构造不同的职业职业有,建筑师、魔法师、医师、金工技师、厨师。请根据用户传递的角色职业信息和姓名,为用户生成不同的职业1.2.2代码metalworkingTechnicians.javapublic class metalworkingTechnicians extends Gamevoid build()System.out.println("已创建一个金工技师角色! 名字为:"+name);magician.javapublic class magician extends Gamevoid build()System.out.println("已创建一个魔法师角色! 名字为:"+name);Game.javapublic abstract class Game String name;abstract void build();architect .javapublic class architect extends Gamevoid build()System.out.println("已创建一个建筑师角色! 名字为:"+name);cook .javapublic class cook extends Gamevoid build()System.out.println("已创建一个厨师角色! 名字为:"+name);doctor.javapublic class doctor extends Gamevoid build()System.out.println("已创建一个医生角色! 名字为:"+name);Factory.javaimport java.util.Scanner;public class Factory public static void main(String args)System.out.println("请选择要创建的角色:1、建筑师 2、魔法师 3、医师 4、金工技师 5、厨师");int i;Scanner reader = new Scanner(System.in);i = reader.nextInt();if(i =1)architect myarchitect = new architect();System.out.print("请输入角色名字:");myarchitect.name = reader.next();myarchitect.build();else if(i =2)magician mymagician = new magician();System.out.print("请输入角色名字:");mymagician.name = reader.next();mymagician.build();else if(i =3)doctor mydoctor = new doctor();System.out.print("请输入角色名字:");mydoctor.name = reader.next();mydoctor.build();else if(i =4)metalworkingTechnicians mymetalworkingTechnicians = new metalworkingTechnicians();System.out.print("请输入角色名字:");mymetalworkingTechnicians.name = reader.next();mymetalworkingTechnicians.build();else if(i =5)cook mycook = new cook();System.out.print("请输入角色名字:");mycook.name = reader.next();mycook.build();elseSystem.out.println("创建失败!");reader.close();1.2.3UML1.3抽象工厂模式1.3.1要求为游戏人物创建不同的外观分为:服饰、头发、眼镜、肤色、身高要求不同的职业有不同的外观范围,同一职业外观相同。也可以设计成不同职业不同外观,同一职业根据等级不同,外观也有细微差异(如头发长短、瞳孔颜色深浅、身高高矮、服饰配饰多少的差异等等)1.3.2代码clothes.javapublic interface clothes void Clothestype();cookBuild.javapublic class cookBuild extends Factory implements clothes,eye,hair,skin,heightpublic void Clothestype()Clothestype = "厨师服"public void Eyecolor()Eyecolor = "黑色眼睛"public void Haircolor()Haircolor = "黑色头发"public void Skincolor()Skincolor = "黄色皮肤"public void Heightcolor() Heightcolor = "身高177cm"void CreateClothes() System.out.println("已创建厨师角色!"); System.out.print(Clothestype+'t');void CreateHair() System.out.print(Haircolor+'t');void CreateEye() System.out.print(Eyecolor+'t');void CreateSkin() System.out.print(Skincolor+'t'); void CreateHeight() System.out.print(Heightcolor+'t'); doctorBuild.javapublic class doctorBuild extends Factory implements clothes,eye,hair,skin,heightpublic void Clothestype()Clothestype = "医生服"public void Eyecolor()Eyecolor = "蓝色眼睛"public void Haircolor()Haircolor = "棕色头发"public void Skincolor()Skincolor = "白色皮肤"public void Heightcolor() Heightcolor = "身高180cm"void CreateClothes() System.out.println("已创建厨师角色!"); System.out.print(Clothestype+'t');void CreateHair() System.out.print(Haircolor+'t');void CreateEye() System.out.print(Eyecolor+'t');void CreateSkin() System.out.print(Skincolor+'t'); void CreateHeight() System.out.print(Heightcolor+'t'); eye.javapublic interface eye void Eyecolor();Factory.javapublic abstract class Factory String Clothestype;String Eyecolor;String Haircolor;String Skincolor;String Heightcolor;abstract void CreateClothes();abstract void CreateHair();abstract void CreateEye();abstract void CreateSkin();abstract void CreateHeight();hair.javapublic interface hair void Haircolor();height.javapublic interface height void Heightcolor();shixian.javaimport java.util.Scanner;public class shixian public static void main(String args)Scanner reader = new Scanner(System.in);System.out.println("请选择要选择的角色:1、厨师 2、医生");int i=reader.nextInt();reader.close();if(i = 1)cookBuild cook= new cookBuild();cook.Clothestype();cook.Eyecolor();cook.Haircolor();cook.Skincolor();cook.Heightcolor();cook.CreateClothes();cook.CreateHair();cook.CreateEye();cook.CreateSkin();cook.CreateHeight();else if(i = 2)doctorBuild doctor = new doctorBuild();doctor.Clothestype();doctor.Eyecolor();doctor.Haircolor();doctor.Skincolor();doctor.Heightcolor();doctor.CreateClothes();doctor.CreateHair();doctor.CreateEye();doctor.CreateSkin();doctor.CreateHeight();elseSystem.out.println("创建失败!请输入正确的序号");skin.javapublic interface skin void Skincolor();1.3.3UML第2章 设计模式2.1单例模式2.1.1要求学号是我们每个同学的唯一标示,要求同学们在入学的时候就分配学号,在随后的学习生活中,不允许分配学号,只能使用该学号,例如办理图书证,办理饭卡,选课等活动。要求采用该机制,实现学号的单例2.1.2代码public class StudentCard String str;private static StudentCard stucard=null;private StudentCard()public synchronized void setStudentCardNo(String str1)str=str1;System.out.println("卡号:"+str);public String getStudentCardNo()return str;public void usecard(String str2)if(str2.equals("借书") System.out.println();System.out.println("现在执行借书功能,请按要求操作。");System.out.println("注意:一次最多只能借20本书,工具书不外借,借书日期为60天,到期可以续借。");if(str2.equals("选课")System.out.println();System.out.println("现在执行选课功能,请安要求操作。");System.out.println("注意:选修课最多只能选3门,多选或错选的课程将会被系统清理。");if(str2.equals("充卡")System.out.println();System.out.println("现在执行充卡功能,请安要求操作。");System.out.println("注意:请保管好自己的饭卡,如果丢失请立即挂失,以免不必要的损失。");public static StudentCard getStuCard()if(stucard=null)stucard=new StudentCard();stucard.setStudentCardNo("4 姓名:杨鹤 学院:信息科学与技术学院 专业:软件工程 ");return stucard;MainTest.javapublic class test public static void main(String args)StudentCard card1=StudentCard.getStuCard();card1.usecard("借书");card1.usecard("选课");card1.usecard("充卡");2.1.3UML2.2生成器模式2.2.1要求KFC点餐足球教练:在一场足球比赛中有各种的布阵方法(442,4231,433);教练在开场比赛之前确定阵型,比赛中可以随时暂停更换队形;当有新队型产生的时候,可以很容易让教练学会新的队形并使用。2.2.2代码package KFC;public class Meal String food;String drink;void setFood(String food)this.food = food;void setDrink(String drink)this.drink = drink; String getFood()return food;String getDrink()return drink;package KFC;public abstract class MealBuilder Meal meal = new Meal();abstract void buildFood();abstract void buildDrink();Meal getMeal()return meal;package KFC;public class subMealBuilderA extends MealBuildervoid buildFood()meal.setFood("A,food");void buildDrink()meal.setDrink("A.drink");package KFC;public class subMealBuilderB extends MealBuildervoid buildFood()meal.setFood("B.food");void buildDrink()meal.setDrink("B.drink");package KFC;public class Waiter MealBuilder mb;void setMealBuilder(MealBuilder mb)this.mb = mb;Meal construct()mb.buildDrink();mb.buildFood();return mb.getMeal();package KFC;import java.util.Scanner;public class test public static void main(String args)MealBuilder s;Waiter waiter = new Waiter();System.out.println("选择套餐类型:A或B");Scanner reader = new Scanner(System.in);String type = reader.next();reader.close();if(type.equals("A")|type.equals("a")s=new subMealBuilderA();elses = new subMealBuilderB();waiter.setMealBuilder(s);System.out.println(waiter.construct().getDrink()+'t'+waiter.construct().getFood();Footballimport java.util.Scanner;public class Build extends TypeString a;void BuildType()Scanner reader = new Scanner(System.in);String s;System.out.println("请教练确定队形:");s = reader.next();Type.setType(s);System.out.println("队形"+Type.getType();System.out.println("更换队形?");a = reader.next();reader.close();public class FootballCoach String Type;void setType(String UType)Type = UType;String getType()return Type;public abstract class Type FootballCoach Type = new FootballCoach();abstract void BuildType();public class test public static void main(String argsp)boolean answer = false;Build m = new Build();dom.BuildType();if(m.a.equals("y")|m.a.equals("Y")answer = true;elseanswer = false;while(answer);2.2.3UML2.3原型模式2.3.1要求为每个报道的新同学设计一个原型,新生报到的时候进行原型复制新生可以修改部分参数,不会影响其他原型拷贝2.3.2代码public class StudentF implements CloneableString name = "zhang",age = "18",sex = "男",classN = "00"public Object clone()Object object = null;tryobject = super.clone();catch(CloneNotSupportedException exception)System.err.println("Not support cloneable");return object;public void setName(String n)name = n;public void setAge(String a)age = a;public void setSex(String s)sex = s;public void setClassN(String c)classN = c;public void show()System.out.println(name+'t'+age+'t'+sex+'t'+classN);public class test public static void main(String args)StudentF student0 = new StudentF();student0.show();StudentF student1 = new StudentF();student1.setName("li");StudentF student2 = new StudentF();student2 = (StudentF)student1.clone();student2.show();student2.setSex("女");student2.show();2.3.3UML2.4适配器模式2.4.1要求为电源插座(工具箱)开发一个适配器,使该插头可以同时为交流电设备(三相、两相)供电为该电源插座(工具箱)开发另一个适配器,可以为USB设备供电。分别采用类适配器和对象适配器实现2.4.2代码public class toolBox public void electricityOut()System.out.println("充电中");public class Adapter extends toolBox implements equipmentpublic void electricityIn()electricityOut();public interface equipment public abstract void electricityIn();public class test public static void main(String args)Adapter adapter = new Adapter();adapter.electricityIn();2public class Adapter extends USBprivate toolBox box;public Adapter(toolBox box)this.box = box;public void electricityIn()box.electricityOut();public class toolBox public void electricityOut()System.out.println("充电中");public class USB public void electricityIn();public class test public static void main(String args)toolBox b = new toolBox();Adapter usb = new Adapter(b); usb.electricityIn();2.4.3UML2.5组合模式2.5.1要求人品最好的刘老师需要有人帮忙完成一项工作,但是她不知道谁可以不帮忙,于是将该指令传达给大班班长。大班班长、分班班长、寝室长、寝室成员,逐层询问查找,工作会落实到具体的成员身上。在查找过程中,不管是中间的管理人员,还是后面的执行人员,都无差别地执行相应程序请将该班级模型描述出来,以便以后刘老师无差别,不用思考地分配其他的任务。2.5.2代码package Client;import Component.*;import Composite.*;import Leaf.*;public class Client public static void main(String args) MyElement element1=new ChiefMonitor(); element1.clean(); element1.newoperation(); MyElement element2=new Monitor(); MyElement element3=new DormitoryChief(); MyElement element4=new DormitoryMember(); ChiefMonitor element5=new ChiefMonitor(); element5.add(element2); element5.add(element3); element5.add(element4); element5.operation(); package Component;public abstract class MyElement public abstract void clean();public abstract void newoperation();package Composite;import java.util.ArrayList;import Component.*;public class ChiefMonitor extends MyElementprivate ArrayList list = new ArrayList();public void clean()System.out.println("*");System.out.println("我是大班班长,我在为刘老师檫黑板。");public void newoperation()System.out.println("我是大班班长,我还能为刘老师做其它的事情。");System.out.println("*");public void add(MyElement element)list.add(element);public void remove(MyElement element)list.remove(element);public void operation()for(Object obj:list)(MyElement)obj).clean();(MyElement)obj).newoperation();package Leaf;import Component.*;public class DormitoryChief extends MyElementpublic void clean()System.out.println("*");System.out.println("我是寝室长,我在为刘老师收作业。");public void newoperation()System.out.println("我是寝室长,我还能为刘老师做其它的事情。");System.out.println("*");package Leaf;import Component.*;public class

    注意事项

    本文(软件测试与体系结构报告(共38页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开