已阅读5页,还剩63页未读, 继续免费阅读
(电路与系统专业论文)基于MVC模式的株洲技术学院学生成绩管理系统[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 m v c 设计模式现在已经广泛应用于软件设计。随着网络应用的快 速增加,m v c 模式对于w e b 应用的开发无疑是一种非常先进的设计思 想,它能为我们分析应用模型时,提供最基本的分析方法,提供清晰 的设计框架,为软件工程提供规范的依据,使设计和使用有了很大灵 活性。 现有的学生成绩管理系统主要采用v b 和桌面数据库技术实现, 采用c s ( 客户机服务器) 模式,维护困难,一般也只能在局域网内 部使用,我院的校园因为几个校区并不在同一局域网内,所以使用不 方便,采集的数据不全面,针对以上问题,开发了基于m v c 模式的中 职学校( 株洲技术学院) 学生成绩管理系统,具有以下特点: ( 1 ) 利用w e b 技术支持,利用a s p n e t 技术实现,使用方泛,推 广性能好。 ( 2 ) 系统采集的数据全面,数据采集方式和地点多样性,安全性 能高,使用方便。 ( 3 ) 采用m v c 架构模型,并采用了l i n q 数据库集成查询技术,从 而增强了系统的可操作性。 ( 4 ) 重点实现了成绩数据采集、管理和查询等功能,系统结构具 有很好的扩展性和可维护性。 实际应用表明本系统是一个非常实用并且简单易用的应用系统, 使用方便,界面简洁,适应性能好,能完全满足本院学生成绩管理的 需求。 关键词:l i n q 技术,m v c 模式,学生成绩管理 a b s t r a c t m v cm o d e lh a sb e e na h a d ye x t e n s i v e l yu s e di nt h ed e s i 舯o f s o r w a r c o n gw i t ht h eq u i c k l yi n c r e a s i n go fn e t w o r k 印p l i c a t i o n ,t h e d e v e l o p m e mo fm v cm o d e li so n eo fv e 珂a d v a n c e dd e s i g nf o r 、入但b n c o u l dp r o v i d et l l eb a s i ca i l a l y s i sm e t h o df o ro l l ra i l a l y s i so ft h em o d e l , p r o v i d et h ed i s t i n c td e s i g n 丘a l l l ea n dt h eb a s i cs t a n d a r df o rt h es o 行a r e e n g i n e e r i n g ,a n dm a k et h en e x i b i l i 锣f o rt h ed e s i 蛐e fa n du s e rm o r c f l e x i l e t h er e c e ms t u d e n t p e r f o 彻a n c em a n a g e m e n ts y s t e mi s( t h e c u s t o m e rm a c h i n e s e r v e r ) c sm o d e l ,w h i c hm a i n l yu s e s 觚da t a b l ed a t ab a s e t e c l l i l o l o g y t or e a l i z e r i l l em o d e li sd i m c u l t 蠡) r m a i n t e n a n c e ,g e n e r a l l yi tc 锄o n l yu s ei n 廿l el o c a la r e an e t w o r k a n d l e r ea r es e r v e r a ls c h o o ld i s 撕c t sw h i c hd on o ti nt h es 锄el o c a la r e a n e t w o r k ,t h e ya r en o tc o n v e n i e n tt od od a t ac o l l e d i o n a c c o r d i n gt ot h e a b o v eq u e s t i o n s ,w ed e v e l o p e dt l l e s e c o n d a 珂s c h o o l ( z h u z h o ut e c h n i c c o l l e g e ) s t l l d e n tp e d 0 m a l l c em a n a g e m e n ts y s t e m ,b a s e do nm v cm o d e l , w h i c hp o s s e s s e st h ef o l l o w i n gc h a r a c t e i l i s t i c s : ( 1 ) u s e 廿l et e c h i l i c a ls u p p o r to fw e b ,a 1 1 dd e v e l 叩i tb ya s p n e t ,i l c 锄b e w i d e l yu s e da 1 1 de a s i l yp o p u l a “z e d ( 2 ) t h es y s t e mc a nc o l l e c t 向l l e rr e l e a s eo fd a t ai ns e v e r a ls i t e sa i l d i i ls e v e r a lw a y s ,h a sh i 曲l e v e ls e c 嘶t y 锄di sc o n v e n i e m t ou s e ( 3 ) u s em em v cm o d e l t ob u i l dt l l es y s t e ma n d 妇a b a s e 硫e 卿e d r e 佗m lt e c l l i l o l o g y t h u sr e i n f o r c et h eo p e r a b i l i 班 ( 4 ) t h ee m p h a s i si st h a ti tp e r f o m e dt h ef h n c t i o n so fd a t ac o l l e c t i o i l m a i l a g e m e n ta i l dr e q u 珥i th a sw e l le x p a l l s i b i l i t ya n dm a i n t a i n a b i l i 够 t h ep r a c t i c a l 印p l i c a t i o ni n d i c a t e sm a tt h i ss y s t e mi sv e d rp r a c t i c a l a 1 1 ds i m p l y i ti sc o n v e n i e n tt ou s e ,l ei n t e r f a c ei sc l e 弧e a c hf h n c t i o no f m em o d u l ei sd i s t i n c t ,a n dt h es y s t e mh a sag r e a te x p a n s i o n k e yw o r d s : l i n qt e c l l i l i c ; m v cm o d e l ; s t u d e n t p e f f - 0 m a n c e m a l l a g e m e n ts y s t e m 湖南师范大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:椭拗劲汐芦年 ,月石 日 湖南师范大学学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 研究生在校攻读学位期间论文工作的知识产权单位属湖南师范大学 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权湖南师范大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 本 l 、 2 、 年解密后适用本授权书。 ( 请在以上相应方框内打“ ) 作者签名:跚垧 日期:矽7 年 锄擀:协幂够飙叶 ,r 月6 日 7 月彩日 基于m v c 模式的株洲技术学院学生成绩管理系统 1 1 论文背景 第1 章绪论 近年来,企业级应用系统大多部署到w e b 服务器上,早期的w e b 应用程序开发技术,已不能很好的胜任这一需求。a s p p h p j s p 等技 术,都将业务处理逻辑和用户交互界面纠结在一起,这种耦合使得界 面设计的修改和业务逻辑的变动在大型应用程序中既困难又昂贵。 许多w e b 应用都是从数据存储检索数据并将其显示给用户。在用 户更改数据之后,系统再将更新内容存储到数据存储中。因为关键的 信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户 界面这两部分绑在一起,以减少编码量并提高应用程序的性能。但是, 这种看起来自然而然的方法有一些大问题:一是,用户界面的更改往 往比数据存储系统的更改频繁得多;二是,这种耦合往往会兼并其他 业务逻辑。那么如何让w e b 应用程序的用户界面功能实现模块化, 以便可以轻松地单独修改各个部分呢? m v c 架构可以很好地解决上 述问题。 m v c ( m o d e 卜v i e w c o n t r 0 1 1 e r ) 即把一个应用的输入、处理、输 出流程按照m o d e l 、v i e w 、c o n t r o l l e r 的方式进行分离,这样一个 应用被分成三个层模型层、视图层、控制层。 m v c 架构模式把系统划分为模型一视图一控制器三个独立的领 域,如图卜l 所示。 中等职业学校教师攻读硕士学位论文 一方法调用 事件 图1 1 眦结构【4 l m o d e l 对应于数据处理,v i e w 对应于数据输出,c o n t r o l l e r 对 应于输入输出控制。m v c 模式可以有效地避免数据处理、数据表示、 程序输入输出控制等不同的内容纠结在一起,从而简化系统的维护, 提高可扩展性、灵活性和重用性。 m v c 是通过合理的设计将软件的数据部分( m o d e l ) 和界面部分 ( v i e w ) 拆开,通过彼此间的定义接口相互通讯。这样一来,美工和代 码设计人员就可以相对独立地完成各自的工作。许多软件中的“皮肤” 可以随意变化而无需更改代码,使用的就是m v c 技术。 a s p 是当今w e b 应用程序的主流开发平台之一。a s p 是微软公司 提出的一个w e b 开发平台,它提供了一个实现m v c 模式的环境。在 a s p 中,以页面( 视图) 为中心:每一个视图( a s p 文件) 都有一个 对应的控制器( 页面隐藏代码a s p c s 文件) 叫。按照微软架构与模 式小组的文献“e n t e r p r i s es o l u t i o np a t t e r n su s i n g m i c r o s o f t n e t ”b 1 的定义,这是对m v cm o d e l 的实现:页面控制器 基于m v c 模式的株洲技术学院学生成绩管理系统 捕获浏览器发生的事件和提交的数据,然后调用模型来处理它们,控 制器实际上是视图和模型两者之间的一个中间层。用户、视图、模型、 控制器、数据库五者之间的通信如图卜2 所示。 图i 2a s p 中用户、模型、视图、控制器和数据五者间的通信【4 】 1 2 问题的提出 我们以往设计的学生成绩管理系统采用v b 和s q ls e r v e r 2 0 0 0 数据库技术实现,是c s ( 客户机服务器) 模式,使用复杂,且必须 在同一局域网内部使用,为加强职业院校学生成绩管理,我提出设计、 改进本系统的想法: ( 1 ) 以原有系统为原型,采用m v c 架构模型,利用a s p 及数据库 技术实现。 ( 2 ) 采用m v c 构架模式建立的系统,使用方便,可维护性、可拓 展性强,便于以后软件中功能和内容的增减,有利于跟随需求而更新。 m v c 设计模式现在已经广泛应用于软件设计。随着网络应用的快 速增加,m v c 模式对于w e b 应用的开发无疑是一种非常先进的设计思 想,它能为我们分析应用模型时,提供最基本的分析方法,提供清晰 中等职业学校教师攻读硕士学位论文 的设计框架,为软件工程提供规范的依据,使设计和使用有了很大的 灵活性。 m v c 是构筑软件非常好的基本模式,将业务处理与显示分离,强 迫将应用分为模型、视图以及控制层,使得开发者会认真考虑应用的 额外复杂性,把这些想法融进到架构中,增加了应用的可拓展性。如 果能把握到这一点,m v c 模式会使得开发者的应用更加强壮,更加有 弹性,更加个性化。 虽然在实际应用中,a s p 对m v c 模式的实现有以下不足n 3 : 控制器过多地作为模型和视图之间的信息传递的中介者,导致 控制器过度依赖于视图和模型。 模型直接和底层数据库会话,导致模型依赖于底层数据。 控制器直接调用模型内封装的业务功能,但它们之问存在一些 难以界定职责的行为,如日志、授权等,这些行为既不应该在控制器 内实现,又不应该在模型内实现,这往往会导致代码的重复分发并破 坏程序的结构。 虽然这些不完善之处使得w e b 应用的系统结构逐渐变得模糊并 且难以扩展和维护。但是m v c 模型可以为一个模型在运行时同时建立 和使用多个视图。m v c 机制可以确保所有相关的视图及时得到模型数 据变化,使所有关联的视图和控制器行为同步,从而解决了多视图同 步更新的问题;m v c 模型允许更换视图和控制器对象,可以根据需求 动态地打开或关闭、甚至在运行期间进行对象替换;m v c 模型可移植 性好。我们所设计的这套系统只是学校应用的一个部分,而且扩展和 维护工作量都不大,因此我们选用了a s p 构架m v c 模式。采用这种模 型设计该系统增强了系统的可维护性和可拓展性。 基于m v c 模式的株洲技术学院学生成绩管理系统 1 3lin q 语言级集成查询技术简介 本系统主要采用l i n q 语言级集成查询技术、m v c 技术、a s p 应用 技术、s q ls e r v e r 2 0 0 0 和v s i u a ls t d i o2 0 0 5 应用技术,采用a s p 架构m v c 模式。这里重点介绍l i n q 查询技术。 l i n q ,语言级集成查询( l a n g u a g ei n t e g r a t e dq u e r y ) 经过了最近2 0 年,面向对象编程技术( o b j e c t o r i e n t e d ( 0 0 ) p r o g r 锄m i n gt e c h n o l o g i e s ) 在工业领域的应用已经进入了一个稳 定的发展阶段。程序员现在都已经认同像类( c l a s s e s ) 、对象 ( o b j e c t s ) 、方法( m e t h o d s ) 这样的语言特性。考察现在和下一代 的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技 术诞生以来并没有解决降低访问和整合信息数据( a c c e s s i n ga n d i n t e g r a t i n gi n f o r m a t i o n ) 的复杂度的问题。其中两个最主要访问 的数据源与数据库( d a t a b a s e ) 和煳l 相关。 l i n q 提供了一条更常规的途径即给n e tf r 叫e w o r k 添加一些 可以应用于所有信息源( a l l8 0 u r c e so fi n f o r m a t i o n ) 的具有多种 用途( g e n e r a 卜p u r p o s e ) 的语法查询特性( q u e r yf a c i l i t i e s ) , 这是比向开发语言和运行时( r u n ti m e ) 添加一些关系数据 ( r e l a t i o n a l ) 特性或者类似x m l 特性( ) ( m l s p e c i f i c ) 更好的方 式。这些语法特性就叫做n e tl a n g u a g ei n t e g r a t e dq u e r y ( l i n q ) 。 l i n q 技术包含d l i n q 和x l i n q 两类技术。 一、语法实例 c # 3 ol i n q 查询语法 首先来看一个很简单的l i n q 查询例子,查询一个i n t 数组中小 中等职业学校教师攻读硕士学位论文 于5 的数字,并按照大小顺序排列: c l 邪sp r o g r 锄 s t a t i cv o i dm a i n ( s t r i n g 】a r g s ) i n t 】a r r = n e wi n t 】 8 ,5 ,8 9 ,3 ,5 6 ,4 ,1 。5 8 : v a r _ = f r ni na u r r h e r en 50 r d e r b yns e l e c tn : f o r 掘c h ( v a rni n 丑) fc o n s o l e w r i t e l i n e ( n ) : c o n s o l e r e a d l i n e ( ) : 上述代码除了l i n q 查询语法外,其他都是我们所熟悉的语法, 而l i n q 查询语法跟s q l 查询语法很相识,除了先后顺序。 我们再来看一个稍稍复杂的l i n q 查询: 在我们罗列的语言字符串中,我们希望按照字符长短,分类罗列 出来,实现代码如下: s t a ti cv o i dm a i n ( s t r i n g 】a r g s ) s t r i n g 【】l 鲫g u a g e s = j a v a 一,c # 一,一c + + 一d e l p h i 一,v b n e t 一,v c n e t 一,一c + + b u i l d e r 一,一k y l i x 一,一p e r l ,一p y t h o n 一 : v a rq u e r y = f r i t e - i nl a n g u a g e s o r d e r b yit e - g r o u pi t e _ b yi t e m l e n g t hi n t ol e n g t h g r o u p s o r d e r b yl e n g t h ( 打o u p s k e yd e s c e n d i n g s e l e c tl e n g t h g r o u p s : f o r e a c h ( v a ri t e ni nq u e r y ) c o n s o l e 霄r i t e l i n e ( ,s t r i n g so f1 e n g t h ,i t e m k e y ) : f o r 阻c h ( v a rv a li ni t 明) c o n s o l e w r it e l i n e ( v a l ) : ) c o n s o l e r e a d l i n e ( ) : 其中的i n t o 关键字表示将前一个查询的结果视为后续查询的 生成器,这里是跟g r o u pb y 一起使用的。 l i n q 中的g r o u pb y 不要跟s q l 中的g r o u pb y 混淆,s q l 由于 是二维结构,g r o u pb y 的一些逻辑受二维结构的约束,无法象l i n q 中的g r o u pb y 这么灵活。 6 基于m v c 模式的株洲技术学院学生成绩管理系统 二、l i n q 的内部执行原理浅析 l i n q ( l a n g u a g ei n t e g r a t e dq u e r y ) 是v i s u a ls t u d i o2 0 0 5 中的领军人物。借助于l i n q 技术,我们可以使用一种类似s q l 的语 法来查询任何形式的数据。目前为止l i n q 所支持的数据源有s q l s e r v e r 、) ( i i l l 以及内存中的数据集合。开发人员也可以使用其提供的 扩展框架添加更多的数据源,例如m y s q l 、a m a z o n 甚至是g o 0 9 1 e d e s k t o p 。 一般来讲,这类查询语句的一个重要特点就是可以并行化执行。 虽然有些情况下并行可能会带来一些问题,但这种情况非常少见。这 样也就水到渠成地引出了p l i n q 这个并行处理的l i n q 类库。 p l i n q 原名为p a r a l l e ll i n q ,支持x m l 和内存中的数据集合。 执行于远程服务器上的查询语句( 例如l i n qt os q l ) 显然无法实现 这个功能。 将l i n q 语句转换为p l i n q 语句极为简单只需要在查询语句 中f r o m 子句所指定的数据源的最后添加a s p 盯a 1 1 e l ( ) 即可。随后 w h e r e 、o r d e r b y 和s e l e c t 子句将自动改为调用这个并行的l i n q 版 本。 据m s d nm a g a z i n e 介绍,p l i n q 可以以三种方式执行。第一种是 管道处理:一个线程用来读取数据源,而其他的线程则用来处理查询 语句,二者同步进行虽然这个单一的消费线程可能并不那么容易 与多个生产线程同步。不过若是能够仔细配置好负载平衡的话,仍然 会极大地减少内存占用。 第二种模式叫做“s t o pa n dg o ”,用于处理结果集需要被一次 返回时( 例如调用t o l i s t 、t o a r r a y 或对结果排序) 的情况。在这种 模式下,将依次完成各个处理过程,并将结果统一返回给消费线程。 这个模式在性能上将优于第一种模式,因为它省去了用来保持线程同 7 中等职业学校教师攻读硕士学位论文 步所花费的开销。 最后一种方法叫做“i n v e r t e de n u m e r a t i o n 。该方法并不需要 实现收集到所有的输出,然后在单一的线程中处理,而是将最终调用 的函数通过f o r a l l 扩展传递到每个线程中。这是目前为止最快的一 种处理模式,不过这需要传递到f o r a l l 中的函数是线程安全的,且 最好不包含任何l o c k 之类的互斥语句。 若是p l i n q 中任意的一个线程抛出异常,那么所有的其他线程将 会被终止。若是抛出了多个异常,那么这些异常将被组合成一个 m u l t i p l e f a i l u r e s e x c e p t i o n 类型的异常,但每个异常的调用堆栈仍 会被保留。 1 4 论文研究的主要内容 本论文中所讨论的学生成绩管理系统的设计方案主要能够实现 以下目标: 论文中研究实现本系统的m v c 模式的实现、a s p 应用技术、s q l s e r v e r 2 0 0 0 应用技术、v s i u a ls t d i 0 2 0 0 5 应用技术和l i n q 语言级 集成查询技术的应用: 采用上述技术完成本系统的基本功能:学生成绩的输入、输出、 打印、统计、分析、查询、筛选等功能; 界面结构能够在不改变软件的功能和模型的情况下,支持用户 对界面构成的调整,不影响数据处理的上述前两项功能( m v c 模式的 实现) 。 通过本系统,使学生成绩管理智能化,成绩统计、分析自动化, 不需要重复的手动工作,大大减少了工作量,增加了数据的安全性, 使部门之间成绩管理工作协调一致。 基于眦模式的株洲技术学院学生成绩管理系统 1 5 系统开发环境 本系统需要在w i n 2 0 0 0 w i n x p 下预装ii s ( i n t e r n e t 信息服务) 后( 如果没装,可用w i n d o w s 系统安装盘装之) 运行,另外,如果系 统所在盘符是n t f s 格式的,那么要把本系统所在目录中的 “d a t a b a s e 一目录的安全属性改成u s e r 角色也能进行修改( 否则可 能将无法对数据库进行增、删、改操作) 。 除此以外,还需要安装以下软件:s q ls e r v e r2 0 0 0 和v i s u a l s t d i 0 2 0 0 5 。 1 6 论文结构 第l 章绪论:本章主要介绍论文选题背景、研究意义和基础技 术等内容。 第2 章系统总体结构:本章是论文的核心部分之一,主要介绍 学生成绩管理系统的系统结构、数据库设计、w e b 页的设计、m v c 架 构方法等内容。 第3 章系统主要功能实现:本章是论文的核心部分之二,主要 论述系统所采用的设计流程、系统主要功能模块的功能实现方式、数 据流图、系统流程图和关键部份的算法等内容。 第4 章系统运行实例:本章主要论述关键模块和功能的调试与 运行结果。 中等职业学校教师攻读硕士学位论文 2 1m v c 设计 第2 章系统总体设计 2 1 1m v c 的设计 实现基于m v c 的应用需要完成以下步骤,如图2 一l 所示: 图2 - lm v c 实现过程l 1 l 、分析当前应用,分解系统功能: 分析当前应用问题,分离出系统的内核功能( m o d e l ) 、系统的输 入输出( v i e w ) 、系统的输入输出流程控制、行为控制等控制功能 ( c o n t r o l l e r ) 。 2 、设计和实现模型: 设计模型部件使其封装应用功能、属性。提供访问显示数据的操 基于m v c 模式的株洲技术学院学生成绩管理系统 作,提供控制内部行为的操作以及其他必要的操作接口。这部分的构 成与具体的应用问题紧密相关。 3 、设计和实现视图: 设计每个视图的显示形式,视图从模型中获取数据,并将数据显 示在屏幕上提供发送用户请求给控制器;允许控制器选择视图。 4 、设计和实现控制器: 对于每个视图,实现对用户的请求映射到模型。并根据模型处理 结果。选择合适的视图显示。在模型状态的影响下,控制器使用特定 的方法接受和解释这些事件。控制器的初始化建立起与模型和视图的 联系,( 这里一般会用观察者模式) 并且启动事件处理机制。事件处 理机制的具体实现方法依赖于界面的工作平台。 为了实现m v c 网络应用程序,我们用下面的u m l 类图来说明其具 体的设计和实现过程,如图2 2 所示。 州) 方法把该视图建 立的h t m l 页面以数据 流的形式传送到客户端 图2 - 2 实现m v c 的类图【7 】 m v c 并没有明确的定义,它仅代表一种软件设计思想。所以在不 同的应用环境下,可能有不同的实现方式。只有深刻理解其思想,结 合实际情况。才能构建合理的应用。 中等职业学校教9 币攻读硕士学位论文 2 1 2m v c 架构的优点及不足 1 、m v c 的优点 m v c 的优点体现在以下几个方面: ( 1 ) 有利于团队开发分工协作和质量控制,降低开发成本。 ( 2 ) 可以为一个模型在运行时同时建立和使用多个视图。变化一传 播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有 关联的视图和控制器做到行为同步。 ( 3 ) 视图与控制器的可接插性,允许更换视图和控制器对象,而且 可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。 ( 4 ) 模型的可移植性。因为模型是独立于视图的,所以可以把一个 模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和 控制器进行新的修改。 ( 5 ) 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅 是用在设计界面的设计中。 2 、 i 、,c 的缺点 m v c 的不足体现在以下几个方面: ( 1 ) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循 m v c ,使模型、视图与控制器分离,会增加结构的复杂性,并可能产 生过多的更新操作,降低运行效率。 ( 2 ) 视图对模型数据的访问效率低。视图可能需要多次调用m o d e l 才能获得足够的显示数据。 基于m v c 模式的株洲技术学院学生成绩管理系统 ( 3 ) 完全理解m v c 并不是很容易。使用m v c 需要精心的计划,由于 它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于 模型和视图要严格的分离,这样也给调试应用程序带来了一定的困 难。 总之与软件所处理问题的内在模型相比较,用户界面是需要经 常发生变化的,采用m v c 设计模式可以在满足对界面要求的同时,使 软件的计算模型独立于界面的构成。也可以基于此模型建立大型分布 式应用程序框架。 m v c 并不适合小型甚至中等规模的应用程序,花费大量时间将 m v c 应用到规模并不是很大的应用程序通常会得不偿失。 m v c 是一种软件开发架构。和其它设计模式一样,它不是万能的, 也不是一成不变的。要根据具体情况灵活运用。 2 2 系统功能结构 本系统的系统结构主要为四种用户类型所有:学生、班主任、管 理督导、超级管理员。系统结构图如图2 3 所示: ( 1 ) 学生可以察看其本人的成绩以及班主任为其写的评语等: ( 2 ) 班主任可以添加本班的学生、添加课程、添加某一学期的课程、 添加、察看和打印本班学生某一学期的成绩,以及写一些留言信息等 内容。 ( 3 ) 管理督导可以查看和打印所有班级所有学期的成绩 ( 4 ) 超级管理员可以增加学生、班主任、管理督导这些用户并且可 中等职业学校教师攻读硕士学位论文 以创建班级并指定其班主任。 2 3 数据库设计 图2 - 3 系统功能结构图 2 3 1 数据库的设计思路 从系统结构来看,数据库设计思路如下: 要建立一张数据表,用来存放各种信息,比如说学生信息、成绩 基于m v c 模式的株洲技术学院学生成绩管理系统 信息、教师信息等。查询记录时,往往是按班组和学期来查的, 所以在数据量比较大的表,如成绩表中,可以在班级和学期字段上加 上索引,以加快查询速度,因为成绩一般情况下只会输入一次,并且 以后几乎不会再修改,所以虽然加上索引后,会降低一些更新数据表 的速度,但这个并不是太要紧,因为还是查询的概率比更新数据表的 概率要大得多。 为了条理清楚,所以为学生、教师和超级管理员各建了一张数据 表,其中,超级管理员的数据表的内容只有一条,即超级管理员是固 有的,因为超级管理员是掌握着管理其它用户的权限,所以自己本身 在程序里是不能被删除的,并且是永远存在的。 根据上面的思考过程,所以需要对成绩进行管理的话,就需要建 立科目表、班级表、每学期科目表、成绩表。其中,科目表是用来存 放本学校所开的科目;班级表用来存放学校所有的班级名称等信息; 每学期科目表用来存放班级经历过的学期所开的科目;成绩表用来存 放班级里每位学生每次考试的成绩。另外,本来打算再建一个学期表, 但根据本校的实际情况,发现一般的学生最多升到五年级,所以学期 表其实就写死在了程序里,这样可以使程序运行时减少对数据库的读 写,以提高程序的运行速度。 另外,有时候教师会写一些对某一学生的评语,以及其它的供督 导看的留言信息,所以还要建两张表,一张是用来写学生每次考试完 后的评语的:另一张是给班主任或督导看的留言版,主要是起到备忘 录的功能。 以上,就是对数据库设计的主要思路,综上所述,需要建立以下 这些表:学生表( s t u d e n t s ) 、班主任表( c l a s s m a n a g e r ) 、超级管理 中等职业学校教师攻读硕士学位论文 员表( a d m i n ) 、科目表( c o u r s e s ) 、班级表( c l a s s i n f o ) 、每学期科 目表( k e m u i n f o ) 、成绩表( a c h i e v e m e n t i n f o ) 、学生评语表( r e m a r k s ) 、 班主任留言表( a f f i c h e i n f o ) 。 另外,为了把班主任、班级以及学期联系起来,所以需要建一张 把这三者联系起来的数据表( r e s p o n s i b i l 扎y i n f o ) ,用来确定某一 学期某一班级的班主任是谁。 2 3 2 数据库系统结构图 根据数据流向关系,我们可以画出数据库系统结构图。数据库系 统结构如图2 4 所示: 芝量= 骷一国 基= 数凰一陲 寸磊巾吲一凰静 学生凰划。工,倒凰谬嬲蟹 l 数撼录入、锯攥和羰缓 l 一 基于m v c 模式的株洲技术学院学生成绩管理系统 2 3 3 关键表之间关系结构图 在本系统中主要涉及到的表格就是关键表,在本系统中主要用到 了学生表、学生成绩表、班级表、学科表、班级和班主任对应表、班 级学期学科表、班主任或督导信息表等表格。 s t u d e n t s :学生表,用于存储学生基本信息; a c h i e v e m e n t i n f o :学生成绩表,用于存储学生各学期各科成绩 信息; c l a s s i n f o :班级表,主要用于存储班级名称和班级编号信息; c o u r s e s :学科表,主要用于存储各学科编号、学科名称等信息: r e s p o n s i b i l i t y i n f o :班级和班主任对应表,用于存储班级与班 主任的对应关系,存储的信息是班级的编号和班主任的编号。班主任 与班级之间是一对多的关系,就是说,一个班主任可以管理多个班级。 k e m u i n f o :班级学期学科表,主用通过存储班级编号、学期编号 和课程编号,并建立它们之间的联系,以达到存储各个班级各个学期 都有些什么学科的目的。 c l a s s m a n a g e r :班主任或督导信息表,主要存储班主任或管理督 导的基本信息,班主任和管理督导是通过权限来识别的。班主任只有 管理和查看本班学生成绩的权限,而管理督导拥有管理和查看全校学 生成绩的权限。 关键表之间的关系如图2 5 所示: 其中: s t u d e n t s 学生表与a c h i e v e m e n ti n f o 学生成绩表 中等职业学校教师攻读硕士学位论文 学生表存放学生基本信息,学生成绩表存放学生成绩信息,学生 图2 5 关键表之间的关系 表与学生成绩表是利用学生学号进行联系的,因为一个学生有多门课 程的成绩,所以学生表与学生成绩表之间是一对多的关系。 c l a s s i n f o 班级表与a c h i e v e m e n t i n f o 学生成绩表 班级表里存放班级名称和编号,利用班级表里的班级编号与学生 成绩表进行一对多的关系,因为每个班级只有一个编号和名称,而每 个班有多个学生。 cl a s s i n f o 班级表与c o u r s e s 学科表 学科表里存放每个班级所开设的课程,每个班级会开设多门课 程,因此班级表与学生科之间也是一对多的关系。 c l a s s i n f o 班级表与r e s p o n s i b i li t y i n f o 班级和班主任对应 表 班级表与班级和班主任对应表也是一对多的关系。 l r 基于m v c 模式的株洲技术学院学生成绩管理系统 c l a s s i n f o 班级表与k e 叫i n f o 班级学期学科表 班级学期学科表里存放每个班级每学期所开学科信息,班级表与 班级学期学科表之间也是一对多的关系。 c o u r s e s 学科表与k e m u i n f o 班级学期学科表 因为每个学科可能在多个班级开设,因此学科表与班级学期学科 表之间也是一对多的关系 c l a s s m a n a g e r 班主任或督导信息表与r e s p o n s i b 订i t yi n f o 班级和班主任对应表 因为一个班主任可能管理多个班级,因此班主任或督导信息表与 班级和班主任对应表之间也是一对多的关系。 2 3 4 数据库e r 图 班主任可以管理和查询课程信息和学生信息,学生学习课程,而 超级用户可以管理班主任、督导,督导也可以管理和查询学生信息。 各个关键表中的关键信息也可以分别列出来。因此,根据系统要求和 关键表之间的关系以及表的结构,可以画出系统数据库的e r 图如图 2 6 所示。 图中表明了各个对象所需要的属性和各对象之间的对应关系。超 级用户可以管理班主任、管理督导用户和学生用户;而班主任可以管 理学生成绩,可以管理学生学习的课程;而学生用户也可以由管理督 导用来进行管理。根据需要,我们提炼出了各个对象的基本属性: 超级用户:需要用户名和密码属性: 班主任用户:有用户名、密码、姓名、权限、相片等属性; l q 中等职业学校教师攻读硕士学位论文 图2 6 系统数据库e r 图 学生用户:学号、姓名、班级、密码、查阅次数、学习的课程等; 管理督导用户:用户名、密码、姓名和权限; 而学生学习的课程需要有课程名、成绩和属于哪一学期开课等基 本属性。我们将这些主要的关系通过上面的e r 图画了出来。 2 4m v c 在本系统中的实现 一、m v c 构架 m v c 即m o d e l 、v i e w 、c o n t r o l ( 模型一视图一控制器) 。m o d e l 对 应于数据处理,v i e w 对应于输出,c o n t r o l l e r 对应于输入输出控制。 在本系统模块中数据处理属于内部处理,而v i e w ( 对应于输出) 、 c o n t r o l l e r ( 对应于输入输出控制) 在本系统中显得尤为重要。 画出系统流程图,m v c 构架在图中可以体现,如图2 7 所示: 基于m v c 模式的株洲技术学院学生成绩管理系统 ( , 开始 、 、l i 用户输入登录信息 ( v c ) 图2 7 系统眦构架 m v c 并没有一个统一的规定指定哪一部分必需是m ,哪一部分必 需是v ,哪一部分必需要是c ,m v c 的构造可以根据系统的功能和实 际情况灵活构造和运用。在本例中。用户输入登录信息和各种查询输 入是视图是属于v ( 视图) 和c ( 控制器) 部分,而模型是由本例的 功能决定的。 二、主要功能模块m v c 构架图 由系统数据流程( 参考3 3 节相关内容) ,画出各个模块的m v c 构架图,图中m o d e l 对应于数据处理。v i e w 对应于输出,c o n t r 0 1 1 e r 对应于输入输出控制。 l 、班主任公告信息管理模块流程图,m v c 构架可以在图中体现, 如图2 8 所示: 班主任公告信息管理 图2 8 班主任公告信息管理模块流程图 2 l 中等职业学校教师攻读硕士学位论文 班主任对班级公告信息进行管理的模块中,用户是否添加公告可 以作为c ( 控制器) ,进行添加公告信息的操作同时可以是c ( 控制器) 和m ( 模型) ,读取公告信息的功能也可以同学作为c ( 控制器) 和m ( 模型) ,而显示公告信息和显示添加公告用的表单等部分输出则作 为此部分功能的v ( 视图) 。 2 、班主任成绩信息管理模块流程图,m v c 构架可以在图中体现, 如图2 9 所示: r 开始 、) 翟 多1 一 寸辛;珏 士i n 超圣石仁,p 正、l 1 批符脓曲掘伽,r n 进行删除操作( c m ) 卜堪1 j 凇月u 殊。l f t o 1 l 堪,l j 眵双俅佧m 肌j 不 i【了 查找选中班级所经历过 的学期,并用下拉框显 显示该学期所学的科 示。如果用户选过学 目,并且让用户输入每 式攀差漆羲曩撩 期,下拉框就停在用户 个科目的分数范围 ( m v ) 选中的学期上( m v ) v 显示来输入成绩的学 k 结束 ) 列表( m v ) 图2 - 9 班主任成绩信思管理模块沉程图 班主任成绩信息管理模块中,用户是否添加成绩、是否修改成绩 和是否删除成绩是这个部发的c ( 控制器) ,而进行添加操作、进行 修改操作或进行删除操作都是作为这部分的c ( 控制器) 和m ( 模型) , 其余操作,如查找选中班级所经历过的学期( 已学完的学期) ,并用 下拉框显示;显示该学期所学的科目,并且让用户输入每个科目的分 基于m v c 模式的株洲技术学院学生成绩管理系统 数范围;根据上述的信息显示学生成绩列表;显示未输入成绩的学生 列表等部分都同时是这部分功能的m ( 模型) 和v ( 视图) 。 3 、班主任留言信息查阅和添加留言模块流程图,m v c 构架可以 在图中体现,如图2 一l o 所示: 班主任留言信息查阅。班主任添加留言 ( ,开始、) 读取相应班级的留 言信息( c m ) 显示留言列表( v ) f结束 、) ( ,开始、) 显示添加留言表单 ( c m ) 添加留言( m ) ( r结束、) 图2 一1 0 班主任留言信思查阅和添加留言模块流程图 班主任留言信息查阅部分读取相应班级的留言信息是作为这部分 的c 和m ,而显示留言列表则是这部分的v 。 班主行添加留言则是显示添加留言表单部分作为这部分的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 执业药师资格考试药学专业知识(一)试题及答案全套
- 护理、院感和公卫基础知识考试试题及答案
- 2025 年大学多媒体技术(特效制作实操)试题及答案
- 新版新课标测试题及答案
- 智能制造专业考试试题及答案
- 月嫂证考试试题及答案完整版
- 机电传动控制复习题
- 高中生安全第一课课件
- 比亚迪上岗证理论考试试题及答案
- 水利工程协会监理员考试题库
- 动漫分镜美术课件
- 业务提成返还协议书
- 小学消防安全课件下载
- 卫生管理正高答辩试题带答案
- 《氯甲烷合成工艺副产稀硫酸》
- 钢结构厂房模块化施工技术与质量控制体系研究
- 公路维修养护质量保证体系
- 国家电投集团五凌电力有限公司笔试
- 【地理】跨学科主题学习 认识我国的“世界灌溉工程遗产”课件-2025-2026学年八年级地理上学期(人教版2024)
- 道路监控维护合同范本
- 70岁以上老人考驾照,三力测试题库(含答案)
评论
0/150
提交评论