当前位置:范文大全 > 教学设计 > SSD3设计报告模版

SSD3设计报告模版

发布时间:2021-10-28 13:30:08

SSD3设计报告模版 本文关键词:模版,报告,设计,SSD3

SSD3设计报告模版 本文简介:XXXX系统报告软件学院组长姓名贾春辉班级软件1005学号20103471姓名顾刚班级软件1006学号20103499姓名刘宇飞班级软件1005学号20102376姓名徐茜班级软件1006学号20103523课程名称面向对象程序设计(SSD3)成绩指导教师签字时间东北大学软件学院2011年11月11

SSD3设计报告模版 本文内容:

XXXX系统报告

软件学院

组长姓名

贾春辉

班级

软件1005

学号

20103471

姓名

顾刚

班级

软件1006

学号

20103499

姓名

刘宇飞

班级

软件1005

学号

20102376

姓名

徐茜

班级

软件1006

学号

20103523

课程名称

面向对象程序设计(SSD3)

成绩

指导教师签字

时间

东北大学软件学院

2011年11月11日

2

1.

系统概述

对所设计的软件系统进行描述,包括功能性和其他非功能性的与设计相关的内容。

我们小组所做的是自动处方跟踪系统,自动处方跟踪系统方便了用户和店的使用以及药房对药物的管理,大大提高了在现实中药房的工作效率。

系统所包括的功能:

1.用户登录,管理员登录,非用户注册

2.用户对自己的历史处方进行查询,取该处方的药品,删除处方,添加处方,使用替代药物的功能

3用户以及非用户可以在药房中查询某种特定的药物

4管理员对用户信息查询,药房里需要进货药物的查询

5管理员对所有药房中药物的查询,更新药方中的药品

2.

系统设计

对系统设计进行描述,在此需要有系统的UML类图,以及其它的设计信息,并对系统设计进行描述。

此次的项目选择我们是依据教材课后的三个系统中选择的处方自动跟踪系统,首先我们小组对其进行用户需求分析,明确用户需要哪些功能以及药房内药物的初始化和管理的内容。对于用户我们小组分析的是:

(一)类分析

首先用户要有自己的信息:姓名,密码,电话号码,生日,保险公司的名字,以及在该保险公司的保单号。所以我们定义了Customer类,与此同时我们定义了CustomerDataBase(集合类)来作为Customer的容器,CustomerDataBase类提供了添加用户,得到特定用户。也可以提供用户信息反馈的功能,为此要有一个得到所有用户信息的字符串来方便信息的保存。由于用户和管理员都要用到CustomerDataBase,这个是属于用户和管理员都要调用的,使用单例模式来定义CustomerDataBase.

药物:名称,剂量,药房内的库存,其替代药物,药物在市场上的流通状态来表现该药的性质,所以定义了Drug类,当然Drug类只有他自己的个人属性对于其他的数量的我们又定义了DrugItem类,DrugItem继承了Drug类,DrugItem中有的数量是他自己特有的属性,这个类是(集合)药房(DrugStore)中集合对象的类,整个药房在系统中只有一个,而且供用户和管理员共同调用,所以也使用单例模式来得到DrugStore的实例化对象。我们还定义了DrugCatalog类来作为药品的集合(纯粹Drug对象的集合)。来供处方Prescription中药品的调用并添加到该处方(方便处方药品的初始化)。

处方:处方的ID,开该处方的医生姓名,医生的电话,处方的开方日期,处方的有效期,该处方医生允许取药的次数。为此我们定义了Prescription类,因为每个处方有多个药品,所以我们定义了一个容器类PrescriptionItems来放处方中的药品。容器类PrescriptionItems中的元素对象是通过PrescriptionDrug类来实例化的,PrescriptionDrug有自己的quantity属性

其与DrugItem类相似不过DrugItem实例化的是药房内药品(每个药品在药方中的库存),而PrescriptionDrug定义的是处方中的药品极其每种药品的数量(单位:盒,瓶),两者的数量也是不同的,故定义了PrescriptionDrug和DrugItem来分别表示处方中和药房中的药品。

Prescription的容器是History即每个用户的历史处方记录,该类提供了得到每个药方ID,添加处方,删除处方,而History所定义的对象是每个Customer对象是私有属性,即每个用户都有历史处方记录。

经过小组的初始分析和在编写系统的过程中总共定义了21个类,

下面的图所示提供了该系统的主要的10个类的关系图。部分类没有在类图中显示。

System中的功能主要是通过CustomerGUI(用户登陆后的界面所定义的类),AdminGUI(管理员登录后的界面所定义的类),TestGUI是来初始化系统中数据的类,MainDrugGUI(系统的开始界面同时也是整个系统的主函数)来实现里面的功能的。

(二)功能分析及设计

三个界面:系统界面,用户登录后的界面,管理员界面

首先,程序运行之后,会出现一个简单的窗口,在这个窗口中,有3个选择方式分别为:

系统界面:

登录:管理员登录,用户登录。(我们在这里将管理员用户均设置为Person的子类,并且使用策略模式,其中管理员为—AdminXiali,pwd-000000),为了区分是管理员还是顾客,我们要求在每个管理员的名字上均加上Admin作为前缀。登录失败会给出相应的提示信息,一旦登录成功后,父窗口会消失,展现一个新的窗口

注册:在这里主要是为了用户注册,实现了用户注册那么我们也就相当于实现了管理的注册,道理是一样的。用户注册时所要填写是用户名和密码,填写自己的姓名和密码,密码会以*号的形式遮盖,并提供密码匹配窗,只有两次密码使用一致才可以进行注册,考虑到现在大家会使用昵称,所以不对姓名进行检测纠正,但是如果注册的顾客为已有顾客那么,我们会给出相应的提示。其他的信息是系统默认的

查询药品信息:这个功能几乎是贯穿整个系统的,因为我们考虑到有些顾客没有在这里注册,但是提供了他对药品查询的功能。将根据指定的药品代码进行查找,如果该药物市场流通,则全部显示,药品不流通,则给出提示,此药物在本店已经不再流通。

用户界面:

注:当输入的用户名和密码正确后系统判断是用户还是管理员,若是用户则跳到此界面

用户的信息在界面的左上角会显示和该用户的基本信息(不包括用户的密码显示),在历史记录的JList内显示的是每个处方的ID号码。

当点击的时候在历史处方信息内会显示该处方的基本信息,在处方药物JList里面会显示该处方的药物以及处方需要该药物的数量(单位:盒,瓶)。

当点击该处方药物中JList的药物时在其右面的文本区域会显示该药物的信息,在该药物的替代药物中的JList中会显示该药物的替代药物,点击替代药物的时候其信息也在边的文本区域显示,如果用户想使用该药物的替代药物在选中替代药物后点击替换通用药物按钮就会将该药物的替代药物取代原药物(默认取代后的药物数量和原药物的数量一致)。用户想取药的时候点击取该药方的按钮(当药方中的药物没有的时候,系统会提示该药物药房没有库存,这时候用户可以选择其替代药物进行替代,如果允许取药次数为零的时候系统也会提示该药方不可以再取药),当用户不需要某种处方的时候可以选中该药方的ID然后点击删除该药方就可以删除药方的信息。

如上两幅图所示是添加新处方的功能,在新加处方内填写处方的信息,处方信息输入不完全

的时候会显示错误提示信息并要求你重新输入(药物的内容按照“药物名称_数量”的格式填写,如果该药物在药房内没有的话就提示用户药房内没有该药物(新加处方的药物必须是药房内有的,如果不是的话就不能成功添加该处方))。当点击添加新的处方按钮时其就会添加到处方历史记录的JList内,点击查看就可以看到新添加处方的信息。

点查询药物功能,输入药物名称,点击查询该药物按钮,如果药房中存在该药物则显示该药物的信息,如果没有的话会提示药房没有该药物。

信息的保存:

点击保存按钮,系统会把信息写入文件内(系统默认的文件)

保存用户信息总共用到了六个文件:

CustomerDB.txt

Prescription.txt

PrescriptionItems.txt主文件

1.txt

2.txt

3.txt备份文件

退出:

点击退出则从该界面退出返回到主界面。

管理员界面:

输入用户名和密码后系统判断为管理员的时候界面会跳转到管理员界面

管理员:负责对药物的管理--

1-查看所有药物信息(包括流通的何不流通的,但是会给出相应的信息表达),

2-查看需要更新的药物信息(将市场上流通的和药品数量低于5kg的信息显示出来),

3-更新所有的药物(将市场流通的药物全部设置为满即100kg),

4-查看顾客信息(显示出所有顾客的姓名,电话号码,生日,保险公司名称,保单号),

5-添加某种新的药物(如果该药物存在则给出相应的提示,不存在则添加,若果该药物存在并且已经不流通,则进行询问是否使其进行流通,根据回复提示给出相应的操作),

6-指定的市场不流通的药物并设置为false(我们给每个药物提供了一个流通状态的属性,在本店中可以流通,那么就设置为true,否则设置为false,但是我们不会删除该药物的信息)。

系统会自动保存更新后的信息。

文件:Drugs.txt

Admin.txt

主文件

D.txt

A.txt备份文件

管理员退出后,那么父窗口会再次出现。

3.

问题集锦

1.对于文件读取和写入,一开始想到的是每次点击保存文件保存或登录则进行文件读取,但是这样频繁性的读取文件不会加快程序速度反而增大了程序的耗时行,因此经内部讨论我们决定全部成员在程序开始运行时进行初始化,然后在程序的结束的时候进行文件保存,考虑到每次调试的程序操作相同主要是为了进行调试方便,我们将文件读取和保存放在不同的文件中。

2.对于文件的操作,遇到的最大的问题是readline()返回值是什么,然后根据返回值确定是否达到文件结尾,尝试了-1,不成功,然后查了查API,知道了readline()返回值会为空,read()是-1.

3.对于窗口的布局设计问题,开始的时候想把一个窗口的关闭去导致另一个窗口打开,但是在actionlistener中只能够实现框架的dispose,而且这个方式是放弃了对该框架的句柄,然后等待垃圾回收器去默认的调用fianalizer方法将其释放,这样做就增大了对内存的消耗,同时很容易产生空指针异常,经过上网查询,我们发现窗口一个windowlistener方法,在这个方法中,使用setvisible就可以实现我们想要的方法。

4.在对Customer对象完整的初始化的时候遇到了很大的问题,因为Customer对象实例化的内容很多,不仅包括用户的基本信息,还有用户历史处方的初始化,处方的初始化同时还要有处方药物的初始化,三者要同时进行初始化才能将完整的用户信息初始化,然后才能添加到用户容器CustomerDataBase单例模式的对象中,为此想了很多办法来解决这个问题,都没有实现预期的效果。研究了一下用户信息的模块化分配和标记信息来判断其归属对象,最后想到了解决办法:

Customer:

张三_123_1562345897_1991年9月19日_No1209389_太平洋保险公司

Prescription:

张三_B007_林医生_16725367487_2010年7月7日_2011年7月9日_8

张三_D001_黄医生_19878123459_2010年7月5日_2011年5月7日_3

张三_A003_林医生_17865445678_2010年3月7日_2011年9月7日_4

PrescriptionItems:

B007_感冒灵_3

D001_白加黑_3

A003_止咳糖浆_2

A001_阿莫西林_2

A001_白加黑_3

D002_阿莫西林_4

C003_感冒灵_9

C003_阿莫西林_5

如上面格式所示分别写在三个文件里,在类FileCustomerLoader中定义该文件读取的方法,用户名标记处方,处方ID标记处方中的药物,利用字符串利用StringTokenizer分割后得到的初始字符串来判断将其给每个对象进行实例化,利用三重循环并成功读取文件的信息将Customer对象完整实例化。然后成功将Customer对象添加到单例模式下的CustomerDataBase对象中。

5.在事件处理的时候,添加处方和删除处方遇到的共性问题是:点击添加的时候系统错误:prescription空指针,因为此时的时候系统还是默认你选择了处方记录中的处方ID但是没有没有选择,而且我预期的效果是点击删除或添加处方后此时处方信息中不显示,处方药物和替代药物都是空显示,如同用户成功登陆到该界面的时候那种没有任何选中状态,为此我尝试了好久,那么既然再添加或删除的时候默认选择了那么我就添加一个JList.

isSelectionEmpty()来判断JList内是否被选中然后在执行事件的处理.然后将其他的文本区域和JList都设置为空,

class

RemovePrescription

implements

ActionListener{

public

void

actionPerformed(ActionEvent

event)

{

if(historyList.getSelectedValue()!=null){

String

Id=(String)historyList.getSelectedValue();

Prescription

prescription=customer.getHistory().getPrescription(Id);

customer.getHistory().removePrescription(prescription);

historyList.setListData(customer.getHistory().getPrescriptionIDs());

customerinformationPanel.removeAll();

customerinformationPanel.setVisible(false);

customerinformationPanel.setVisible(true);

String[]

emperty=new

String[1];

emperty[0]=““;

toReplaceDrugList.setListData(emperty);

prescriptionItemList.setListData(emperty);

}

else{

statusTextArea.setText(“Please

select

a

prescription.“);

}

}

}

但是发现使用后还有一个问题就是该List还是可以被选中的,然后就会出现空指针的异常,所以接下来解决的是如何让其不被选中而又处于空内容的状态,思考以后决定用List.

setVisible(false)来让其不能被选中因此不会出现空指针的异常情况,然后需要显示List的内容的时候在用List.setVisible(true)来显示内容然后被选中显示其他信息。

6.还有大家都会遇到的一个共性的问题,那就是空指针异常,对这个问题,我们可真是想了好久,虽然eclipse会提供给你几个提示的地点,可原因能为空指针异常,但为了真正的找到原因,我们使用了System.out.println()方法,来进行最终变量的确定来找到出路,在这里我们发现,eclipse提供的出处,每次都是第一个被提供的位置。

4.

总结

小组讨论的时候大家积极提出自己的见解对设计思想,而且在开始的时候组长都明确了每个组员的工作:

贾春辉和刘宇飞负责系统主界面和管理员界面即功能的实现(涉及的类两人讨论完成):

贾春辉:管理员界面的布局和管理员功能的实现

刘宇飞:系统主界面的布局和界面功能的实现

顾刚和徐茜负责用户界面以及功能的实现(涉及的类)两人讨论完成:

顾刚:用户界面的布局和添加处方,删除处方功能,保存功能的实现

徐茜:替换药物和药物查询,取药功能,退出功能的实现

界面的桥接:贾春辉和顾刚

工作的过程中大家都表现得很积极,为了完成工作都加班加点,遇到不会的问题积极在一起讨论或请教其他同学。每一个人都是认真负责出色的完成了自己的工作,可以说这次系统的成功完成离不开大家团结合作的精神和积极地态度。

每个人都是最棒的!

5.

参考资料

Jacquie

Barker

z著《Beginning

Java

Object中文版

从概念到代码(第二版)》

《Thinking

in

Java》

14

篇2:ZGP软件过程综合实验报告格式模版

ZGP软件过程综合实验报告格式模版 本文关键词:模版,过程,实验,格式,报告

ZGP软件过程综合实验报告格式模版 本文简介:中南民族大学计算机科学学院软件过程综合实验报告题目年级专业指导教师小组成员(姓名学号)实验类型综合型成绩评定评语:教师签名:*年*月*日2007年11月22日一、前言1.目的软件产品不能靠人们的意念瞬间完成,它需要一个研发过程。一般情况下,好的过程才可能得到好的产品,而差的过程会得到差的产品。人们使

ZGP软件过程综合实验报告格式模版 本文内容:

中南民族大学

计算机科学学院

软件过程综合实验报告

指导教师

小组成员(姓名学号)

实验类型

综合型

成绩评定

评语:

教师签名:*年*月*日

2007

11月

22

一、前言

1.目的

软件产品不能靠人们的意念瞬间完成,它需要一个研发过程。一般情况下,好的过程才可能得到好的产品,而差的过程会得到差的产品。

人们使用合适的方法、技术、工具才能开发出用户需要的产品。过程是指“人,方法,技术和工具”的集合。

过程被写成文档后,变成了公司的“流程制度”,公司成员们依据“流程制度”开展工作,这叫“法治管理”。

本实验的目的是按照软件过程的规范要求,结合实际的程序设计,来深入理解并运用软件过程的基本概念、方法与过程。

软件开发过程综合实验要求学生在学习完程序设计语言、数据结构、操作系统等课程后,综合利用所学计算机软件知识完成一个应用系统的设计。是一个重要的教学实践环节,是对学生所学知识的掌握和应用程度的一个全面地、综合地考察。

在学生初步具备了一定的软件程序设计基础上,本课程设计针对日常应用中的实际问题,要求学生完成一个相对完整的应用系统,培养学生运用软件研发过程解决实际应用问题的能力,巩固和加深所学理论知识,初步掌握一个完整应用系统的开发过程和方法。加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;进一步熟悉应用系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。培养相关专业专业本科学生科学研制、开发应用系统的基本过程和能力,为计算机在本专业领域的应用奠定基础;培养学生成为计算机硬件和软件知识都过硬的专业人才。

2.项目背景概述

3.项目实施环境(注:包括开发、运行环境)

4.项目人员及其分工

5.项目实施计划

二、需求分析

1.概述

2.功能需求

3.其它需求(包括安全、性能需求)

三、分析与设计

1.应用程序框架设计(包括相关原理与主要技术手段)

2.迭代实施

3.功能模块设计

四、调试与使用

1.(详细分析所遇问题和相应的解决方法)

2.使用说明

五、总结

(要求1000字左右,结合实际探讨对软件过程的认识与体会,包括所使用的主要技术、生命周期模型、人员配置与管理、产品及项目管理与实施等几个方面)

六、参考文献

七、附录

篇3:Wuzall托福Speaking六大题型总结及口语模版

Wuzall托福Speaking六大题型总结及口语模版 本文关键词:题型,托福,模版,口语,Wuzall

Wuzall托福Speaking六大题型总结及口语模版 本文简介:生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。--泰戈尔SpeakingSectionTipsByCarmenIndependentspeakingInthissection,youshouldpresenty

Wuzall托福Speaking六大题型总结及口语模版 本文内容:

生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。

--泰戈尔

Speaking

Section

Tips

By

Carmen

Independent

speaking

In

this

section,you

should

present

your

own

opinion

and

provide

examples

to

support

your

ideas.

Tips:

u

Try

to

describe

as

specific

as

possible.

u

Try

to

contain

as

much

information

as

possible

in

your

statement.

u

You

needn’t

to

tell

the

truth,but

must

be

logical

and

easy

to

understand.

Question

1

“I

think/

I

believe/

In

my

opinion….”

Question

2

“I

prefer…/

I

strongly

agree

with

the

idea/

opinion

that…”

Integrated

speaking

Question

3

In

this

part,you

should

present

the

man/

woman’s

attitude

first,and

then

explain

the

reasons

she

gives.

Remember,you

should

not

talk

about

your

own

opinions.

“The

woman/

man

agrees

with

the

announcement/

memo/

letter

(and

thinks

that

the

university

is

right

to

…)

One

reason

is

that…(explain).

In

addition,…(explain)”

www。zige365。com

Tips:

u

In

reading

you

may

have

no

time

to

take

notes,so

try

to

remember

what

the

passage

tells

you.

u

When

listening,take

notes

as

many

as

impossible.

However,if

taking

notes

disturb

your

understanding

of

the

listening

materials,you

should

focus

more

attention

on

listening,rather

than

taking

notes.

u

Focus

on

the

key

points

the

woman/

man

gives.

You

should

not

miss

anyone.

Question

4

“In

the

lecture,the

professor

provides

two

examples

to

demonstrate

that

….

One

example

is

that…

Another

example

Is

that

So…”

Tips:

u

Firstly,look

through

the

short

passage

quickly,find

the

key

words

and

memorize

or

put

them

down

if

time

allows.

u

When

taking

the

notes,pay

attention

to

the

signal

words,and

find

out

the

key

points.

u

Don’t

contain

your

own

opinions.

Question

5

In

this

section,you

should

state

what

problem

the

man

or

the

woman

faces

and

the

woman

or

the

man

offers

what

solutions

for

him

or

her.

Then

give

your

own

choice.

However,you

should

leave

15

to

20

seconds

to

explain

your

reasons.

“In

this

conversation,the

man/

woman

is

facing

the

problem

that…

And

the

woman/

man

offers

him/

her

alternative

solutions.

One

is

The

other

is

As

for

me,I

prefer

option….

For

one

thing

For

another

thing

…”

www。zige365。com

Tips:

u

You

needn’t

to

remember

too

many

details.

Taking

down

the

key

points

is

enough,because

you

have

to

leave

15

to

20

seconds

to

explain

your

own

choice.

u

Remember

that

you

have

to

state

your

own

ideas

in

this

section.

Question

6

In

this

section,the

speaker

usually

gives

two

examples

to

explain

a

theory

or

a

phenomenon.

So

try

to

find

out

what

the

theory

or

phenomenon

is,and

the

description

of

the

examples.

“In

the

lecture,the

professor

provides

two

examples

to

demonstrate

that

…One

example

is

that…

Another

example

Is

that

So…”.(You

can

change

this

style

according

to

different

lectures)

Tips:

u

Question

6

is

similar

to

Question

4

to

some

extent.

However,it

doesn’t

offer

any

clue

for

you

before

you

hear

the

lecture.

So

you

have

to

understand

the

lecture

thoroughly.

u

In

this

section,you

should

take

notes

as

many

as

possible,especially

the

details

of

the

examples,because

you

have

to

name

them

when

you

give

your

summary.

u

As

there

are

too

many

details,you

needn’t

to

take

all

of

them

down.

u

I

think

the

logicality

in

this

part

is

very

important.

When

listen

to

the

lecture,try

to

figure

out

the

logical

relationships

among

different

objects.

u

When

speaking,try

to

even

distribute

time,because

you

have

to

cover

two

points.

版权所有:蓬勃范文网 2010-2024 未经授权禁止复制或建立镜像[蓬勃范文网]所有资源完全免费共享

Powered by 蓬勃范文网 © All Rights Reserved.。蜀ICP备20021444号