软件工程详细设计

mac2024-12-04  25

目录

基本模块 2 1.1 人员管理模块 2 1.2 主要模块时序图 2 1.3 系统结构……………………………………………………………………….功能模块概述概述 3 2.1 注册模块 3 2.2 登录模块 3代码设计 5 3.1 接口设计 5 3.2 类设计 7 3.3 编程方法设计………………………………………………………………………输入输出设计……………………………………………………………………………. 5 设备及分布

一基本模块 1.人员管理模块IPO图

2主要模块时序图 用户登录

用户登录系统后,就浏览信息,修改信息将信息保存.

3、系统结构

英语翻译系统功能模块图

二 模块功能 1、注册模块(registerFrom)设计说明 1.1模块描述 该模块主要实现学生注册的功能,学生输入相关注册信息,进行注册,只有在注册后,学生才能够登陆,并进行报名,修改和查询信息操作。 1.2功能 1)对学生填入的注册信息进行检测:注册名可以为汉字但不能重复,学生姓名不能为空,密码重复两次输入相同检测。若在以上检测中不通过,则给出对应的消息提示。 2)将通过验证的注册信息填入数据库中注册信息表中。 3)对于如果某人的身份证号已经被别人恶意注册的情况,给出管理员联系方式或提供相应的解决方案。 1.3输入项 注册名 string 姓名 string 登陆密码 string 重复密码 string 1.4设计方法(算法) 在考生注册时,填完一项信息后(除密码外),就对其填入的信息进行检查。 1)注册名唯一,在填入信息后,将填入的信息同数据库中注册信息表中相应字段进行比较,若相同则给出提示消息。 2)密码输入检查,将输入的两个密码做stringcompare。 2、登陆模块(loginFrom)设计说明 2.1模块描述 该模块主要实现学生和教师的登陆功能,在登陆时需要区分登陆者的身份,根据登陆者身份不同登陆到不同界面。 2.2功能 1)学生根据其注册名和密码登陆,在登陆时检查其注册名和密码的正确性。登陆成功后进入考生浏览界面。 2)教师通过其用户名和其密码登陆,在登陆时检查其注册名和密码的正确性。登陆成功后进入教师管理界面。且根据不同的权限看到的界面也是不同的。 2.3输入项 登陆类型 string 登陆名 string 登陆密码 string 2.4设计方法(算法) 1)在选择登陆类型后,根据所选择的类型若学生则在注册表中查询信息与其填入的登陆名和登陆密码匹配,若管理员则在用户表中查询信息与其填入的登陆名和登陆密码匹配。 2)在登陆窗口中不能直接通过关闭窗口的形式直接进入主窗体,可以通过设计标记位exitflag,只有在密码输入正确的情况才能够进入系统。 3)另外,设计计数标记count,每次登陆count加1,三次登陆失败,程序会自动退出。 三代码设计 1、接口设计 接口是一些功能的约定,这同样是对代码的一种统一的规范,它不给出具体的实现,确指出了我们应怎么去编写类;在本系统中,我们为每一个数据实体都实现了同一个接口,这就是我们的方法,在DAL层中,我们有专门的接口来说明每个类要实现的操作,这样我们就可以通过一个接口来驱动类代码的执行,也就是说,在可以用类的地方都可用接口来代替,这也便于单元测试,因为其它模块没有做完时,我们同样可以用接口来调试代码,当然,这里的接口满足的是类单一性原则,也就是说,接口是为类设计的,同样在BLL层也是这样设计的,每个实体都有了他们的方法和属性,但是他们的接口是一样的,这是一种面象接口的编程。 2、类设计 设计好了接口,我们得有类去实现他,这样才会有意义,我们这里的类分为二种,一种就是实现接口方法的类,他们都是用来操作数据库,或是用来操作业务逻辑的;另一种类则是对数据库中的数据进行封装,这样便于我们在代码中更好的操作数据库中的字段,也不必像以前那样对数据库字段要记住,而在C#中的智能感应则会为我们提供很好的提示。 3、编程方法设计 在编写代码时,我们也应注意,那就是在一个类中,就将要实现的方法做好封装,不能返回有操作性的对象,比如说:DataSet,在C#中它就是一个很强操作的类,我们就不能在DAL层把它返回给BLL层;还有一点就是,编码时,我们尽量少访问数据库,而且,要尽快的断开与数据库的操作,以提高代码性能和系统性。 四、输入输出设计 基于输入输出的设计,我们使用了二个不同的登录页面,一个用于用户的登录,一个用于管理人员的登录,这不使得二种不同身份的人,在系统的不同模块使用,这也是权限控制的一部份; 五、设备及分布 学生翻译信息系统的设备及分布如下

最新回复(0)