设计模式大作业报告

合集下载

大作业设计报告书(嵌入式系统原理与开发)

大作业设计报告书(嵌入式系统原理与开发)

大作业设计报告书题目:嵌入式系统原理与开发院(系):物联网工程学院专业: 班级:姓名:指导老师:设计时间: 10-11 学年 2 学期20XX年5月目录1.目的和要求 (3)2.题目内容 (3)3.设计原理 (4)4.设计步骤 (5)4.1 交通指示灯设计 (5)4.2 S3C44B0X I/O 控制寄存器 (6)4.3 红绿灯过渡代码: (8)4.4 电源电路设计 (10)4.5 系统复位电路设计 (11)4.6 系统时钟电路设计 (11)4.7 JTAG 接口电路设计 (12)4.8串口电路设计 (12)5.引脚分类图 (13)6.参考文献 (13)1.目的和要求ARM技术是目前嵌入式应用产业中应用十分广泛的先进技术,课程开设的目的在于使学生在了解嵌入式系统基础理论的前提下能够掌握ARM处理器的汇编语言和c语言的程序设计方法,掌握S3C44B0X芯片的基本硬件结构特点和接口设计方法,同时熟悉ARM开发环境,学习ARM的硬件设计和软件编程的基本方法,为今后从事相关的应用与研究打下基础。

通过大作业要达到如下目的:一、掌握ARM的开发工具使用和软件设计方法。

二、掌握ARM处理器S3C44B0X的原理和GPIO接口设计原理。

三、掌握C语言与的ARM汇编语言的混合编程方法;四、培养学生选用参考,查阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

五、通过课程设计,培养学生严肃认真的工作作风。

2.题目内容题目:交通指示灯系统设计功能描述:1.用S3C44B0X的GPIO设计相关电路;2.设计相关的软件并注释;3.实现十字路口2组红、黄、绿交通灯交替显示。

编程提示:1.交通灯可用发光二极管代替;2.电路可部分参照实验电路;3.时间控制可以使用软件循环编程解决。

嵌入式大作业红绿灯实验模拟场景交通指示灯,需要东西南北四个方向的红绿灯配合交替显示。

以上海交通指示灯为例,绿灯向黄灯过渡时,绿灯会闪几下,然后绿灯灭,黄灯亮。

大作业报告

大作业报告

华北科技学院《程序设计》大作业班级: 电商B112 姓名: 赵世明学号:201104064223设计题目:评语:____________________________________ ________________________________________________________________________________________________________________________________________________________________________________评阅成绩: ___________ 评阅教师: ___________目录1 引言 (3)1.1设计选题 (3)1.2设计的目的 (3)1.3本选题的设计背景 (3)2 系统分析与设计 (3)2.1 系统功能需求分析 (3)2.2 系统功能模块设计 (4)2.3 系统开发运行环境 (5)3 数据库设计 (5)4 模块详细设计与实现 (9)4.1 登录模块 (9)4.2管理员设置模块 (10)4.3读者档案管理 (12)4.4图书借还模块 (14)4.5图书借阅档案查询模块 (19)4.6 更改口令模块 (21)结论 (24)参考文献 (25)1 引言1.1设计选题《图书借阅管理系统》1.2设计的目的通过本设计,掌握使用技术进行网络程序设计的基本知识,如:服务器控件、内部对象、数据库建立、数据库的读取、数据显示等;熟悉网络程序设计每个步骤中的任务和实施方法,并加深对C#语言的理解。

通过设计一个图书借阅管理系统,进一步熟悉网络环境下的程序设计方法,综合训练动手能力,提高分析问题、解决实际问题的能力。

也同时了解图书借阅的一个较为整体和全面的过程。

1.3本选题的设计背景开发这个小图书管理系统是为了进一步提高图书信息管理的效率和质量,通过学习这门课程将理论运用到实践。

实现信息管理的系统化、规范化、自动化只需一到二名管理员即可操作系统,节省大量人力;可以迅速查到所需信息。

软件设计模式与软件体系结构实验报告

软件设计模式与软件体系结构实验报告

软件设计模式与软件体系结构实验报告《软件体系结构》大作业(1)学院:软件学院课程名称:软件体系结构专业班级:学生姓名:学号:学生姓名:学号:指导教师:完成时间:年月日评分表1、叙述各小组成员完成本题目的分工协作情况。

小组中的每个成员都先理解题目要求及涉及的设计模式,并一起完成代码编写。

另外,组长负责文档制作。

2、评分表作业正文需要包括以下内容:1、作业题目内容的详细描述。

2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。

3、画出完成本题目所设计程序的设计类图;如还有其它图,也一并画出。

4、完成本题目所设计的程序代码。

5、程序运行的典型界面截图1、作业题目内容的详细描述。

【作业2.1-1】例2.3为使用工厂方法模式设计的汽车保险管理应用程序实例。

现在需要扩展例2.3的设计图,添加一个名为LuxuryCarInsurance 的类,而且需要编写此类和其它需要添加的类的代码,详细要求参见光盘的相应作业部分。

【作业 2.1-1】在例 2.4中,设计而且实现了豪华(Super)和中等(Medium)别墅(House)与公寓(Condo)的查询。

要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),而且编写代码,实现相应的查询功能,详细要求参见光盘的相应作业部分。

2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。

【作业2.1-1】采用的是工厂方法模式【作业2.1-2】采用的是抽象方法模式3、画出完成本题目所设计程序的设计类图;如还有其它图,也一并画出。

【作业2.1-1】采用的是工厂方法模式。

设计模式实验报告总结(3篇)

设计模式实验报告总结(3篇)

第1篇一、实验背景随着软件工程的不断发展,设计模式作为一种解决软件开发中常见问题的有效方法,越来越受到广泛关注。

本次实验旨在通过学习设计模式,提高编程能力,掌握解决实际问题的方法,并加深对设计模式的理解。

二、实验目的1. 理解设计模式的基本概念和分类;2. 掌握常见设计模式的原理和应用;3. 提高编程能力,学会运用设计模式解决实际问题;4. 培养团队协作精神,提高项目开发效率。

三、实验内容本次实验主要涉及以下设计模式:1. 创建型模式:单例模式、工厂模式、抽象工厂模式、建造者模式;2. 结构型模式:适配器模式、装饰者模式、桥接模式、组合模式、外观模式;3. 行为型模式:策略模式、模板方法模式、观察者模式、责任链模式、命令模式。

四、实验过程1. 阅读相关资料,了解设计模式的基本概念和分类;2. 分析每种设计模式的原理和应用场景;3. 编写代码实现常见设计模式,并进行分析比较;4. 将设计模式应用于实际项目中,解决实际问题;5. 总结实验经验,撰写实验报告。

五、实验结果与分析1. 创建型模式(1)单例模式:通过控制对象的实例化,确保一个类只有一个实例,并提供一个访问它的全局访问点。

实验中,我们实现了单例模式,成功避免了资源浪费和同步问题。

(2)工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。

实验中,我们使用工厂模式创建不同类型的交通工具,提高了代码的可扩展性和可维护性。

(3)抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要指定具体类。

实验中,我们使用抽象工厂模式创建不同类型的计算机,实现了代码的复用和扩展。

(4)建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

实验中,我们使用建造者模式构建不同配置的房屋,提高了代码的可读性和可维护性。

2. 结构型模式(1)适配器模式:将一个类的接口转换成客户期望的另一个接口,使原本接口不兼容的类可以一起工作。

UML大作业实验报告

UML大作业实验报告

UML建模大作业实验报告组号:选题名:E-store网上书店系统小组成员.1.需求模型从用户角度描述系统功能的用例意见反馈(from Use Case View)从系统管理员角度描述系统功能的用例订货通知(from Use Case View)(from Use Case View) 2.分析模型2.1.架构模型E-store网上书店包图系统辅助包图2.2.分析机制2.3.关键抽象2.4.用例实现2.4.1.注册用例的用例1. 用例名注册1.1 简要描述本用例由游客触发的,允许顾客在该书店注册成为会员用户,实现会员的一些权限。

2. 事件流2.1 基本流2.1.1 顾客进行注册顾客在登陆系统时必须先注册一个账号,才能进行登录查询。

2.2 备选流2.2.1 注册账号无效如果顾客登陆账号已存在或者验证码错误,提示顾客无效。

本用例结束。

3. 特殊需求没有和本用例有关的特殊需求。

4. 前置条件在针对登陆书店,必须先注册成为会员5. 后置条件无。

6. 扩展点没有和本用例有关的扩展点。

·2.4.2.图书浏览用例的用例1.用例名图书浏览1.1简要描述本用例由游客、会员触发的,允许顾客在书店页面浏览书店的概况和书籍种类。

2.事件流2.1基本流2.1.2顾客进行图书浏览顾客在书店页面浏览书店概况和书籍种类。

本用例结束2.2备选流2.2.1浏览无效如果顾客浏览页面不存在或者方式不正确,提示顾客浏览无效。

本用例结束。

3.特殊需求没有和本用例有关的特殊需求。

4.前置条件无。

5.后置条件无。

6.扩展点没有和本用例有关的扩展点。

·2.4.3.图书查询用例的用例1.用例名图书查询1.1简要描述本用例由游客、会员触发的,允许顾客在书店页面查询书籍信息。

2.事件流2.1基本流2.1.2顾客进行图书查询顾客在书店页面查询书店里书籍种类。

本用例结束2.2备选流2.2.1查询无效如果顾客查询书籍不存在或者方式不正确,提示顾客查询无效。

JAVA程序设计大作业报告

JAVA程序设计大作业报告
JAVA程序设计大作业报告
过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }

大作业设计报告

大作业设计报告

程序设计基础(一)大作业设计报告一、题目要求设计一个程序,实现学生成绩管理功能。

基本功能:1)提供菜单式的用户界面2)输入课程名称3)输入某门课程的成绩4)增加或删除学生记录5)输入姓名或学号,查找某个学生的成绩6)对学生成绩按照姓名、学号或某门成绩排序7)计算某个学生的平均绩点8)统计某门课程成绩在100-90,89-80,79-70,69-60,60以下各分数段的人数并显示其它:全部数据可保存到文件二、设计方案基本思路:采用二叉树为基本存储结构。

每个学生的课程信息和成绩用结构保存,再将所有学生信息构成一棵二叉树;全部课程信息用一个链表保存,便于统一操作。

在这种数据结构的基础上,进行进一步的功能实现。

框架结构:在Task_main.cpp中进行主菜单的处理,将其他功能的具体实现分别放到Task_deeds.cpp和Task_filework.cpp中,利用头文件filework.h和deeds.h将它们关联起来,实现模块化设计和操作。

三、具体功能及实现包括9大基本功能:(1)从文件中读入数据初始化将初始化信息保存到文件中,利用文件输入这些信息,对程序中的学生信息等进行初始化。

调用filework.cpp中的fileIn()函数实现信息的读入。

读入的同时对输入格式进行判错,以保证程序正常运行。

(2)输入课程名称或删除课程这一功能在EditCourses()函数中实现,包括输入课程名称InputCourses()和删除课程DeleteCourses()。

这涉及到对课程链表headOfCourse的增加结点和删除结点的操作。

增加或删除课程成功后,会调用AddCourses()或DeleteCourseOfStudent()对相应的学生课程信息进行更新。

(3)输入或查询某门课程的成绩这一功能在ScoresOfCourse()函数中实现,包括输入课程成绩InputScoresOfCourse()和查询成绩SearchOfCourse()。

软件设计模式大作业样例

软件设计模式大作业样例

设计模式大作业课程名称:软件设计模式设计题目:公司经费申请院系:计算机科学与信息工程学院学生姓名:学号:专业班级:软件工程13-1指导教师:**2016年6月软件设计模式任务书目录一、系统目标 ...................................................................................... 错误!未定义书签。

1. 设计目的......................................................................................... 错误!未定义书签。

2. 需求描述......................................................................................... 错误!未定义书签。

二、系统模块选择 ............................................................................... 错误!未定义书签。

1. 需求分析......................................................................................... 错误!未定义书签。

2. 选用设计模式 (2)(1)模板方法模式 (2)(2)职责链模式......................................................................... 错误!未定义书签。

(3)观察者模式 (3)三、系统设计 (4)1. 系统功能模块设计 (4)四、系统实现 (5)1.模板方法模块及其实现类 (5)2.职责链模块及其实现类 (6)3.观察者模块及其实现类 (9)4.事件处理程序 (10)五、系统设计总结 (11)1. 实现的功能和优点 (11)2. 不足之处 (12)3. 完成心得 (12)六、参考文献 (12)参考文献 (12)一、系统目标1.设计目的通过本课程设计,加深对软件设计课程的理解,熟练掌握和巩固所学的各种设计模式,培养自我动手、查阅技术文献、资料、手册以及编写技术文献的能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《设计模式》课程大作业报告姓名:陈明专业:软件工程班级:1202日期:2015年5月29日西安欧亚学院2014—2015学年第二学期考试试卷专业:软件工程 课程:设计模式 年级:12级完成一个综合项目程序,其中使用所学设计模式两个或者两个以上。

要求在文档中首先给出项目程序完成的功能或者解决的问题,然后详细说明模式使用的具体情况,即角色和相应程序代码。

文档赋分标准如下:1、程序功能阐述明确,分析清楚。

(15分)2、使用两种设计模式,使用得当,并给出相应的角色及程序代码,程序代码有恰当的注释。

(60分)3、文档格式正确,排版清晰。

(15分)4、如果使用超过两种设计模式,并且使用正确。

(10分)说明:以上总分为个人的期末成绩,本课程个人总成绩=平时成绩*40%+期末成绩*60%。

号_____________ 班级___________ 姓名________ 考场号____ 座位号____- -- - - - -- - - - - - - -- - - -- -- -密 ○- - - - - - - - - - - - - - -- - - -- -- - -封 ○- - - - - - - - - - - - -- - - --- - - -- -线 ○- - - - - - - - - - -- - - - -- - - - -- - - -- - - --用户和药店以及制药厂交互的例子一、程序功能描述工厂方法模式:为某药店开发的应用程序需要使用Drug类的某个子类的实例为用户提供药品,而不直接使用Drug的子类的构造方法直接创造对象。

因为药店没有能力给出药品的各个成分的含量,只有药厂才有这样的能力。

抽象工厂模式:通过创建多个药品工厂的类,让用户可以和创建的对象的类进行脱耦,为用户提供多个相关的药品,方便用户联合使用它们,用户不需要知道药品具体的生产过程将“工厂方法模式”与“抽象工厂模式”相结合,实现用户和创建对象的类脱耦,并且为用户提供多个相关的对象。

买药的用户只需要知道去药店买什么药就行了,不必去药厂,也不需要知道要的成分,只需要去药店,然后药店就会提供所需药品的信息,包括成分和生产厂商以及对应的生产线。

二、程序代码文件1:Drug.javapublic abstract class Drug { //抽象产品类String constitute;String name;public String getConstitute() { //获得药品成分return constitute;}public String getName() { //获取药品名称return name;}public abstract String getType(); //获取药品类型}文件2:Paracetamol.javapublic class Paracetamol extends Drug{ //具体产品类String part1 = "每粒含乙酰氨基酚";String part2 = "每粒含咖啡因";String part3 = "每粒含人工牛黄";String part4 = "每粒含马来酸氯苯";String type;public Paracetamol(String name, int[] a) { //具体药品,并创建数组用来存放药品的各种成分含量 = name;part1 = part1 + ":" + a[0] + "毫克\n";part2 = part2 + ":" + a[1] + "毫克\n";part3 = part3 + ":" + a[2] + "毫克\n";part4 = part4 + ":" + a[3] + "毫克\n";constitute = part1 + part2 + part3 + part4;}public Paracetamol() { //具体药品所在生产线System.out.println("氨加黄敏胶囊是使用1号生产线生产的。

");}@Overridepublic String getType() { //获取药品类型return type = "氨加黄敏胶囊";}}文件3:Amorolfine.javapublic class Amorolfine extends Drug{ //具体产品类String part1 = "每粒含甲硝唑";String part2 = "每粒含人工牛黄";String type;public Amorolfine(String name, int[] a) { = name;part1 = part1 + ":" + a[0] + "毫克\n";part2 = part2 + ":" + a[1] + "毫克\n";constitute = part1 + part2;}public Amorolfine() {System.out.println("甲硝唑胶囊是使用2号生产线生产的。

"); }@Overridepublic String getType() {// TODO Auto-generated method stubreturn type = "甲硝唑胶囊";}}文件4:DrugCreator.javapublic interface DrugCreator { //构造者public abstract Drug getDrug(); //工厂方法}文件5:ParaDrugCreator.javapublic class ParaDrugCreator implements DrugCreator { // 具体构造者public Drug getDrug() { //返回具体药品以及药品成分int[] a = { 250, 15, 1, 10 };Drug drug = new Paracetamol("氨加黄敏胶囊", a);return drug;}}文件6:AmorDrugCreator.javapublic class AmorDrugCreator implements DrugCreator { //具体构造者public Drug getDrug() {int [] a = {200,5};Drug drug = new Amorolfine("甲硝唑胶囊", a);return drug;}}文件7:DrugFactory.javapublic abstract class DrugFactory { //抽象工厂类public abstract Drug createDrug();}文件8:AmorolfineFactory.javapublic class AmorolfineFactory extends DrugFactory { //具体工厂类public Drug createDrug() { //工厂生产药品方法return new Amorolfine();}}文件9:ParacetamolFactory.javapublic class ParacetamolFactory extends DrugFactory{ //具体工厂类public Drug createDrug() { //工厂生产药品方法return new Paracetamol();}}文件10:Application.javapublic class Application {public static void main(String[] args) { //应用程序DrugFactory factory = new ParacetamolFactory();Drug paracetamol = factory.createDrug();System.out.println("生产线生产的药品类型:"+paracetamol.getType());DrugCreator creator = new ParaDrugCreator();Drug drug = creator.getDrug();System.out.println(drug.getName() + "的成分:");System.out.println(drug.getConstitute());factory = new AmorolfineFactory();Drug amorolfine = factory.createDrug();System.out.println("生产线生产的药品类型:"+amorolfine.getType());Creator = new AmorDrugCreator();drug = creator.getDrug();System.out.println(drug.getName() + "的成分:");System.out.println(drug.getConstitute());}}六、程序结果。

相关文档
最新文档