已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程 项目序列 实验报告二 项目名称 工资管理系统总体设计书 专业班级 教育技术学07级1班 姓 名 蒋芳芳 学 号 14 教 师 闫友彪 成 绩 工资管理系统总体设计书1、总体设计(又称:逻辑设计)2.1 系统体系结构a. 检查此前的所有资料,确认系统流程图;以下为系统业务流程图普通员工管理员用户登录判断用户管理平台用户平台发放工资发布消息修改密码添加员工察看消息查询工资修改密码注销登录b. 完成系统架构设计,出系统结构分布图。以下是底层数据流图c. 确定系统结构的接口方式。2、系统结构设计2.1 系统内部层次设计a. 检查此前的所有资料,确认系统内部层次图;同需求分析书b. 确定开发顺序。1 系统框架 WinApp.exe;2 系统管理 AppSys.dll;3 部门管理 AppSys.dll;4 月工资管理 AppPay.dll;5 临时发放管理 AppJust.dll。2.2 系统控制设计根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。通过对用户需求的分析,我们可以分析出该工资管理系统大致可以分为六个模块:人事档案管理模块、职工工资管理模块、工资统计模块的实现、部门查询模块、特殊查询模块、报表查询模块。现在对这六个模块做具体说明: 人事基本情况管理模块: 输入:职工信息 输出:“人员档案表”功能:对人事基本信息的查询 职工工资管理模块 输入:人员月工资 输出:“职工工资表” 功能:完成员工工资的查询 工资统计模块输出:“职工工资统计表”功能:完成员工工资的统计和打印 部门查询模块输出:以部门为索引的“职工档案信息”功能:完成以部门为索引的“职工档案信息”的统计和查询 特殊查询模块的实现输出:满足查询条件的“职工档案信息”和职工合同的期限功能:完成满足查询条件的“职工档案信息”和职工合同的期限的查询 报表查询模块的实现 输出:员工履历信息和工资信息的基本情况 查询及打印功能功能:完成对员工履历信息和工资信息基本情况的查询及打印2.3 通用的功能设计a 尽量使用能完成相同功能的原有模块; ClsLib.dll; WinCtl.dll。b 设计具有通用性的功能模块。string SendEmail( string ); string CreateBankFile( string )。2.4 以用户介面为单位的功能分配a 列出模块的编码、名称及它们的层次关系;b 描述模块的功能分配;c 与模块相关的数据结构;d 输入输出方式等外部特征。处理逻辑编码 处理逻辑名称 主要功能、输入和输出数据结构 fLogin 登录用户 ab1101,Muser(i); fPassword 修改密码 ab1102,Muser(o); fSys00 维护用户 ab1103,ab1104,ab1105,Muser(io);fSys10 维护权限 ab1106,Muser(io),Module(i);fSys20 维护常数 ab1110,Mconstant(io);fSys30 维护部门 ab1120,Mdivision(io);fSys40 维护职员 ab1130,Memployee(io);fSys41 调动职员 ab1130,Memployee(io),Tpay(io);fPay01 维护工资项 ab1301,TpayItem(io);fPay02 设置月工资 ab1302,Tpay(io),TpayHistory(o),TpaySum(io),TpaySumHistory(o);fPay03 设置单项工资 ab1303,Tpay(io),TpayItem(i);fPay04 设置职员工资 ab1304,Tpay(io),TpayItem(i);fPay05 计算月工资 ab1305,Tpay(io),TpaySum(io);fPay06 打印工资条 ab1306,Tpay(i),TpayItem(i);fPay07 打印工资表 ab1307,Tpay(i),TpayItem(i);fPay08 打印汇总表 ab1308,TpaySum(i),TpayItem(i);fPay09 生成银行工资表 ab1309,VpayByAccount(i);fPay10 发送E_mail ab1310,VpayByEmail (i);fJust01 设置临时发放 ab1401,TpayJustItem(io);fJust03 设置部门发放 ab1402,Vemplogee(i),TpayJustItem(i),TpayJust (io);fJust04 设置职员发放 ab1403,Vemplogee(i),TpayJustItem(i),TpayJust (io);fJust07 打印发放表 ab1404,TpayJust(i),TpayJustItem(i);fJust08 打印发放汇总表 ab1405,TpayJustSum(io),TpayJustItem(i);fJust09 生成银行发放表 ab1406,VjustByAccount(i);fJust10 发送E_mail ab1407,VjustByEmail (i)。3、制定工程的各种规范编码规范对于程序员而言尤为重要,一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。常见的编码规范总结如下:1开头注释(Beginning Comments)所有的源文件都应该在开头有一个风格一致的注释,其中列出类名、版本信息、日期和版权声明等,如下: /* * Classname * Version information * Date * Copyright notice */2包和引入语句(Package and Import Statements)在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。例如: package java.awt; import java.awt.peer.CanvasPeer;3缩进排版(Indentation)4个空格常被作为缩进排版的一个单位。4行长度(Line Length)尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理长度超过80个字符的行。5换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开该行:在一个逗号后面断开。在一个操作符前面断开。宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开。新的一行应该与上一行同一级别表达式的开头处对齐。如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进4个空格。6注释(Comments)Java程序有两类注释:实现注释(implementation comments)和文档注释(document comments)。实现注释是那些在C+中见过的,使用/*.*/和/界定的注释。文档注释(被称为doc comments)是Java独有的,并由/*.*/界定。文档注释可以通过javadoc工具转换成HTML文件。为了使程序更容易阅读,程序员应适当的在代码中添加注释。7每行声明变量的数量(Number Per Line)推荐一行一个声明,因为这样以利于写注释,如下: int level; / indentation level int size; / size of table不要将不同类型变量的声明放在同一行,例如: int foo, fooarray; 8避免声明的局部变量覆盖上一级声明的变量。例如,不要在内部代码块中声明相同的变量名,见下面的代码,定义了两个“count”,这种情况应避免。 int count; . myMethod() if (condition) int count = 0; . . 9简单语句(Simple Statements)每行至多包含一条语句,例如: argv+; /推荐使用 argv+; argc-; /不推荐使用10复合语句(Compound Statements)复合语句是包含在大括号中的语句序列,形如 语句 。复合语句的书写一般应遵守以下原则:被括其中的语句应该较之复合语句缩进一个层次。左大括号应位于复合语句起始行的行尾;右大括号应另起一行并与复合语句首行对齐。大括号可以被用于所有语句,包括单个语句,只要这些语句是诸如if-else或for控制结构的一部分。这样便于添加语句而无需担心由于忘了加括号而引入bug。 11空行(Blank Lines)空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用空行:一个源文件的两个片段(section)之间。类声明和接口声明之间 。两个方法之间。方法内的局部变量和方法的第一条语句之间。 一个方法内的两个逻辑段之间,用以提高可读性。12命名规范(Naming Conventions)命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码,例如,不论它是一个常量,包,还是类。标识符类型命名规则例子包一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门、项目、机器或注册名。com.sun.engcom.apple.quicktime.v2edu.cmu.cs.bovik.cheese类命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)。class Raster;class ImageSprite;接口与类名相似。interface RasterDelegate;interface Storing;方法方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。run();getBackground();变量除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头。变量名应简短且富于描述。变量名的选用应该易于记忆。尽量避免单个字符的变量名,除非是一次性的临时变量。总言之,变量应遵循匈牙利命名法。char c;int i;float myWidth;常量类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。static final int GET_THE_CPU = 1;13变量赋值(Variable Assignments)避免在一个语句中给多个变量赋相同的值。它很难读懂。例如: fooBar.fChar = barFoo.lchar = c;14圆括号(Parentheses)一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚,但对其他人未必如此。你不能假设别的程序员和你一样清楚运算符的优先级。 if (a = b & c = d) /不推荐使用 if (a = b) & (c = d) /推荐使用3.4 单体测试规范测试方法(1) 测试人员测试队伍由两位成员组成。软件的设计者在测试整个过程中负责整体测试方案的制定和测试进度的掌握以及白盒测试的测试者。第二位成员由未参加软件制作者担任,主要责任是进行软件的黑盒测试以及软件环境,硬件要求和极限测试工作。(2) 机器测试通过在计算机上直接运行被测程序,来发现程序中的错误。机器测试包括黑盒测试盒白盒测试。黑盒测试也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试是否相符。测试结果分析软件在运行、关闭及退出时保存记录的提示功能基本完成,在软件的不断启动关闭过程中没有出现死机、程序执行效率降低等各种不良现象,功能的实现较为完善。用户登录界面较友好,但软件界面的色彩选择、搭配上对于长期工作者而言仍然不会产生眼部不适感。可操作性及安全性能较好,能完成对不同管理级别者的限制工作,对软件涉及到的机密数据能进行良好的保护。数据库的可维护性良好,数据的录入能顺利
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年龙岩辅警招聘考试真题及答案详解(各地真题)
- 江苏农林职业技术学院《中西医临床医学概论》2024-2025学年第一学期期末试卷
- 山西林业职业技术学院《建筑工程识图综合实训》2024-2025学年第一学期期末试卷
- 河北衡水武邑中学2025年高二上数学期末复习检测模拟试题含解析
- 2025年辽宁大连市高二化学第一学期期末质量检测模拟试题含解析
- 江苏省盐城市2026届物理高二第一学期期末质量跟踪监视模拟试题含解析
- 2024年呼伦贝尔辅警协警招聘考试备考题库含答案详解(研优卷)
- 2023年舟山辅警协警招聘考试真题及答案详解(真题汇编)
- 新疆天山职业技术大学《新材料设计与应用》2024-2025学年第一学期期末试卷
- 广东省广州市增城区四校联考2025-2026学年高二物理第一学期期末质量跟踪监视模拟试题含解析
- 2025秋新教材统编版(2024)八年级上册道德与法治全册教案
- 人教版小学数学123456年级教资面试试讲逐字稿155篇
- 2025北师大版三年级数学上册 第六单元 单元教学设计
- 老年人跌倒风险预测模型-洞察及研究
- 2025年小学道法基本功竞赛题库
- DB3410∕T 12-2021 生态系统生产总值(GEP)核算技术规范
- 基于物联网的新型安全协议在网络安全中的应用-洞察及研究
- 2024承德辅警考试试题
- 消防防火安全知识教育主题班会
- DB12∕T 1339-2024 城镇社区公共服务设施规划设计指南
- 广州情书活动方案
评论
0/150
提交评论