1.3.3 课题的难点
(1)软件问题:因为在平时学的知识不够全面与深入,在这次编写程序时需要深入学习;
(2)客户端界面设计:如何设计出易于用户使用和管理且尽可能美观的操作界面,是一个需要解决的难题;
(3)系统设计问题:该系统需要多个界面的相互关联,所以类的使用方法至关重要;另一方面,数据库之间的管理和更新,以及数据库访问权限的问题需要综合考虑,这是一个很棘手的问题。
1.3.4 系统开发模式
(1) 三层架构定义
本系统采用类似软件开发的三层架构(将BLL层写入了DAL层), “三层架构”中的“三层”是指:“表示层”(User Interface Layer—UI)、“业务逻辑层”(Business Logic Layer—BLL)、“数据访问层”(Data Access Layer—DAL)。
表示层:位于系统的最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,只提供软件系统与用户交互的接口界面。
业务逻辑层:位于表示层和数据访问层之间,专门负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是通过数据访问层从数据库读出这些数据。该层可以包括一些对“商业逻辑”描述的代码在里面。业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递。
数据访问层:仅实现对数据的保存和读取操作。数据访问包括访问数据库系统、二进制文件、文本文档或是 XML 文档。数据访问层只负责对数据的访问存取工作。
(2) 各层的职责分配
三层架构各层的分工是非常明确的。
表示层只负责接收用户输入的数据,并将业务逻辑层处理数据的结果显示给用户。进行表示层开发的人员需要掌握用户界面设计规范和具有较好的界面审美观,同时要了解用户使用的习惯。不要在表示层写与业务逻辑和数据访问相关的代码甚至 SQL 语句。
业务逻辑层只负责对数据的业务处理。开发人员不要在业务逻辑层里写访问数据库的 SQL 语句。业务逻辑层可以验证用户输入的数据、缓存从数据库中读取的数据等等。但是,业务逻辑层的实际目的是将数据访问层的最基础的存储逻辑组合起来,形成一种业务规则。
在数据访问层中,最好不要出现任何与业务逻辑和界面设计相关的代码。也就是说,要保证数据访问层中方法的功能仅负责存储或读取数据就可以了。
例如本程序的登录代码,则可以这样处理程序:表示层负责接收用户在界面输入的用户名和密码的数据,然后传给业务逻辑层。业务逻辑层对数据进行处理,给出用户登录正确判断的逻辑,需要访问数据库的时候就向数据访问发出访问数据的请求(调用数据访问层的函数)。数据访问层访问数据库并获得需要的数据,比如正确的登录用户名和密码,然后返回给业务逻辑层。业务逻辑层把给数据和用户输入的登录数据进行比较,如果比较的结果正确就将登录用户的详细信息最终返回给表示层。若比较的结果不正确,则返回错误信息并由表示层显示给用户。
(3) 使用三层架构的目的
三层架构是将应用程序的业务规则、数据有效性校验等工作放到了中间的业务逻辑层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过业务逻辑层与数据库访问层进行交换。开发人员可以将商业的业务逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下,为用户提供一个简洁的界面。这样一来如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。 我们用三层结构的主要目的正是为了使软件的系统结构更清楚,软件开发工作分工更明确,有利于后期的文护和升级。尽管,它没有提升软件系统的性能,但从团队开发效率角度上来讲却可以感受到大不相同的效果。需要说明一下,三层架构并不仅仅专门用在数据库上,它是一种更加通用的软件架构设计理念。 C#人事管理系统设计+文献综述(5):http://www.751com.cn/jisuanji/lunwen_17814.html