详细设计报告

                           详细设计报告

一、项目规划

企业人事管理系统的创建,我们必须考虑和分析建立该系统的目的、需求和要实现的功能,并考虑网站的整体规划和具体的开发步聚,才能开发出一个具有相当水准的使用的人事管理系统。

当我们进行系统的建设时,系统的规划与设计将贯穿于建设的全过程。制定出一套能充分体现企业形象和自身风络并能收到良好效益的系统建设方案。

企业人事管理系统,是为了迎合现在人们的生活需要而设计的。随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,要求员工深入而快捷地掌握和应用这些知识和技能。从而,更加快捷方便的企业人事管理系统产生了,而且,越来越大型化、完美化。

二、运行环境

开发工具:

三、数据库实现

3.1系统数据库设计

根据系统功能需求建立起一个数据库,在此数据库基础上建立起如下基本表:

(1) 登录表:操作员编号(ID)、操作员名称(Name)操作员密码(Pass)

(2) 用户权限表:自动编号(AutoID)、操作员编码(ID)、权限名称(PopeName)、权限标识 (Pope)

(3)民族类别表: 编号(ID)、 民族名称(FolkName)

(4)职工类别表:编号(ID)、职工类型(EmpioyeeName)

(5) 奖惩类别表: 编号(ID)、奖惩类型(RPknd)

(6)职工基本信息表: 职工编号(ID)、职工姓名(StuffName)、民族(Folk)、出生日期(Birthday)、年龄(Age)、文化程度(Kultur)、婚姻(Marriage)、性别(Sex)、政治面貌(Visage)、身份证号(IDCard)、单位工作时间(workLength)、职工类型(Employee)、职务类型(Business)、工资类别(Laborage)、部门类别(Branch)、职称类别(Duthcall)、电话(phone)、手机(Handset)、毕业学校(School)、主修专业(Speciality)、毕业时间(GraduateDate)、家庭地址(Adress)、个人照片(Photo)、省(BeAware)、市(City)、月工资(M_Pay)、银行账号(Bank)、合同起始日期(Pact_B)、合同结束日期(Pact_E)、合同年龄(Pact_Y)

(7)工作简历表:编号(ID)、职工编号(Sut_ID)、开始时间(BeginDate)、结束时间(EndDate)、工作单位(WorkUnit)、部门(Branch)、职务(Business)

(8)家庭关系表:编号(ID)、职工编号(Sut_ID)、家庭成员名称(LeaguerName)、与本人的关系(Nexus)、出生日期(BirthDate)、工作单位(WorkUnit)、职务(Business)、政治面貌(Visage)

(9)培训记录表::编号(ID)、职工编号(Sut_ID)、培训方式(TrainFashion)、培训开始时间(BeginDate)、培训结束时间(EndDate)、培训专业(Speciality)、培训单位(TrainUnit)、培训内容(KulturMemo)

(10)奖惩表:编号(ID)、职工编号(Sut_ID)、奖惩种类(RPKind)、奖惩时间(RPDate)、批准人(SealMan)、撤销时间(QuashDate)、撤销原因(QuashWhys)

3.2数据库逻辑结构设计

根据系统功能需求建立数据表如下:

数据库表截图(具体数据库环境下的截图)

四、详细设计界面

4.1、主界面

    主界面(Default)是用户启动应用程序时加载的主页(如图4-1所示)。主页中含有商品种类(BookCategories)。商品有七大类:菜谱、电脑、广告、历史、励志、外语和小说。

                               图4-1   主界面

代码:protected void Page_Load(object sender, System.EventArgs e)

         {

              String userId = User.Identity.Name.ToString();

              //如果已经有客户登录,则显示个性化的欢迎信息。

              if (userId != "")

              {

                   //创建数据访问类的一个新实例    

                   BookStore.BookStoreDBO accountSystem = new BookStore.BookStoreDBO();

                   //根据用户Id获取用户的详细信息,包括用户名等

                   BookStore.UserDetails userDetails = accountSystem.GetUserDetails(userId);

             

                   WelcomeUserLabel.Text = "欢迎您来到我的网上书店!" + userDetails.Name;

              }

              else

                   WelcomeUserLabel.Text = "欢迎您来到我的网上书店!";

            this.Label1.Text = "今天是:" + System.DateTime.Now.ToString("yyyy年MM月dd日");

        }

4.2、商品界面

    每一个商品类都有几个相关的具体商品(如图4-2所示)。如果选择电脑作为商品种类,则可以看到BIOS配置维护技巧、C语言程序设计、VB.NET入门提高、JAVA优化编程等商品,包括这些商品的图片和简介。

   

                              图4-2  商品展示界面

代码:  public BooksList() {

            Page.Init += new System.EventHandler(Page_Init);

        }

        protected void Page_Load(object sender, System.EventArgs e) {

            int categoryId = Int32.Parse(Request.Params["CategoryID"]);

            BookStore.BookStoreDBO BookCataloguesInfo = new BookStore.BookStoreDBO();

       

            MyList.DataSource = BookCataloguesInfo.GetBookByCategory(categoryId);

            MyList.DataBind();

        }

4.3、购物车界面

     购物车(ShoppingCarts)用于暂时存放用户选定的商品(如图4-3所示)。用户可以操作购物车(更新、删除项目)。

 

                                  图4-3 购物车界面

                                    

代码:public partial class ShoppingCart : System.Web.UI.Page {

        public ShoppingCart() {

            Page.Init += new System.EventHandler(Page_Init);

        }

        protected void Page_Load(object sender, System.EventArgs e) {

            if (Page.IsPostBack == false) {

                PopulateShoppingCartList();

            }

        }

void PopulateShoppingCartList() {

            BookStore.BookStoreDBO cart = new BookStore.BookStoreDBO();

            String cartId = cart.GetShoppingCartId();

            if (cart.CountShoppingCartItem(cartId) == 0) {

                DetailsPanel.Visible = false;

                MyError.Text = "暂时为空,请购物。";

            }

            else {

                MyList.DataSource = cart.DisplayShoppingCart(cartId);

                MyList.DataBind();

                lblTotal.Text = String.Format( "{0:c}", cart.ShoppingCartTotalCost(cartId));

            }

        }

4.4、用户注册界面

   用户注册(Register)提供新用户注册(如图4-4所示)。

   

                       图4-4 用户注册界面

代码:

private void RegisterBtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)

         {

            if (Page.IsValid == true)

              {

                   BookStore.BookStoreDBO registerDB = new BookStore.BookStoreDBO();

                   String tempCartId = registerDB.GetShoppingCartId();

                String UserId = registerDB.AddUser(UserName.Text, Password.Text, Name.Text, Email.Text, IDCardNumber.Text, TelephoneNumber.Text);

                   if (UserId != "")

                   {

                       FormsAuthentication.SetAuthCookie(UserId, false);

                       registerDB.TransplantShoppingCart(tempCartId, UserId);

                       Response.Cookies["BookStore_UserName"].Value = Server.HtmlEncode(Name.Text);

                       Response.Redirect("login.aspx");

                   }

                else

                {

                    MyError.Text = "注册失败!这个用户名已经被注册过了!<br>";

                }

            }

           

        }

4.5、管理员界面

管理员(admin)可以管理会员的信息(更新、删除)、添加图书、添加图书类型、管理图书(编辑、删除)(如图4-5所示)。

图4-5 管理员功能区

代码:protected void LoginBtn_Click1(object sender, ImageClickEventArgs e)

    {

        SqlConnection con = new SqlConnection("server=(local);Initial Catalog=BookStore;Integrated Security=SSPI");

        con.Open();

        string name = email.Text.Trim().ToString();

        string pwd = password.Text.Trim().ToString();

        string sqlstr = string.Format("select * from Admin where AdminName='{0}' and AdminPwd='{1}'", name, pwd);

        SqlCommand cmd = new SqlCommand(sqlstr, con);

        SqlDataReader sdr = cmd.ExecuteReader();

        if (sdr.Read())

        {

            Response.Redirect("Manage.aspx");

            sdr.Close();

        }

        else

        {

            Response.Write("<script>alert('登陆失败')</script>");

        }

}

五、测试用例

5.1 单元测试

利用visual studio 2005中自带的单元测试功能进行单元测试,测试各个类中的函数。按要求输入,测试与预期结果是否吻合,如果不吻合,单元测试结果将显示失败或其他的错误信息。

1、测试BookStoreDBO.cs类下的AddUser (string UserName, string password, string fullName, string email, string IDCardNumber, string TelephoneNumber)

函数声明如下:public void AddUser (int UserId, string password, string fullName, int email, string IDCardNumber, string TelephoneNumber)

函数预期实现的功能:用户在注册界面实现成为会员

输入:用户ID

期望输出:用户信息

测试结果:通过

2、测试ShoppingCart.cs类下的函数ShoppingCartId(),ShoppingCartID.cs在App_code目录下。

函数声明如下:  public String ShoppingCartId()

函数取其实现的功能:以用户ID作为购物车ID,实现对购物车的管理

输入:ID=1

期望输出:用户的购物车内容

测试结果:通过。

5.2集成测试

本系统的集成测试重点是页面间的跳转是否正确以及页面间的参数传递是否正确。对于页面间跳转的测试,主要测试点击本系统中的各个页面的导航链接提示是否跳转到相应的页面,对于参数传递的测试,主要测试页面间传递参数所产生的结果是否正确。

1、页面跳转测试

表5-1:页面跳转测试结果

 2、参数传递测试

参数传递主要测试的是页面间跳转的新页面依赖于所传递的参数的页面跳转。

     

  表5-2:参数传递测试结果

 

3、系统测试

系统测试是按照贴近实际的场景进行部署后对系统进行的一系列严格有效地测试。它主要包括两个方面,一是功能测试,二是性能测试。

(1)功能测试

表5-3:功能测试设计表

4、对性能的测试

表5-4 性能测试

 

第二篇:银行管理系统 详细设计报告

目录

1. 引言

1.1编写目的

1.2 项目背景

1.3 定义

1.4参考资料

2. 总体设计

2.1 需求概述 2.2 软件结构 3.1程序描述 3.2 功能 3.3 性能 3.4 输入项 3.5 输出项 3.6 流程逻辑 3.7 接口 3.8 存储分配 3.9 注释设计 3.10 限制条件 3.11尚未解决的问题 3. 程序设计说明

详细设计规格说明书

--银行管理系统

1. 引言

1.1编写目的

随着经济社会的快速发展,人们已不满意于人工存取款的低效率,追求更高的存取效率,并且业务的种类逐渐丰富、复杂度提高,人工操作出现的失误也呈现上升趋势,银行根据行业和用户的需求,决定开发新型的银行管理系统,以降低操作复杂度、出错率,从而提高工作效率,通过简单高效的操作来实现目的,将一系列的操作集成起来,实现功能的耦合,提高操作的易操作性、高效率性。

1.2 项目背景

(1) 开发软件名称:银行储蓄系统。

(2) 项目开 发 者:“银河一号银行管理系统”开发小组

(3) 用 户 单 位: 各种商业银行。

1.3 定义

列出开发中的概要设计中特定词的特定含义

VS 2010(Microsoft Visual studio 2010):一种集成的开发工具。 SQL(Structured Query Language):结构化查询语言,主要用于同数据库进行数据访问与控制。

1.4参考资料

(1)《软件工程》 张俊兰 王文发编著 西安交通大学出版社

(2)《C++程序设计》 谭浩强编著 清华大学出版社

(3)《软件工程》 任胜兵 邢琳编着 北京邮电大学出版社

(4) 《面向对象程序设计》 陈维兴 张小茶编著 清华大学出版社

2. 总体设计

2.1 需求概述

1) 可以实现注册用户、登陆用户

2) 可以在注册过程中选择币种和卡型

3) 可以在登陆用户后修改密码

4) 可以通过用户身份信息查出该用户的所有账户 5) 可以在登录用户后查看用户的信息 6) 可以通过账号来查询账号的透支额度 2.2 软件结构

3. 程序设计说明

3.1程序描述

本银行管理系统旨在提高银行工作人员的工作速率、以及降低出错率,通过简单高效的操作来实现目的,将一系列的操作集成起来,实现功能的耦合,提高操作的易操作性、高效率性。同时用户也可以查询自己账户的所有信息,使一些类似于查询账户信息、修改账户密码、查询余额、查询透支额的功能,可以从人工柜台中分离出来,不必为了类似的查询功能,使得用户前往柜台办理,同时也减少了柜台工作人员工作量。

银行管理系统详细设计报告

3.2 功能 本银行管理系统主要分为两大模块,根据登录时的账户权限,分为用户用户模块:在本模块中,用户可以对本人的账户进行操作,包括修改登模块和柜员模块。 录密码,取款密码,查看本人账户信息,查看本人所有账户信息,查看本账户的透支状况。 柜员模块:在本模块中,柜员可以根据用户要进行的操作进行响应,比如存款,取款,注册新用户,注销用户账户功能。 3.3 性能 在数据精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,要求 一般数字使用双精度浮点型且保留2位小数。 在软件运行时,要求响应时间,更新处理时间都比较快且迅速,完全满足用户要求。 即要求在数据库中,各表之间的独立性要比较高,且运行程序精简。 在软件适应性上,要求能在普通的PC上windows下运行,以SQL server2008数据库为接口,界面友好且操作简单,不需要培训就能使用,能让用户很快进入工作状态。 3.4 输入项 注册用户:账户号码+身份证号+姓名+通讯住址+联系电话+登录密码+金额 存 款:账户号码+存款金额 取 款:账户号码+登录密码+取款金额+卡内金额+取款人身份证号 3.5 输出项 存款: 存款单=存款人+存款银行+业务编号+存款金额+存款日期+手续费+帐户余额 取款: 取款单=取款银行+业务编号+取款日期+手续费+取款人签字+取款金额 注册用户: 开户单=账户号码+用户姓名+存款金额+存款日期+业务编号 3.6 流程逻辑

银行管理系统详细设计报告

银行管理系统详细设计报告

3.7 接口

3.7.1 外部接口 用户界面

在用户界面部分,根据需求分析的结果,用户需要一个用户友善界 面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的 布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑 到用户多对Windows风格较熟悉,应尽量向这一方向靠拢。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用. 软件接口

Window NT/Vista/XP/7或更高的操作系统。 硬件接口

赛扬133 、内存32兆以上PC机满足输入端条件。 3.7.2 内部接口

内部接口方面,各模块之间采用函数调用、参数传递、返回值的方

式进行信息 传递。具体参数的结构将在下面数据结构设计的内容中说 明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回 值的形式在各模块间传输。

3.8 存储分配

本程序是采用动态存储分配。 3.9 注释设计 对于在程序开发过程中,最好是每10行加2~3行注释,对于函数的编写,应注明函数的版本,更改时间,输入值,返回值的含义,函数的功能,最新修改的内容。对于类,应该注明类的成员及成员函数的意义,功能,以便于在以后的维护过程中帮助理解。

3.10 限制条件

银行管理系统详细设计报告

(18位);存款及余额查询时不需提供身份证号。

3.11尚未解决的问题

对于软件的数据库访问设计的保密性及安全性设计的不到位,可能存在问题。而且对于用户的部分操作失误,无法进行有效性的确认,可能会引起问题。

相关推荐