当前位置:文档之家› 软件设计模式大作业样例

软件设计模式大作业样例

软件设计模式大作业样例
软件设计模式大作业样例

设计模式大作业

课程名称:软件设计模式

设计题目:公司经费申请

院系:计算机科学与信息工程学院学生姓名:

学号:

专业班级:软件工程13-1

指导教师:高原

2016年6月

软件设计模式任务书

目录

一、系统目标 (1)

1. 设计目的 (1)

2. 需求描述 (1)

二、系统模块选择 (1)

1. 需求分析 (1)

2. 选用设计模式 (2)

(1)模板方法模式 (2)

(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.设计目的

通过本课程设计,加深对软件设计课程的理解,熟练掌握和巩固所学的各种设计模式,培养自我动手、查阅技术文献、资料、手册以及编写技术文献的能力。通过运用设计模式来解决实际系统中遇到的问题,从而具备利用计算机编程分析解决综合性实际问题的初步能力。

2.需求描述

本系统的主要目的在与应用设计模式解决公司经费申请问题,可以了解申请经费的具体流程为申请人先填写申请单,然后交给领导审批,如果申请批准下来,领导会通知申请人审批通过,然后申请人去财务领取费用,财务部给于其拨款,如果没有批准下来,领导会通知申请人审批未通过。不同级别的领导,对于审批的额度是不一样的,比如,项目经理只能审批500元以内的申请;部门经理能审批1000元以内的申请;而总经理可以审核3000元以内的申请,否则不通过。系统中总共用到三种设计模式,分别是模板方法模式,职责链模式,观察者模式。

模板方法模式定义了一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。申请经费的具体流程是固定的,写申请单,审核,得到通知这三个过程,只是审核过程不同。职责链模式鉴于不同级别的领导,对于审批的额度是不一样,使其各自的职责权限更加清晰明了。观察者模式是一种一对多依赖关系,一个对象状态发生改变时,其相应依赖对象得到通知并自动更新。

二、系统模块选择

1. 需求分析

根据问题的描述,可以确定系统的大致业务逻辑。如下:需要申请活动费用,按照固定工作流程进行申请,给出申请金额,由领导根据各自的职责权限进行审核,并将结果告知申请人,财务部根据结果给予拨款。将结果返回到客户端,呈现给用户。

2.选用设计模式

根据需求分析,该公司经费申请可以采用到三种设计模式,分别是模板方法模式,职责链模式,观察者模式。

(1)模板方法模式

采用模板方法模式的原因是它定义了一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。公司申请活动经费的流程是固定的,由申请人先填写申请单,然后交给领导审批,最后得到审批结果,作出相应行动。用模板方法模式使其结构清晰,提高了代码的复用性。模式结构图如图1-1:

图1-1 模板方法模式结构图

(2)职责链模式

采用职责链模式的主要原因是对于审核经费申请单,由上级领导进行处理,而不同级别的领导,对于审批的额度是不一样的。职责链模式避免请求发送者和接收者耦合在一起,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。这样降低了耦合度,简化对象的相互连接,增强给对象指派职责的灵活性。模式结构图如图1-2:

图1-2职责链模式结构图

(3)观察者模式

采用观察者模式的主要原因是可以实现表示层和数据逻辑层的分离,并定义可稳定的消息更新传递机制,抽象了更新接口。在观察目标和观察者之间建立一个抽象的耦合。模式结构图如图1-3:

图1-3观察者模式结构图

三、系统设计

1.系统功能模块设计

根据需求分析,公司经费申请可分为三个模块,主要如下:

◆申请人填写经费申请单:向上级领导提交申请。

◆领导审核:根据职责权限不同,按各自的管理范围一一送派审核。

◆收到审核结果通知:收到上级领导对经费申请单批准与否的信息。

图2-1 公司经费申请模块

四、系统实现

1.模板方法模式和其实现类

模板方法模式贯穿在整个系统中,公司经费申请由三个具体部分组成,填写申请单,经领导审批,最后接收到通知。

模板方法模式贯穿整个工作模块,实现代码如下:

public abstract class ApplicationForFunds

{

public void apply()

{

System.out.println("填写申请单");

}

public abstract void toExamine();

public void evaluate()

{

System.out.println("得到通知");

}

public void process()

{

this.apply();

this.toExamine();

this.evaluate();

}

}

public class ActivityFund extends ApplicationForFunds

{

public void toExamine()

{

System.out.println("活动经费");

}

}

public class ProjectFund extends ApplicationForFunds

{

public void toExamine()

{

System.out.println("项目经费");

}

}

2. 职责链模式和其实现类

职责链模式避免请求发送者和接收者耦合在一起,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。主要解决的是上级领导中的那个具体人来实现审核工作。

职责链模式来完成领导审核模块,实现代码如下:

public abstract class Leader

{

protected String name;

protected Leader successor;

public Leader(String name)

{

https://www.doczj.com/doc/219106890.html,=name;

public void setSuccessor(Leader successor)

{

this.successor=successor;

}

public abstract void handleRequest(Funts request);

}

public class DivisionManager extends Leader

{

public DivisionManager(String name)

{

super(name);

}

public void handleRequest(Funts request)

{

if(request.getMoney()<1000)

{

System.out.println("部门经理" + name + "审批" + request.getReplyName() + "员工的活动经费,经费为" + request.getMoney() + "元。可去财务部领取费用。");

}

else

{

if(this.successor!=null)

{

this.successor.handleRequest(request);

}

}

}

}

public class GeneralManager extends Leader

{

public GeneralManager(String name)

{

super(name);

}

public void handleRequest(Funts request)

{

if(request.getMoney()<3000)

{

System.out.println("总经理" + name + "审批员工" + request.getReplyName() + "员工的活动经费,经费为" + request.getMoney() + "元。可去财务部领取费用。");

}

else

{

System.out.println( request.getReplyName() + "员工的活动经费为" + request.getMoney() + "元,由于其经费要求太高将不予批准!!");

}

}

}

public class ProjectManager extends Leader

{

public ProjectManager(String name)

{

super(name);

}

public void handleRequest(Funts request)

{

if(request.getMoney()<500)

{

System.out.println("项目经理" + name + "审批" + request.getReplyName() + "员工的活动经费,经费为" + request.getMoney() + "元。可去财务部领取费用。");

}

else

{

if(this.successor!=null)

{

this.successor.handleRequest(request);

}

}

}

}

public class Funts

{

private String replyName;

private int money;

public Funts(String replyName,int money)

{

this.replyName=replyName;

this.money=money;

}

public void setReplyName(String replyName) {

this.replyName = replyName;

}

public void setMoney(int money) {

this.money = money;

}

public String getReplyName() {

return (this.replyName);

}

public int getMoney() {

return (this.money);

}

}

3. 观察者模式和其实现类

观察者模式可以实现表示层和数据逻辑层的分离,并定义可稳定的消息更新传递机制,抽象了更新接口。在观察目标和观察者之间建立一个抽象的耦合。

观察者模式来完成接收到审核通知模块,实现代码如下:

import java.util.*;

public abstract class MySubject

{

protected ArrayList observers = new ArrayList();

//注册方法

public void attach(MyObserver observer)

{

observers.add(observer);

}

//注销方法

public void detach(MyObserver observer)

{

observers.remove(observer);

}

public abstract void pass(); //抽象通知方法

}

public interface MyObserver

{

void response(); //抽象响应方法

}

public class Check extends MySubject

{

public void pass()

{

System.out.println("审核通过!");

System.out.println("----------------------------");

for(Object obs:observers)

{

((MyObserver)obs).response();

}

}

}

public class ApplyPeople implements MyObserver

{

public void response()

{

System.out.println("申请人去财务部领取资金!");

}

}

public class GiveFunt implements MyObserver

{

public void response()

{

System.out.println("财务部拨给申请人相应资金!");

}

}

4. 事件处理程序

事件处理程序的代码如下:

public class Client

{

public static void main(String a[])

{Leader objProjectManager,objDivisionManager,objGeneralManager;

ApplicationForFunds bank;

bank=(ApplicationForFunds)XMLUtil.getBean();

bank.process();

System.out.println("---------------------------------------");

objProjectManager=new ProjectManager("王明");

objDivisionManager=new DivisionManager("赵强");

objGeneralManager=new GeneralManager("李波");

objProjectManager.setSuccessor(objDivisionManager);

objDivisionManager.setSuccessor(objGeneralManager);

Funts lr1=new Funts("第一小组",450);

objProjectManager.handleRequest(lr1);

Funts lr2=new Funts("第二小组",3200);

objProjectManager.handleRequest(lr2);

Funts lr3=new Funts("第三小组",1500);

objProjectManager.handleRequest(lr3);

Funts lr4=new Funts("第四小组",900);

objProjectManager.handleRequest(lr4);

MySubject subject=new Check();

MyObserver obs1,obs2,obs3;

obs1=new GiveFunt();

obs2=new GiveFunt();

obs3=new ApplyPeople();

subject.attach(obs1);

subject.attach(obs2);

subject.attach(obs3);

subject.pass();

}

}

五、系统设计总结

1.实现的功能和优点

该公司经费申请主要实现的是公司经费申请的具体流程和实现过程,运用到的设计模式有模板方法模式,职责链模式和观察者模式。职责链模式根据审核经费申请单经费的多少,由不同级别的领导进行审批。观察者模式可以实现表示层和数据逻辑层的分离,并定义可稳定的消息更新传递机制,抽象了更新接口。模板方法模式为整个业务流程应用的该模式,客户端只需访问,而无需知道具体如何实现。

该管理系统的优点就是代码的复用率很高,合理的运用了这三种设计模式,各个模块的层次都很清晰,如果想要添加新的模块,不需要更改很多代码,直接

在原有代码基础上进行继承实现就行,减少了开发成本。

2. 不足之处

不足之处就是在本系统中的各个功能比较简单。使用的设计模式相对来讲比较少,只用到了模板方法模式,职责链模式和观察者模式。只实现了活动经费的申请过程,得到通知的后的行为也相对简单,连接不是太紧凑,有很多需要改进的地方。

3. 完成心得

设计这个公司费用申请系统花了很长时间,但是自己觉得很值得,通过设计和实现此系统,初步掌握了面向对象程序设计的基本思维。要想程序的复用性高,后期维护方便就必须在进行设计的时候,采用合适的设计模式,将具体的抽象出来,较好的提高系统的可扩展性。

在模式设计上,主要还是得理解各个模式的基本思想和特点,以及各个模式的各种适用场景,之后就得针对具体的场景然后采用相应的设计模式进行设计,开发和编码。在此非常感谢高老师的辅导和同学的帮助,最终此系统所实现的功能,所以非常感谢大家。相信只要多加锻炼,多写代码,多实现,编程能力会越来越好。

六、参考文献

参考文献

[1] 徐宏喆,侯迪等编著,实用软件设计模式教程[M],清华大学出版社。

[2] 颜炯编著,C#设计模式[M],中国电力出版社。

[3] 程杰,大话设计模式,北京:机械工业出版社,2008。

[4] 设计模式——可复用面向对象软件的基础,北京:机械工业出版社。

[5] [美]Alan Shalloway著,设计模式精解[M],清华大学出版社。

2019年上半年软件设计师上午试题及答案

2019年上半年软件设计师上午试题及答案 1.计算机执行指令的过程中,需要由()产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D.Cache控制器 2.DMA控制方式是在()之间直接建立数据通路进行数据的交换处理。 A.CPU与主存 B.CPU与外设 C.主存与外设 D.外设与外设 3.CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为() A.数据局部性 B.指令局部性 C.空间局部性 D.时间局部性 4.某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。 A.3个部件串联

B.3个部件并联 C.前两个部件并联后与第三个部件串联 D.第一个部件与后两个部件并联构成的子系统串联 5.在()校验方法中,采用模2运算来构造校验位。 A.水平奇偶 B.垂直奇偶 C.海明码 D.循环冗余 6.以下关于RISC (精简指令系统计算机)技术的叙述中,错误的是()。 A.指令长度固定、指令种类尽量少 B.指令功能强大、寻址方式复杂多样 C.增加寄存器数目以减少访存次数 D.用硬布线电路实现指令解码,快速完成指令译码 7.()防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。 A.包过滤 B.应用级网关 C.数据库 D.WEB 8.下述协议中与安全电子邮箱服务无关的是()。 A.SSL

B.HTTPS C.MIME D.PGP 9-10.用户A和B要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和B通信时可使用()来对用户的身份进行认证;使用()确保消息不可否认。 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 11.震网(Stuxnet)病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的()。 A.引导区病毒 B.宏病毒 C.木马病毒 D.蠕虫病毒 12.刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项发明。以下关于该发明的权利归属的叙述中,正确的是()。

设计模式试卷

设计模式期中考试试题 一:单项选择(共20道,每道2分) 1、设计模式一般用来解决什么样的问题( ) A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( ) A.继承 B.封装 C.里氏代换D都不是 3、Open-Close原则的含义是一个软件实体( ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。 A.创建型 B.结构型C行为型D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、设计模式的两大主题是( ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 7、“不要和陌生人说话” 是( )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 8、构造者的的退化模式是通过合并()角色完成退化的。 A.抽象产品B产品C创建者D使用者 9、以下关于简单工厂模式叙述错误的是() A 它属于GoF23种设计模式 B 它是最简单的设计模式之一 C 它是学习其他创建型模式的基础 D 它只需要记住一个简单的参数即可获得所需对象的实例 E 它类中的方法通常为静态方法 F 它返回的类都有一个公共的父类和公共的方法 10、对象适配器模式是()原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 D.以上表述全部错误。 11.对于依赖倒转的表述错误的是() A.依赖于抽象而不依赖于具体,也就是针对接口编程。 B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。 C.从选项B的角度论述,一个对象可以有多个接口。 D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。 E.此题没有正确答案。 12. 现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供

大工《软件工程》大作业参考题目及要求【内容仅供参考】787

网络教育学院 《软件工程》课程大作业 题目:企业货物管理系统 第一大题:谈谈你对本课程学习过程中的心得体会。 在学习软件工程过程中,或许有诸多不解,我们要从整体概念上较好地理解和把握、学好软件工程,学习时要注意多看多练要注意结合实际,更要多思考,面对错误不要一范就问,要尝试自己去解决。但是还要注意什么都学,肯定是什么都学不透的,要集中精力打攻坚战,学习软件工程首先要明白自己的学习目标究竟是什么,根据自己的实际工作出发,有针对性的在相应的学习方向上进行提高,制定出详细的学习规划。还要注意与其他科目的相辅相成,就像我们在学习面向对象分析的时候要结合大一学习的面向对象及其方法学这一在写软件的时候,我们首先要有整体的结构和思路,这样才能照着一定的思想一定思路去写下去,有人说其实写软件并不难,只要给你一个思路你就可以不断地往下写。我觉得确是如此,其实我们平时写软件我觉得并不是很难的事,平时即使遇到处理不了的技术问题,哪里编译出现错误等等其实都可以在网上提问。技术问题一般我们都可以在网上得到答案,但软件的思想不是我们看了一下就能真正理解的。 第二大题:完成下面一项课程设计。

2020秋《软件工程》课程大作业 注意:从以下4个题目中任选其一作答。 题目二:企业货物管理系统 总则:不限制编程语言,可以选用VB/C#等,不限数据库,可选用SQL/MYSQL/ACCESS等设计一个企业货物管理系统。(具 体工具平台及语言可以自己根据自己的习惯选用,不必完 全按照上述技术要求) 要求:(1)撰写一份word文档,里面包括(需求分析规格书、详细设计说明书、测试报告书)章节。 (2)需求分析规格书,包含功能需求分析、数据需求分析。 功能需求分析介绍该系统具体包含何种功能。 (3)详细设计说明书包含数据表,核心程序,模块相关截 图。数据表为数据库所建立的数据表,至少包含管理人员 信息表、货物信息表、调价记录表等。核心程序需列出系 统的核心程序。 (4)测试报告书要求简单介绍测试的方法与测试的示例, 举出一组示例即可。 (5)整个word文件名为 [作业提交: 大作业上交时文件名写法为:[以附件形式上交离线作业(附件的大小限制在

软件系统分析与设计DOC

第1章软件工程基础知识 1.1软件工程知识体系 ●软件需求(Software Requirements) ●软件设计(Software Design) ●软件构造(Software Construction) ●软件测试(Software Testing) ●软件维护(Software Maintenance) ●软件配置管理(Software Configuration Management) ●软件工程管理(Software Engineering Management) ●软件工程过程(Software Engineering Process) ●软件工程工具和方法(Software Engineering Tools and Methods) ●软件质量(Software Quality) 1.2软件生存周期与软件开发模型 ● 1.2.1 软件生存周期 ●Boehm定义的软件生存周期模型 ●GB 8566-1988定义的软件生存周期模型 ●GB/T 8566-1995定义的软件生存周期过程模型 ●GB/T 8566-2001定义的软件生存周期过程模型 ●UP定义的软件生存周期模型 ● 1.2.2 软件开发模型 ●瀑布模型(waterfall model) ●快速原型模型(rapid prototype model) ●演化模型(evolutionary model) ●增量模型(incremental model) ●螺旋模型(spiral model) ●喷泉模型(water fountain model) 1.3软件质量模型与软件质量管理 ● 1.3.1 软件质量模型 ●软件产品的内部质量、外部质量和使用质量 ●质量特性、质量子特性和度量 ●功能性:适宜性、准确性、互用性、依从性、安全性 ●可靠性:成熟性、容错性、可恢复性 ●可用性:可理解性、易学性、可操作性 ●效率:时间特性、资源特性 ●可维护性:可分析性、可修改性、稳定性、可测试性 ●可移植性:适应性、易安装性、一致性、可替换性 ● 1.3.2 软件质量管理 ●质量需求分析 ●质量计划 ●质量保证 ●质量控制 ●质量改进 ●软件质量管理体系

软件工程大作业.

《软件工程》大作业 学期:2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

目录 第1章系统概述 (2) 1.1系统介绍 (2) 1.2开发的目的与意义 (2) 第2章可行性分析 (3) 2.1经济可行性 (3) 2.2 技术可行性 (3) 2.3 系统业务分析 (3) 第3章需求分析 (5) 3.1 结构化需求分析 (5) 3.2 系统需求说明 (5) 3.3 系统数据流图和数据字典 (6) 第4章系统设计 (9) 4.1 系统ER图 (9) 4.2 系统功能结构图 (11) 第5章系统实现 (12) 5.1用户模块 (12) 5.2用户注册功能 (13) 第6章系统测试 (14)

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

软件设计模式试题集 含答案

设计模式试题 一.选择 1. 设计模式具有的优点()。 A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 2. 设计模式一般用来解决什么样的问题( )。 A.同一问题的不同表相 B 不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 3. 设计模式的两大主题是( )。 A.系统的维护与开发 B.对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 4. 以下哪些问题通过应用设计模式不能够解决。() A)指定对象的接口B)针对接口编程 C)确定软件的功能都正确实现D)设计应支持变化 二.填空 1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、(效果)、实现、GoF 参考。 2. 设计模式基本原则包括:开闭原则,(从场景进行设计的原则),包容变化原则。 3. 设计模式是一个(抽象)的方案,它可以解决一类问题。 4. 1. 在设计模式群体中,效果是指(原因和结果)。三. 判断 1. 适配器模式属于创建型模式。错 2. 在设计模式中,“效果”只是指“原因和结果”。对 3. 设计模式使代码编制不能真正工程化。错 4. 设计模式的两大主题是系统复用与系统扩展。对四. 名词解释 1. 设计模式 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 模板 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 模式 就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。 4. 内聚度 模块内部各成分彼此结合的紧密程度。五.简答 题 1. 什么是设计模式?设计模式的目标是什么?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验的总结。使用设计模式是为了可 重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 设计模式的基本要素有哪些? 名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF 参考。 3. 设计模式中一般都遵循的原则有什么? 开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。 4. 四人团针对“创建优秀面向对象设计”建议了哪些策略? 针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。 第6 章 facade(外观)模式 一.选择 1. 外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些 额外的功能。B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更 加容易使用。

软件工程大作业

《软件工程》大作业 学期: 2015秋季学期 班号: 学号: 姓名: 成绩: 子与信息工程学院 2015年10月

电子与信息工程学院大作业 目录 第1章系统概述 (2) 1.1系统介绍 (2) 1.2开发的目的与意义 (2) 第2章可行性分析 (3) 2.1经济可行性 (3) 2.2 技术可行性 (3) 2.3 系统业务分析 (3) 第3章需求分析 (5) 3.1 结构化需求分析 (5) 3.2 系统需求说明 (5) 3.3 系统数据流图和数据字典 (6) 第4章系统设计 (9) 4.1 系统ER图 (9) 4.2 系统功能结构图 (11) 第5章系统实现 (11) 5.1用户模块 (11) 5.2用户注册功能 (12) 第6章系统测试 (13) 1

第1章系统概述 随着计算机网络技术和信息技术的不断发展,人类信息资源实现高度共享,从根本上改变了人类生活的方式,网上购物作为一种新型的购物方式,以其快捷方便的特点成为了人们购物的主要选择。网上支付的不断完善,加上物流业的配套建设,使得用户能够足不出户就能挑选商品,节省了时间和金钱,这种网上购物方式越来越受到人们的青睐。 1.1系统介绍 网上商城系统是一个可以方便各类人群所需,省时省力全方位的大型购物网上商城,可以让所需人群足不出户不分地域时间的购买所需用品。网上商城系统共分为两个部分:前台用户部分和后台管理部分。在前台系统中有用户注册登陆,浏览商品,选购商品,订购商品。后台系统中有系统管理,会员管理,订单管理,商品管理。在用户注册模块中,分别加强了用户注册信息验证的严格性;在商品或商家信息浏览和查询模块中,用户可以对商品进行浏览检索,查看商品的详细信息;非注册会员可以选定商品加入购物车,但只有注册成会员的用户才能对商品进行购买。在后台系统中,系统管理员可以对已注册的用户进行审查,可以对现有的商品进行管理;并对提交的订单进行处理与邮寄。 1.2开发的目的与意义 在线购物系统,从结构上讲,可以划分为前台和后台两个部分,主要涉及到前、后台的网页设计,以及与数据库相关的操作。在网络应用中,数据库的应用是一个很关键的环节。特别地,随着Internet的普及和人们对于互联网的依赖性,许多基于互联网的应用也不断的涌现出来。基于B/S(浏览器、服务器)构架开发网站和系统已成为一种主流趋势,人们对其的需求也越来越大。 现在已经进入网络时代,很多电子产品的生产企业也开始意识到了网络的重要性,开始在电子产品中加入对网络服务的支持。比如在智能手机中增加了对移动互联网应用的支持,这在提升了电子产品的竞争力的同时,也扩展了电子商务的应用范围。 总体上看,电子商务的发展,具有十分良好的发展前景。

软件设计师UML分析与设计(一)

[模拟] 软件设计师UML分析与设计(一) 填空题 阅读下列说明和图,回答问题1至问题3,将解答填入对应栏内。 [说明] 某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司A开发一套信息管理系统,该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发此系统。如图19-1所示为某类图书或唱碟被借阅时应记录的信息,图19-2描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。 第1题: 经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类Book和CD的共有属性和方法。请采用图19-2中属性和方法的名称给出类 Items_on_loan应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如类CD中的composer与类Book中的author无任何关 系。)_________ 参考答案: 属性:title 方法:Reference title 详细解答: 第2题: 为了记录每种图书或唱碟的历史记录,引入类CirculationHistory,类中存储的信息是图19-1中所表示的内容。请采用UML表示法将下列4个类间的关系表示出来。 参考答案:

详细解答: 第3题: 现需了解十大最畅销(借出次数最多)图书或唱碟,为此引入TenPopulate类以存储所有十大畅销图书或CD的名称及其被借出的次数。顺序图19-3描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有(1) 个TenPopulate实例对象最合适,一个TenPopulate类实例对象最多需要和(2) 个Items_on_loan实例对象交互。 参考答案: 1;图书和唱碟种类数 详细解答: 阅读下列说明及UML类图,回答问题1至问题3,将解答填入对应栏内。 [说明] 某客户信息管理系统中保存着两类客户的信息。 (1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。 (2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话及职位。 该系统除了可以保存客户信息之外,还具有以下功能。 ·向系统中添加客户(addCustomer); ·根据给定的客户标识,在系统中查找该客户(getCustomer); ·根据给定的客户标识,从系统中删除该客户(removeCustomer); ·创建新的联系人(addContact); ·在系统中查找指定的联系人(getContact); ·从系统中删除指定的联系人(removeContact)。 该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表19-1所示的类。 第4题: 请使用说明中的术语,给出图19-4中类Customer和类Person的属性。

《软件分析与设计》 课程设计剖析

《软件分析与设计》 课程设计 开发日志 项目进度安排计划

项目名称:需求分析 日期:2013年1月7日 地点:逸夫楼404 第一天的课设知识初步完成了一些基本工作,把每个人的分工完成,并进行了大概的需求分析说明,下面是初步的报告说明书: 《需求规格说明书》 1引言 1.1编写目的 需求分析说明书是提供给用户。是用户与开发人员对开发软件的共同理解,使用户与开发单位就该系统的功能定义、环境需求达成共识,最后达到用户的需求。 本需求分析的读者对象包括客户、业务人员需求分析人员、测试人员、用户文档编写人和项目管理人员。 对功能的规定 为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的性能需求: ①系统登录管理 该系统包括两个方面: *新用户注册,新用户可以注册,登陆系统后进行相应的信息交互。*老用户验证登陆名密码正确进入主菜单。 ②航班信息管理 *航线信息的输入、修改和查询,包括航班日期、客机编号、航线编号、出发城市、到达城市、出发时间、到达时间、经济舱价格、公务舱价格、头等舱价格和备注信息等。 *舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。 *客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。 ③选票管理 用户通过登录系统之后根据航班信息选择自己需要乘坐的航班。

④用户信息管理 *客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、客户网上用户名、客户登陆密码、客户联系电话、客户类型和备注信息等。 *客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注信息等。 ⑤订单管理 *订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金额和备注信息等。 ⑥取票管理 *用户根据订单编号取票,取票必须核对订单编号是否正确进行取票验证。 ⑦支付管理 *可以选择几种支付方式: 取票时现金支付;网银定金支付;网银全额支付。 ⑧统计管理 系统通过定时统计各个航班的承载情况,进行查询统计。 以及描述了该系统的数据字典和了解了整个系统地框架。 项目名称:项目开发计划 日期:2013.1.8 地点:逸夫楼404 经过昨天的分工安排,最后整理系统的需求得到了如下的安排表,并明确将系统的功能进行了分配,具体是实施情况还有待继续分析。

软件设计模式(JAVA)习题答案

软件设计模式(Java版)习题 第1章软件设计模式基础 1.1 软件设计模式概述 1.2 UML中的类图 1.3 面向对象的设计原则 一、名词解释 1.一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展 一个系统的行为。 2.一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 3.在软件中如果能够使用基类对象,那么一定能够使用其子类对象。 4.是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结, 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 二、单选择题 1.( A ) 2.( A ) 3. ( A ) 4. ( D ) 5. ( D ) 6.( A ) 7. ( D ) 8.( D ) 9.( D ) 10.( E ) 11.( C ) 12.( C ) 13. ( A ) 三、多选择题 1.( A、B、C、D ) 2. ( A、B ) 3.( A、D ) 4.( A、B、C、D ) 四、填空题 1.依赖倒转、迪米特法则、单一职责 2.模式名字、目的、问题、解决方案、效果、实例代码 3.超类、子类 4.开闭 5.用户 6.依赖倒转 7.组合/聚合 8.结构型、行为型 9.依赖倒转 10.开闭 11.需求收集是否正确、体系结构的构建是否合理、测试是否完全 12.人与人之间的交流 13.接口 14.名称、目的、解决方案 15.对象组合、类继承

16.对象组合 17.对象组合、类继承 18.抽象类的指针 五、简答题 1.答:设计模式按类型分为以下三类: 1)创建型设计模式:以灵活的方式创建对象集合,用于管理对象的创建。 2)结构型设计模式:将己有的代码集成到新的面向对象设计中,用于处理类或对象的组合。 3)行为型设计模式:用于描述对类或对象怎样交互和怎样分配职责。 2.答:设计模式的主要优点如下: 1)设计模式融合了众多专家的经验,并以一种标准的形式供广大开发人员所用,它提供了一套通用的设计词汇和一种通用的语言以方便开发人员之间沟通和交 流,使得设计方案更加通俗易懂。 2)设计模式使人们可以更加简单方便地复用成功的设计和体系结构,将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式使得重用成功的设计更加容易,并避免那些导致不可重用的设计方案。 3)设计模式使得设计方案更加灵活,且易于修改。 4)设计模式的使用将提高软件系统的开发效率和软件质量,且在一定程度上节约设计成本。 5)设计模式有助于初学者更深入地理解面向对象思想,一方面可以帮助初学者更加方便地阅读和学习现有类库与其他系统中的源代码,另一方面还可以提高软件的设计水平和代码质量。 3.答:设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效 果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。 4.答:正确使用设计模式具有以下优点: ⑴可以提高程序员的思维能力、编程能力和设计能力。 ⑵使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从 而缩短软件的开发周期。 ⑶使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。 5.答:根据类与类之间的耦合度从弱到强排列,UML中的类图有以下几种关系:依赖关 系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。

软件工程大作业.

软件工程大作业 题目:学生档案管理系统 小组成员:戚盈洁( 王大伟( 王磊( 霍成海( 目录 第一章. 系统调查 (3 1.1系统调查内容 (3 1.2系统调查方法 (3 第二章. 系统分析 (3 2.1 系统分析 (3 2.2 系统调结构图 (4 2.3 子系统功能描述 (4 第三章. 系统设计 (6 3.1 界面设计原则 (6 3.2 数据库设计 (6 3.3 代码设计 (10 第四章. 学生照片管理模块设计 (14

4.1 ImageFunc模块 (14 4.2 设计照片管理窗体 (16 4.3 在学生信息管理窗体中添加照片管理代码 (17 第五章. 系统测试 (18 5.1 系统测试项目 (18 5.2 系统评估 (20 第一章. 系统调查 1.1系统调查内容 学校各院系基本概况:院系名称,专业设置,课程设置,课时安排,学生人数,学生班级数等。 学校资源条件调查,包括计算机配备,网络支持条件等。 各院系专业设置概况:现有开设专业及规划中开设专业设置,专业开设课程,各课程授课教师与成绩处理。 学校各部门(学生处、教务处、档案管理室、各院系对学生基本情况的需求与掌握,对学生基本信息的处理方式与业务流程。 学校各部门、单位、教师、学生对系统的其他要求和希望。 1.2系统调查方法 通过对部分高校学生档案管理人员的访问,了解到目前大部分高校的档案管理工作存在工作效率低,成本高,保密性差,查询困难等问题。大部分工作人员都提出需要一个具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本

低等优点的现代化信息管理系统。为解决此问题我们决定开发一个既方便又操作简单,功能较为齐全的学生档案管理系统。 第二章. 系统分析 2.1 系统分析 1 系统开发的总体任务是学生档案管理的系统化和规范化。 2 系统开发的目标是使档案管理工作科学化和规范化,提高安全系数。 3 系统功能树本系统主要功能是实现学生基本情况的管理。 图3.1学生档案管理系统功能模块 2.2 系统调结构图

吉林大学2012级软件设计模式试题

2014-2015学年第1学期 2012级《软件设计模式》考试试题(开卷) 考试时间:2014年 班级学号姓名 ?本试卷满分100分; ?请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰; ?试题中使用C++语言作为描述语言,答题时可以使用C++或Java或C#程序设计语言中 的任意一种作为描述语言,但整个卷面只能使用其中一种,不得混合使用; ?请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸 一并交上来。 一、单选题(共20分,每题2分) 1.类设计中,“变化是绝对的,稳定是相对的”,下列哪个不属于这句话中“变化”的范畴? (A) 改变函数参数的类型(B) 增加新的数据成员 (C) 改变编程语言(D) 改变对象交互的过程和顺序 2.Open-Close原则的含义是一个软件实体: (A) 应当对扩展开放,对修改关闭 (B) 应当对修改开放,对扩展关闭 (C) 应当对继承开放,对修改关闭 (D) 以上都不对 3.下列关于继承表述错误的是: (A) 继承是一种通过扩展一个已有类的实现,从而获得新功能的复用方法 (B) 泛化类(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加 属性和方法来进行实现的扩展 (C) 破坏了封装性,因为这会将父类的实现细节暴露给子类 (D) 继承本质上是“白盒复用”,对父类的修改,不会影响到子类 4.下列关于对象组合/聚合,说法错误的是: (A) 容器类能通过被包含对象的接口来对其进行访问 (B) 属于黑盒复用,封装性好,因为被包含对象的内部细节对外是不可见 (C) 可以在运行时将被包含对象改变成同类型对象,从而改变容器类的行为效果,但没有 改变容器类的接口 (D) 比继承关系更加灵活,代价是相比继承关系,增强了类间的耦合度 5.用于分离接口和具体实现,使得接口和实现可独立变化的是: (A)适配器模式(B) 桥接模式(C) 命令模式(D)模板方法模式 6.体现“集中管理多个对象间的交互过程和顺序”的是: (A)生成器模式(B) 门面模式(C) 策略模式(D)中介者模式

《软件工程导论》课程大作业-题目及要求

《软件工程专业导论与职业生涯规划》具体要求 一、大作业题目(注:每个小组完成一个题目) 1、计算机系统软件是什么?具体的系统软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的系统软件进行较为详细的阐述。 2、计算机应用软件是什么?具体的应用软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的应用软件进行较为详细的阐述。 3、阐述计算机软件的发展历程,对比分析各阶段的特征、理论体系、优势与不足。 4、软件危机是什么?列举2~3个具体的软件危机案例。导致软件危机爆发的原因有哪些?简单阐述现阶段软件危机的具体表现。 5、陈述“软件工程”概念提出的历史背景,包括发生的时间、地点、人物、事件等。“软件工程”的定义自提出以来,有多种说法。请尽可能罗列各种说法,并对其中的2~3个说法进行评述。软件工程的七条基本原理是哪些?分别对每条原理进行较为详细的阐述。 6、软件工程的目标是什么?十个性能是哪些?分别对每个性能进行较为详细的阐述。 7、软件工程研究的主要内容包括哪两个方面?分别对每个方面进行较为详细的阐述。 8、软件开发过程必须遵循的软件工程原则有哪些?分别对每个原则进行较为详细的阐述。 9、软件工程的过程包括哪些?分别对每个过程进行较为详细的阐述。 10、软件生命周期的概念是什么?软件生命周期的划分有哪些阶段?分别对每个阶段进行较为详细的阐述。 11、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的瀑布模型和原型模型进行较为详细的阐述及对比分析,并各举例说明。 12、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的演化模型和喷泉进行较为详细的阐述及对比分析,并各举例说明。 13、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的基于知识的模型和基于构件的模型进行较为详细的阐述及对比分析,并各举例说明。 14、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的变换模型和双赢螺旋模型进行较为详细的阐述及对比分析,并各举例说明。 15、软件工程的四要素是哪些?分别对每个要素进行较为详细的阐述。中国制定

设计模式试题(仅供参考)

1、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换 D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单例模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式 B观察者 C适配器以上都是 10、“不要和陌生人说话” 是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 11、构造者的的退化模式是通过合并( c )角色完成退化的。 A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂

东北大学《软件设计模式》期末考试必备真题集(含答案)93

东北大学继续教育学院 软件设计模式复习题 一:单选题 1.在c#程序中,入口函数的正确声明为:B A. static int main(){…..} B. static void Main(){……} void main(){……} Main(){……} 2.在C#中,表示一个字符串的变量应使用以下哪条语句定义?B A. CString str; B. string str; C. Dim str as string D. char * str; 3.结构化程序设计的3种结构是:D A. 顺序结构、if结构、for结构

B. if结构、if…else结构、else if结构 C. while结构、do…while结构、foreach结构 D. 顺序结构、分支结构、循环结构 4.能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是____。D A. a>=10 or a<=0 B. a>=10|a<=0 C. a>=10&&a<=0 D. a>=10||a<=0 5.在类的外部可以被访问的成员是:A A. public成员 B. private成员 C. protected成员 D. protected internal成员 6.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_________。C A. sealed 方法 B. public 方法 C. visual 方法 D. override 方法 7.关于结构类型,下列说法哪些是正确的?A A. 结构是值类型 B. 结构中不允许定义带参数的实例构造函数; C. 结构中不允许定义析构函数 D. 结构中可以定义成员方法,但是方法内不能使用this 指针 8.下面是几条动态初始化二维数组的语句,指出其中正确的:D A. int arr5[][]=new int[4,5]; B. int[][] arr6 = new int[4, 5]; C. int arr7[,]=new int[4,5]; D. int[,] arr8=new int[4,5]; 9.下面有关析构函数的说法中,不正确的是:D

软件工程大作业

《软件工程》大作业题目:商品的进存销管理系统的实现 班级:10信息与计算科学1班 小组成员:冯堃原(组长) 陈丽娟、王翠儿、叶振邦 陈锦松、方俊日、吕梦源

1.项目概述 (3) 1.1 开发背景 (3) 1.2 开发目的 (3) 1.3 开发运行环境 (3) 1.4 系统功能 (3) 2.系统分析 (4) 2.1 需求分析 (4) 2.1.1 系统需求 (4) 2.1.2 功能需求 (4) 2.1.3 业务流程图 (13) 2.1.4 可行性分析 (14) 2.1.5 项目规划 (14) 3.总体设计 (15) 3.1 基本设计概念和处理流程 (15) 3.2 系统功能体系图 (16) 3.3 模块设计 (17) 3.3.1 登录模块 (17) 3.3.2 系统主界面模块 (17) 3.3.3 进货管理模块 (17) 3.3.4 销售管理模块 (17) 3.3.5 库存管理模块 (18) 3.3.6 信息管理模块 (18) 3.3.7 系统管理模块 (18) 3.3.8 统计报表子模块 (18) 4系统设计 (19) 4.1 目标设计 (19) 4.2 设计思想 (19) 4.3 系统功能设计 (19) 4.3.1 进货管理 (19) 4.3.2 销售管理 (21) 4.3.3 库存管理 (22) 4.3.4 信息管理 (23) 4.3.5 系统管理 (23) 4.3.6 统计报表 (23) 5.总结 (23)

1.项目概述 1.1 开发背景 现代社会经济迅猛发展,使得市场的走向也发生了巨大的变化。商品经济的高速发展也促进了商家们的竞争,要想在竞争中取得优势,商家们必须要提升自身的管理方式,采用先进的管理系统来对各自的商品进行管理,进而提高自己的竞争力。 发达国家的各类商店、超市基本上都运用计算机技术,对商品的进货、库存、销售等方面进行管理。而目前,我国正处在从传统商店经营到现代商店经营的转变过程中,在当今经济如此迅猛发展的社会,商家们是很有必要去提高自己的管理水平,再加上当今社会计算机的飞速发展,利用计算机实现商品的进存销管理也是势在必行的。 1.2 开发目的 开发一个商品的进存售管理系统,主要是为了对商品的进货、库存、销售进行管理,从而提高商店资金的利用率、结算速度、工作效率等。通过计算机技术对商品的进存销进行完善管理,从而实现管理的科学化、智能化、现代化。因此,商家们必须要掌握好当今市场的走向,紧跟着时代的步伐,对自己的商品运用现代化的手段去管理,这样才能够巩固自己在商业界的地位。 1.3 开发运行环境 ?前台开发环境:Visual Basic 6.0 ?后台数据库环境:SQL Server 2005 ?运行环境:Windows XP 1.4 系统功能 具有良好的人机交互界面。 具有完善的权限管理功能。 具有方便的、全方位的数据查询功能。

软件建模与分析课程设计课件

计算机技术与工程学院课程设计报告 课程名称:软件建模与分析课程设计 设计题目:教材管理系统 学生姓名:耿誉 学号:1204431117 专业班级:软件1241 指导教师:潘欣赵健 起止时间:9月7日至9月18日 成绩评定 内容表现成果报告总评成绩

2015-2016第1学期《软件建模分析课程设计》任务书 指导教师:潘欣赵健佘向飞付浩海班级:软件1241-2 地点:9教机房409,411 时间:第1、2周 一、课程设计目的 1、进一步理解、掌握UML的基本概念、结构、语义与表示方法; 2、综合运用UML和其它先修课程的理论和知识,掌握面向对象的软件建模与分析的一般方法、常用技术及技巧,树立良好的软件建模思想,培养分析问题和解决实际问题的能力; 3、学会使用Star UML建模工具,运用UML建模思想及方法,对各类软件系统进行分析、设计、建模。 二、课程设计内容 课程设计参考题目如下: 1. 小区物业管理系统 2. 高校工资管理系统 3. 教材管理系统 4. 酒店管理系统 5. 高校教职工管理系统6.图书管理系统 7.火车订票管理系统8.企业人事管理系统 9.商品库存管理系统10.医院药品管理系统 11. 学生成绩管理系统12. 高校学籍管理系统 13. 航空订票管理系统14. 学费管理系统 15. 城市居民户籍管理系统16.超市管理系统 17.学费管理系统18.车辆管理系统 19. 房地产管理系统20. 企业物资管理系统 21、其它自选题目 学生可任选一题或自拟题目(需经指导老师审核批准)。在分析设计题目,

做好系统需求基础上,进行如下主要设计: 分析问题领域:确定系统范围和系统边界,设计用例图 设计静态结构模型:建立类图,对象图,包图,数据库建模 设计动态行为模型:建立时序图,状态图,协作图,活动图 设计物理模型:建立组件图,配置图 设计要求:系统设计建模符合面向对象的设计准则及规则。如: 准则:模块化、抽象、信息隐藏、低耦合和高内聚等; 规则:1)设计结果清晰易懂 2)一般到具体的抽象深度应适当 3)尽量设计小而简单的类 4)使用简单的消息协议、函数或方法 5)把设计变动减至最小 三、时间安排 序号完成内容时间(天) 1 设计准备及需求分析 2 2 设计静态结构模型 4 3 设计动态行为模型 5 4 设计物理模型 1.5 5 编写设计报告书 1.5 6 总结和答辩 1 7 合计14 四、基本要求 (1)要求独立完成自己题目的课程设计,如有抄袭,成绩按不及格处理;(2)要求学生利用软件建模与分析课程所学知识和方法独立完成所布置题目;(3)掌握面向对象的分析方法,会绘制用例图、类图、对象图、包图、交互作用图、活动图、状态图、组件与部署图以及数据库设计图; (4)遵守机房制度;严格遵守纪律,不迟到,不早退,无故缺勤者,成绩按不及格处理;

相关主题
文本预览
相关文档 最新文档