【软件工程课程设计】企业工资管理系统_第1页
【软件工程课程设计】企业工资管理系统_第2页
【软件工程课程设计】企业工资管理系统_第3页
【软件工程课程设计】企业工资管理系统_第4页
【软件工程课程设计】企业工资管理系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南人文科技学院计算机系课程设计说明书课程名称:软件工程导论课程代码: 408023题目:企业工资管理系统年级/专业/班:08 级计科二班学生姓名:学号: 指导老师:颜富强开题时间: 2009 年 6 月 5 日完成时间: 2009 年 6 月 29 日2009 年 6 月 18 日课程设计任务书及成绩评定课程名称:软件工程导论完成者:1、设计的目的与要求1)加强学生的实践能力;2)理解小型系统开发的基本步骤;3)本系统的功能包括:档案信息管理模块、工资管理模块、工资统计模块,部门查询,特殊查询,报表查询。2、设计进度及完成情况日期内容6.5-6.7项目开发计划书6.8-6.10系统需求说明书

2、6.11-6.13系统设计说明书6.14-6.15项目的形成6.16-6.17测试计划和Bug跟踪列表6.17-6.18项目的递交3、成绩评定设计成绩: (教师填写)指导老师: (签字)二00九年月目录目录1一 项目开发计划书31.1 引言31.2 工资管理系统功能模块描述41.3 实施计划41.4 支持条件5二 可行性分析52.1 可行性研究前提52.2 经济上可行性62.3 技术可行性62.4 开发工具的选择62.5 开发工具概述62.5.1 JSP 概述62.5.2 SQL Server 数据库简介7三 需求分析83.1 市场需求分析83.2 系统需求分析83.2.1 系统目标83.2.

3、2 系统的分析和概要设计93.2.3 系统功能分析103.2.4 系统业务流程图113.3 系统 E-R 图123.4 数据流图133.5 数据字典15四 系统设计164.1 系统处理流程和数据流程164.2 系统数据库概念结构184.3 系统数据库逻辑结构184.4 系统数据库设计19五 系统测试225.1 部分代码225.1.1 登陆平台225.1.2 工资查询系统245.1.3 工资发放系统265.2 测试275.2.1 测试的作用和意义275.2.2 测试方法271 / 355.2.3 测试内容285.2.4 测试结果28六 总结29参考文献29附录:编码规范292 / 35一项目开发

4、计划书1.1 引 言企业工资管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以工资管理系统应该能够为用户提供充足的信息和快捷的查询手段。使其公司工资管理初步实行计算机化,让计算机在工资管理中得到初步应用。使工资管理者总是根据准确、及时的工资管理信息来进行决策,实现管理。只有计算机才能将现代化社会中,成倍增长的工资管理信息量,进行及时收集、加工、整理、贮存、检索、传递、反馈给决策者。而一个企业工资管理系统在企业对工资管理已不可或缺。其功能主要有:(1)对输入的工资管理数据,进行数值运算和逻辑运算,求解各种问题。(2)对工资管理信息进行加工来解决各种数据处理

5、问题,为人事决策者在决策时提供依据。(3)对工资管理的各种资料数据进等统计计算,并将处理后的信息存贮起来。当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。随着计算机的广泛应用,计算机工资管理信息系统的建立,适应了社会经 济发的客观要求,是工资管理现代化的一大进步。今天我们运用计算机进行了 工资管理档案管理的初步现代化的开发和使用,它大大提高了工资管理工作者 的工作效率,它把工资管理(档案、工资)从繁重的手工操作中解脱出来,用 更多精力从事创造性的管理活动;它能使决策、计划和其它管理活动更加科学、精确、灵活。因此,建立计

6、算机工资管理信息系统是一种客观发展必然趋势。 尽管在工资管理方面还不可能普遍使用计算机,但从长远来说,工资管理现代 化和计算机是不分割的。轻视或者拒绝利用计算机技术,就不可能真正地、全 面地实现工资管理现代化。3 / 351.2 工资管理系统功能模块描述具体系统功能需求描述(1) 档案信息管理提供对”人员档案信息”数据输入、查询功能。(2) 工资管理提供对”职工工资表”数据的输入、查询、统计功能。(3) 工资统计提供对“职工工资表”数据的月统计,由系统自行生成“职工工资构成情况表”实现该表的查询、打印功能。(4) 部门查询提供以某一部门为索引的”人员档案信息”查询功能。(5) 特殊查询提供对日

7、期型字段和合同期限的”人员档案信息”查询功能。(6) 报表查询提供对工资、职工履历的信息以报表的形式供用户查询、打印,另外用户还可以对这些基本信息进行更新和删除,1.3 实施计划工作任务的分门与人员分工组长: 贺泽溪任务:(1)系统总的开发计划书(2)每周至少组织小组讨论一次,记录讨论内列出本周开发计划(3)项目开发进度的管理(4)团队的组织和协调设计:罗维 马红操任务:(1)参与小组讨论(2)进行系统的需求分析和系统设计4 / 35(3)完成系统需求说明书和系统设计说明书(4)编写测试计划,参与系统测试(5)协助文档人员完成用户相关文档开发:王日春 卢洪波 任务:(1)参与小组讨论(2)根据

8、设计完成编码,并注释(3)进行单元测试系统规划阶段:开发阶段:项标志性事件目开发计划书的完成开始到完成6.5-6.7需求分析阶段:系统需求说明书完成6.8-6.10设计阶段:系统设计说明书6.11-6.13编码实现:项目的形成6.14-6.15测试阶段:测试计划和 Bug 跟踪列表6.16-6.17移交阶段:项目的递交6.17-6.181.4 支持条件计算机系统支持操作系统需要 windows 2000 以上版本;二可行性分析2.1 可行性研究前提要求:满足对工资管理的基本要求及功能,并对职工信息收集、处理、保存。目标:实现无纸化办公,节省成本,提高工作效率。条件、假定、限制:当企业工资管理的

9、信息量和复杂程度达到某一限度时,即管理人员的劳动强度超过其承受能力时,就必须采用新的管理手段,如用计算机技术对信息的收集、加工、传递和存贮等,这样,一个工资管理系统就可以5 / 35对企业职工工资进行高效、合理、恰当地管理。此系统成本低廉,自开发到运行结束至少可运行 3 年,开发成本不超过 600 人民币,开发软件到投入使用不超过 1 个月。2.2 经济上可行性开发成本:600 元人民币。效益:大幅度地提高工资管理信息系统的工作质量和效率,让企业掌握整个工资管理系统的全面情况,为管理人员提供了准确的工资管理信息,促进工资管理工作的规范化及各项管理制度与指标体系的建立和健全;提供各种加工处理了的

10、工资管理信息,以满足工资管理的特殊要求,适应新形势对职工队伍提出的新要求。效益/投资比:暂时无法估算。投资回收期:大约 3 个月。2.3 技术可行性软件需求:操作系统 WINDOWS 2000 Advance Server 以上。硬件需求:赛扬 1.7G CPU、512M 内存 80G 硬盘的计算机。本系统采用 JSP 实现,依靠其强大的面向对象系统,与 SQL Server2000 数据库管理系统相结合,能在 1 个月内开发出系统。2.4 开发工具的选择eclipse 作为前台的开发工具,用 SQL Server200 作为后台支持数据库,通过JSP 的数据库控件来连接 SQL Server

11、200 中并对其编程来实现各种功能。2.5 开发工具概述2.5.1 JSP 概 述JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动6 / 35态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定

12、向网页等,以实现建立动态网页所需要的功能。JSP 与 JavaServlet 一样,是在服务器端执行的,通常返回该客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范。目前较新的是 JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet是 JSP 的技术基础,而且大型的 Web 应用

13、程序的开发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用, 完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea公司等,所以 JSP 迅速成为商业应用的服务器端语言。JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。2.5.2 SQL Server 数据库简介SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS),它最初是由 Microsoft、Sybase、Ashton-Tate 等

14、三家公司共同开发的,并于 1988 年推出了第一个在 OS/2 版本上运行的 SQLServer 系统。1992 年 Sybase 和Microsoft 这两家公司将 SQL Server 移植到了 Windows NT 操作系统上,后来Microsoft 致力于 Windows NT 平台的 SQL Server 的开发,而 Sybase 则专注于SQL Server 在 UNIX 上的应用。 近年来在 Microsoft SQL Server 的发展历程中不断更新版本,有两个版本具有重要的意义。即是在 1996 年推出的 SQL Server6.5 版本和在 2000 年 8 月推出的 S

15、QL Server2000 版本。6.5 版本使得 SQL Server 得到广泛的应用,而 2000 版本在功能和易用性上有很大的增强,并推出7 / 35了简体中文版,它包括企业版、标准版、开发版和个人版等 4 个版本。三需求分析3.1 市场需求分析工资管理系统是一个企业单位不可缺少的部分,它能为用户提供充足的信息和快捷的查询手段。(1)一个工资管理系统可以高效能、大容量地收集、处理、存贮工资管理信息, 大幅度地提高工资管理信息系统的工作质量和效率。(2)能够为企业管理人员及时掌握整个工资管理系统的全面情况,提供系统的准确的工资管理信息,可以促进工资管理工作的规范化及各项管理制度与指标体系的

16、建立和健全。(3)为企业提供各种加工处理了的工资管理信息,以满足工资管理的特殊要求, 适应新形势对职工队伍提出的新要求,帮助管理人员选择方案,实现优化决策。虽然当前,不少单位的工资管理部门对于计算机的应用还仅限于简单的单机应用,随着时间的推移、任务的复杂、用户的需求,其应用还会扩大。3.2 系统需求分析3.2.1 系统目标企业工资管理系统可以用于支持企业完成工资管理工作,有如下 3 个方面的目标。(1)支持企业实现规范化的管理。(2)支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,老员工转出、辞职、退休等。(3)支持企业进行人事管理及其相关方面的科学决策,如企业领导根据现

17、有的员工合同期限决定是否继续聘用等。8 / 353.2.2 系统的分析和概要设计根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。通过对用户需求的分析,我们可以分析出该工资管理系统大致可以分为六个模块:人事档案管理模块、职工工资管理模块、工资统计模块的实现、部门查询模块、特殊查询模块、报表查询模块。现在对这六个模块做具体说明: 人事基本情况管理模块:输入:职工

18、信息输出:“人员档案表” 功能:对人事基本信息的查询职工工资管理模块 输入:人员月工资输出:“职工工资表” 功能:完成员工工资的查询工资统计模块输出:“职工工资统计表”功能:完成员工工资的统计和打印部门查询模块输出:以部门为索引的“职工档案信息”功能:完成以部门为索引的“职工档案信息”的统计和查询特殊查询模块的实现输出:满足查询条件的“职工档案信息”和职工合同的期限功能:完成满足查询条件的“职工档案信息”和职工合同的期限的查询9 / 35报表查询模块的实现输出:员工履历信息和工资信息的基本情况 查询及打印功能功能:完成对员工履历信息和工资信息基本情况的查询及打印3.2.3 系统功能分析本系统是

19、基于 JSP 和 SQLServer 数据库建立的 B/S 结构管理系统,考虑了两种角色:工资管理员和普通员工。他们通过相同的登陆页面,选择不同的登陆方式,各自进入自己的用户界面管理员进入管理页面可以对员工发放工资,可以新添加新的员工,修改自己的密码,以及发布消息:普通用户可以查看自己的工资情况,可以根据需要查询具体每个月,或几个月的工资发放情况,察看最近的动态发布消息,同时也可以修改密码:10 / 353.2.4 系统业务流程图注销登录管理平台用户平台判断用户管理员添加员工用户登录普通员工发发修放布改工消密资息码察查修看询改消工密息资码11 / 35籍贯婚否职工编 号缺勤性别民族职务员工信息

20、设置m用户员工技能工 资实发工资1实发工资m部门满勤出勤表3.3 系 统 E-R 图1工资设置报表m查询职务基本工 资职工编 号部门设置m职工姓 名职务工资图 3-3E-R 图12 / 353.4 数据流图工资管理D1 工资表人事科财务科报表银行职工名单传盘表 6-1底层数据流图P1异动管理 职工信息停发名单报表P2发本月工资 工资D1 本月工资表银行财务科劳资科人事科职工名单劳资科本月工资表 6-2工资管理第一层数据流图13 / 35涨工资名单P1.1涨工资劳资科工资信息职工名单P1.2登记职工 劳资科职工信息D1 工资表停发名单P1.3停发工资劳资科工资信息人事科表 6-3工资管理的展开劳

21、资科各科室P2.1本月工资统计按科室汇总汇总停发名单本月工资P2.2 发工资记账记账存档职工记账存档D1 本月工资表P2.3银行传盘银行 本月工资表 6-4本月工资管理的展开14 / 353.5 数据字典通过系统需求分析,对企业工资管理系统编制数据字典如下:(1) 数据流定义数据流名称:职工名单数据流编号:F1简述:职工信息 数据来源:人事科数据去向:P1.1数据流名称:本月工资数据流编号:F2简述:对职工本月工资进行修改数据来源:劳资科数据去向:P2.1,P2.2(2) 数据存储定义数据流名称:职工发工资数据流编号:P2.2简述:根据工资条形成本月工资表输入数据流:D2-P2.2输出数据流:

22、P2.2-职工处理:查询 D1(本月工资表),打印本月职工工资条(3) 处理逻辑定义外部实体名称:人事科数据流编号:S1简述:对职工添加,删除进行管理的部门输出数据流:F1外部实体名称:劳资科数据流编号:S2简述:对职工工资进行管理的部门输出数据流:F215 / 35外部实体名称:财务科数据流编号:S3简述:发放工资,及工资记账管理。(4) 外部实体定义数据存储名称:职工信息表数据存储编号:D0简述:职工基本信息数据存储组成:职工编号+姓名+科室号+职称+ 体制+医保号+公积金号+养老金号+银行账号+有效标志关键字:职工编号相关处理:F1数据存储名称:本月工资表数据存储编号:D1简述:职工本月

23、工资信息数据存储组成:职工号+工资日期+操作员+1薪金科目20+1扣款科目5关键字:职工编号+工资日期相关处理:F2四系统设计4.1 系统处理流程和数据流程16 / 35职工工作部门人事处部门汇总信息财务处数据库银行后勤部门职工月消费及工资税汇总表ATM 机个人所得税水电费职工保险住房公积金税务部门保险公司收费公司职称工作考勤情况银行帐户性别姓名17 / 35发放工资发布动态消息修改管理员密码4.2 系统数据库概念结构修改查询浏览员工4.3 系统数据库逻辑结构与 与与 与login / post username,password与 与 与 与与与 与 与 与与 与 与 与 与 与与与 与与

24、与 与与 与 与 与 与与与 与 与 与与与 与与 与与 与 与 与与 与与 与 与 与与 与 与 与与 与与 与 与 与18 / 354.4 系统数据库设计由于考虑到本系统是应用在单机系统上,另外根据人员规模,我们只建立起一个数据库,在此数据库基础上建立起如下表:职工基本信息表employee_information_table职工工资表employee_salary_table系统信息表system_table下面我们详细说明:表 3-21员工基本信息字段名类型长度允许职工编号数值型8No部门字符型6Yes职务字符型8Yes职工姓名字符型8Yes身份证号字符型18Yes性别字符型2Yes出

25、生日期日期型10Yes婚否逻辑型2Yes文化程度字符型8Yes政治面目字符型6Yes毕业学校字符型16Yes联系电话数值型16Yes籍贯字符型10Yes民族字符型10Yes19 / 35家庭地址字符型30Yes邮政编码数值型6Yes入单位时间日期型10Yes合同期限数值型8Yes职称字符型16Yes评定时间日期型10Yes备注备注型100Yes表 3-22部门查询表字段名类型长度允许职工编号数值型8No职工姓名字符型8Yes职务字符型8Yes实发工资数值型8Yes表 3-23员工工资表字段名类型长度允许职工编号数值型8No职工姓名字符型8Yes年/月日期型10Yes技能工资数值型8Yes工龄工

26、资数值型8Yes岗位工资数值型8Yes20 / 35职务工资数值型8Yes洗理费数值型8Yes房屋补贴数值型8Yes交通补贴数值型8Yes价格补贴数值型8Yes工会会费数值型8Yes房屋租金数值型8Yes养老保险数值型8Yes建房扣款数值型8Yes实发工资数值型8Yes表 3-24工资统计表字段名类型长度允许部门字符型8Yes人数数值型10Yes工资总和数值型20Yes表 3-25特殊查询表字段名类型长度允许职工编号数值型8No职工姓名字符型8Yes日期日期型8Yes表 3-26报表查询表21 / 35字段名类型长度允许职工编号数值型8No部门字符型6Yes职务字符型8Yes房屋租金数值型8Y

27、es养老保险数值型8Yes建房扣款数值型8Yes实发工资数值型8Yes日期日期型8Yes五系统测试5.1 部分代码5.1.1 登陆平台该平台可以实现员工和管理员的登录验证,根据登陆的身份不同进入不同的管理系统如:普通员工进入工资查询系统,管理员则进入工资发放系统。核心代码:以及 javabean 文件的核心部分:public boolean isManager(String manager, String password, int type) this.setMname(manager);this.setMpassword(password);String cstr = select * f

28、rom manager where managername= + manager + and managerpassword= + password + ;try mcon = this.connection();mstmt = mcon.createStatement(); mrs = mstmt.executeQuery(cstr); if (mrs.next() setMID(mrs.getInt(MID); return true;else return false;catch (Exception ex) return false;23 / 35public boolean isUs

29、er(String user,String password) this.setUsername(user); this.setUserpassword(password);String ustr = select * from guestuser where username= + user + and userpassword= + password + ;tryucon=this.connection(); ustmt=ucon.createStatement(); urs=ustmt.executeQuery(ustr); if(urs.next()setUID(urs.getInt(

30、USERID); return true;elsereturn false;catch(Exception ex) System.out.println(ex.toString(); return false;5.1.2 工资查询系统该子系统实现普通员工对工资的查询以及动态新闻的浏览以及密码修改核心代码:24 / 35修改密码的核心代码:package DataBase; import java.sql.*;public class Changepwd extends DataAction private Connection changepwdcon;private Statement ch

31、angestmt;public boolean change(String username,String oldpass,String newpass) changepwdcon=this.connection();String changestr = update guestuser set userpassword= + newpass + where username like + username + ;try changestmt = changepwdcon.createStatement(); changestmt.execute(changestr); changestmt.

32、close();changepwdcon.close();25 / 35return true;catch (Exception ex) System.out.println(ex.toString(); return false;5.1.3 工资发放系统该平台下,管理员可以为员工发放每月的工资,同时还可以修改密码以及发布动态的新闻。核心代码:5.2 测试5.2.1 测试的作用和意义系统测试是教师工资管理系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误, 如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那

33、时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的 4050。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的总和的若干倍。5.2.2 测试方法(1) 测试人员测试队伍由两位成员组成。软件的设计者在测试整个过程中负责整体测试方案的制定和测试进度的掌握以及白盒测试的测试者。第二位成员由未参加软件制作者担任,主要责任是进行软件的黑盒测试以及软件环境,硬件要求和极限测试工作。(2) 机器测试通过在计算机上直接运行被测程序,来发现程序中的错误。机器测试包括黑盒

34、测试盒白盒测试。黑盒测试也称功能测试,将软件看作黑盒子,在完全 不考虑程序的内部结构和特性的情况下,研究软件的外部特性。根据软件的需 求规格说明书测试用例,从程序的输入和输出特性上测试是否满足设定的功能。白盒测试也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构 和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查与测试 是否相符。27 / 355.2.3 测试内容软件的正常运行、关闭及退出时保存记录的提示(默认为是)。用户登录界面友好,可操作性及安全性能较好,能对不同管理级别者进行限制,以保证数据库的安全。数据库的可维护性好,数据的录入、删除及更改均能顺利完成,并能实现动

35、态更新。数据查询便捷,能对各种不同的查询条件进行搜索,以找到最合适的答案。数据溢出、越界均能进行非法提示,以警告用户正确使用。对用户的非正常操作方式也提出警告。数据类型填写错误时,系统能够报错。软件对操作系统的兼容性良好,可移植性完好。5.2.4 测试结果软件在运行、关闭及退出时保存记录的提示功能基本完成,在软件的不断启动关闭过程中没有出现死机、程序执行效率降低等各种不良现象,功能的实现较为完善。用户登录界面较友好,但软件界面的色彩选择、搭配上对于长期工作者而言仍然不会产生眼部不适感。可操作性及安全性能较好,能完成对不同管理级别者的限制工作,对软件涉及到的机密数据能进行良好的保护。数据库的可维

36、护性良好,数据的录入能顺利完成,并能实现动态更新, 删除和修改也能顺利完成。数据查询不够全面,只能按系统设定的少数查询条件进行搜索,以找到合适的答案。数据溢出、越界基本不能进行非法提示,以警告用户正确使用。对用户的非正常操作方式能提出警告。数据类型填写错误时,系统有报错功能,在数据输入错误时,使用者能够获知错误所在。28 / 35软件兼容性有待提高,在 Dreamweaver 版本较低的机子上测试不断出现错误提示。六总结经过反复测试,系统完成后运行添加、修改、查询、报表等功能均正常, 发布 1.0 版。此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了软件开发的主要步骤

37、,了解了各环节在开发时要注意的问题,体会到开发一个系统应该注意的方面以及重视用户在系统开发过程中间的作用,开发出好的软件高质量的软件。另外在设计过程中也逐渐提高了软件开发技能和编程技能以及良好的软件开发思维模式。参考文献1 张海藩,软件工程(第二版)。北京:人民邮电出版社,20062 张海藩,牟永敏,面向对象程序设计使用教程(第二版)。北京:清华大学出版社, 20073 金敏,周翔,高级软件开发过程。北京:清华大学出版社,2005 4朱如龙,ACCESS 2000 数据库应用系统开发技术,机械工业出版社,2005 5谭浩强,软件工程系统分析与设计.,清华大学出版社,2005 6王少锋,面向对象

38、技术 UML 教程,北京:清华大学出版社,2004 7张海藩,软件工程导论(第三版)。北京:清华大学出版社,1998 8郑人杰,殷人昆,陶永雷,实用软件工程(第二版)。北京:清华大学出版社,1997附录:编码规范编码规范对于程序员而言尤为重要,一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。29 / 35常见的编码规范总结如下:1开头注释(Beginning Comments)所有的源文件都应该在开头有一个风格一致的注释,其中列出类名、版本信息、日期和版权声明等,

39、如下:/* 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换行(Wra

40、pping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开该行: 在一个逗号后面断开。在一个操作符前面断开。宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开。新的一行应该与上一行同一级别表达式的开头处对齐。如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进 4 个空格。6注释(Comments)30 / 35Java 程序有两类注释:实现注释(implementationcomments)和文档注释(document comments)。实现注释是那些在 C+中见过的,使用/*.*/和/界定的注释。文档注

41、释(被称为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+;/推荐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论