软件开发与设计实例分析—辅导材料_第1页
软件开发与设计实例分析—辅导材料_第2页
软件开发与设计实例分析—辅导材料_第3页
软件开发与设计实例分析—辅导材料_第4页
软件开发与设计实例分析—辅导材料_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机软件(本科)专业软件开发与设计实例分析辅导材料(2014年4月)一、基本概念1、 软件工程的三段论是指软件项目管理、软件项目开发和软件过程改进。2、软件项目管理过程是项目管理者规划软件开发、控制软件开发的过程。管理过程是伴随开发过程进行的过程。3、软件项目开发过程相当于生产线上的生产过程。软件生产线上的工序主要包括:需求分析、概要设计、详细设计、编码、测试、提交和维护等。4、软件过程是为了获得高质量软件所需要完成的一系列活动的框架,它规定了完成各项活动的工作步骤。5、软件由用户需求驱动的。6、软件需求关注的是软件需求的获取、分析、规格和验证。7、软件概要设计的核心内容就是依据需求规格或规

2、格定义,合理、有效地实现产品规格中定义的各项需求。它注重框架设计、总体结构设计、数据库设计、接口设计、网络环境设计等。概要设计是将产品分割成一些可以独立设计和实现的部分,保证系统的各个部分可以和谐地工作。8、概要设计主要是根据需求规格完成软件模块的划分并描述模块之间的关系,设计过程是不断地分解系统模块,从高层分解到低层分解。9、传统(结构化)的设计方法传统的结构化设计方法主要有功能模块划分设计、面向数据流设计、面向事务设计、输入输出设计等。10、功能模块划分设计 这个设计方法是根据功能进行分解,分解出一些模块,设计者从高层到低层一层一层进行分解,每层都有一定的关联关系,每个模块具有特定、明确的

3、功能,每个模块的功能是相对独立的,同时是可以集成的。模块划分应该体现信息隐藏、高内聚、松耦合的特点。11、设计模型 设计模型主要包括四类模型:数据设计、架构设计、界面设计、模块设计。12、架构设计中以数据为中心的架构中,数据(例如数据库、文件等)是整个架构的中心,其他的模块经常对这些数据进行增加、删除、修改等操作。以数据为中心的架构改进可以是渐近的。修改一个模块或者增加一个模块不用关心其他模块,因为模块的独立性很好。13、架构设计中基于数据流的架构是根据输入的数据,经过一系列的处理之后,变为输出数据的架构。14、架构设计中调用返回的系统可以使得软件设计人员开发一个比较容易修改和扩展的程序结构,

4、它包括主程序、子程序架构和远程调用模式。主程序、子程序架构是将程序分割为一系列可以控制的树形模块,有一个主程序,它调用很多其他的程序模块,然后每个程序模块可能又调用其他的模块。15、模块设计的最终目的是将数据模型、架构模型、界面模型变为可以操作的软件。16、主要的架构设计有以数据为中心的架构、基于数据流的架构、调用返回的结构、面向对象的体系结构、分层体系结构等。17、数据模型可以分为概念数据模型和物理数据模型,概念数据模型设计的目标是产生反应系统信息需求的整体数据库概念结构;物理数据模型是将概念结构转换成特定数据管理系统所支持的数据模型的过程。 数据库的设计是数据设计的核心,可以采用面向数据的

5、方法,为此需要掌握数据库设计的原理和规范。18、用户界面设计的过程包括4个明显的主要活动是:用户、任务、环境的分析和建模;界面的设计;界面的实现;界面的验证。19、MVC是一种设计模式,它强制性地将应用程序的输入、处理和输出分开。MVC将应用程序分为三个核心模块:模型、视图和控制器。20、程序可以有4种实现注释的风格:块注释、单行注释、尾端注释和行末注释。二、简答题1、结构化的软件开发技术思想与特点。结构化程序设计的思想是:自顶向下,逐步求精。其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构,各模块之间的关系尽可能简单,在功能上相对独立。基于结构化程序设计的面向过程的软件开发技

6、术由于采用了模块划分与功能分解,自顶向下、分而治之的方法,因而可将一个较复杂的问题分解为若干个子问题,各子问题分别由不同的人员解决,从而提高了速度,并且便于程序的调试,有利于软件的开发和维护。2、面向对象的软件开发技术思想与特点。面向对象的程序设计思想是将客观世界中的事物看成对象,对象是由数据及对数据的操作构成的一个不可分离的整体。对同类型的对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行联系。封装、继承和多态性是面向对象程序设计的主要特性。封装是指对象在把数据与操作结合为一个整体时,其数据的表示方式及对数

7、据的操作细节是尽可能地被隐藏的。继承是指特殊类的对象拥有其一般类的全部属性结构的操作行为。多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或不同的行为,这使得同一个属性或行为在一般类及各特殊类中具有不同的语义。3、 组件化的软件开发技术思想与特点。基于组件的开发是一种利用可重用的软件组件构建应用程序的技术。组件是一个独立的可传递的操作的集合。它是具有特定功能,能够跨越进程的边界实现网络、语言、应用程序、开发工具和操作系统的“即插即用”的独立的对象。组件的开发工程,主要是一个组装和集成的过程,其基本活动过程是: ·收集组件 ·改善组件质量 

8、83;使组件能相互适应·组装组件 ·更新组件4、软件需求的内容。软件需求是指用户对软件的功能和性能的需求。软件需求包括业务需求、用户需求、功能需求和软件需求规格等层次。业务需求反映了组织机构或客户对系统、产品高层次的目标要求,由管理人员或市场分析人员确定。用户需求描述了用户通过使用本软件产品必须要完成的任务,一般是由用户协助提供。功能需求定义了开发人员必须实现的软件功能,使得用户通过使用此软件能完成他们的任务,从而满足了业务需求。软件需求规格说明所说明的功能需求充分描述了软件系统所应具有的外部行为。软件需求规格说明在开发、测试、质量保证、项目管理以及相关项目功能中都起到重要

9、的作用。5、软件需求关注的内容。软件需求关注的是软件需求的获取、分析、规格和验证。需求获取的内容包括需求源和需求获取技术。需求分析的内容包括需求分类、概念模型、架构设计与需求的部署和需求协调。需求规格的内容包括系统定义文档、系统需求规格和软件需求规格。需求确认的内容包括需求评审、原型及模型确认、接收测试。6、需求验证的内容 需求规格提交后,开发人员需要与客户对需求分析的结果进行验证,以需求规格说明为输入、通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性。验证包括以下内容。 1)需求的正确性。 2)需求的一致性。 3)需求的完整性。 4)需求的可行性。 5)需求的必要性。 6)需

10、求的可检验性。 7)需求的可跟踪性。 8)最后的签字。7、分析用户需求的难点主要体现在哪些方面。问题的复杂性。这是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等。 交流障碍。需求分析涉及人员较多,如软件系统用户、问题领域专家、需求工程师和项目管理人员等,这些人具备不同的背景知识,处于不同的角度,扮演不同角色,造成了相互之间交流的困难。 不完备性和不一致性。由于各种原因,用户对问题的陈述往往是不完备的,其各方面的需求还可能存在着矛盾,需求分析就是要消除其矛盾,形成完备及一致的定义; 需求易变性。用户需求的变动是一个极为常见的问题,即使是部分变动,也往往会影响到需求分析的全部,导致不一致

11、性和不完备性。8、设计模型中的主要内容。设计模型主要包括四类模型:数据设计、架构设计、界面设计、模块设计。数据设计将需求分析阶段产生的信息模型转化为实现软件的数据结构。架构设计定义软件中各个主要结构元素之间的关系,架构模型主要是确定一种设计模式。界面设计定义了软件内部的通信、与系统的交互以及人机操作界面等。模块设计的最终目的是将数据模型、架构模型、界面模型变为可以操作的软件。每个模块的功能是相对独立的,同时是可以集成的。9、架构设计中面向对象的体系结构、分层体系结构的设计内容。 面向对象的体系结构,在构造模块的时候依据抽象的数据类型,每个模块是一个抽象数据类型的实例。所以,面向对象的体系结构有

12、两个重要的特点:对象必须封装所有的数据,每个对象的数据对其他对象是黑盒子。这个架构封装了数据和操作。分层的体系结构,系统定义很多的层,每层操作逐步接近机器的指令,最外层是用户界面层,最里面层执行操作系统的指令。中间层提供很多的服务和应用。10、用户界面设计的意义及三个原则用户界面设计是为人和计算机之间创建一个有效的沟通媒介,它遵循一定的设计原则,标识界面和相应的操作,创建屏幕布局设计,以此作为用户界面原型的基础。界面管理的三个“黄金原则”:控制用户的想法;尽可能减少用户记忆量;界面最好有连续性。11、计算机软件的体系结构中主机/多用户系统的特点。20世纪5060年代,计算机基本上是单机系统,也

13、就是软件所有的功能都在一台计算机上实现,系统只有一台计算机。20世纪70年代出现了主机多用户系统,尽管本质上就是一台计算机在工作,但是多个终端用户可以同时上机,并行操作,每个终端都有独占主机资源的感觉。(3分)主机多用户系统的终端不是一台完整的计算机,而是一台分时共享主机的输入/输出设备。这样,主机多用户的应用软件系统就是一层的结构,也就是所有的负担都由主机承担,当这个负担过重的时候,终端用户的数量就要受到限制。(3分)12、浏览器服务器(B/S) 结构的特点。无须开发客户端软件,维护和升级方便;可跨平台操作,任何一台机器只要装有www浏览器软件,均可作为客户机来访问系统;具有良好的开放性和可

14、扩充性;可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S 系统的终端。13、多层B/S体系结构的发展过程及特点。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,而把负荷分配给了WEB服务器。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。B/S

15、二层的结构弊端,尤其在服务器负担过重时,客户机异地操作不容易,因此,有必要在客户端和服务器端新建立一个层,负责事务处理,我们称之为应用逻辑层,这样可以帮助“胖客户机”或者“胖服务器”减肥,这样就形成了三层结构,三层结构(B/A/S表示层、应用逻辑层、数据库服务层)。随着软件系统规模的增大,也可以将应用逻辑层分为很多层,这样就演变为多层体系结构。这个中间层也衍生了很多的中间件产品。这些三层结构是一种逻辑上的结构,物理上分多少层可以根据需求来决定。三层(多层)结构中的任意层的修改,对其他层的影响很少。14、应用程序框架的概念和特点。应用程序框架结构是一个可以重复使用的,大致完成的应用程序。可以通过

16、对其进行定制开发成一个客户需要的真正的应用程序。框架结构提供给程序员可以重用的骨干模块,程序员使用这些模块来构造自己的应用,重用的骨干模块具有如下特征:它们被证明可以与其他应用程序一起来很好地工作;它们可以立即在下一个程序中使用;它们可以被其他项目使用。15、MVC设计模式的概念及内容。MVC是一种设计模式,已经被广泛使用,近几年被推荐为SUN公司J2EE平台的设计模式,受到了越来越多的Web开发者的欢迎。它强制性地将应用程序的输入、处理和输出分开。MVC将应用程序分为三个核心模块:模型、视图和控制器。它们分别负担不同的任务。 视图:视图是用户看到并与之交互的界面,视图向用户显示相关的数据,并

17、接收用户的输入数据,但是并不进行任何实际的业务逻辑,视图可以向模型查询业务状态,但不能改变模型,视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。控制器:控制器接受用户的输入并调用模型和视图完成用户的需求,当web用户发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图显示模型返回的数据。模型:模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。16、struct体系结构如何遵循MVC设计模式。struct体系结构基本遵循了MVC模式。其中:模型(Model

18、)是代表应用数据的对象,它不包含数据应当如何展现给用户的部分;视图(View)是将模型的状态可视化的形式,是负责将模型数据展现给用户的部分;控制器(Controller)提供改变模型状态的灵活方式。17、用户界面设计的过程中的界面的实现和验证。 界面的实现:实现界面设计,一般说,首先做一个情景式的原型,以便于评估,可以采用界面实现工具来逐步完善界面。 界面的验证:首先是确认实现的用户界面是否能够正确完成用户的任务,适应各种情况,满足总的需求;然后评价这个界面的用户容易使用和容易学习的程度,最后评估如将其作为用户工作中的有用工具,用户对它的接受程度。 。18、高质量软件的设计特征1)软件的可扩充

19、性:良好的扩充性使得你在以后的开发过程中事半功倍; 2)模块的独立性:即满足高内聚松耦合,优秀软件应高内聚,低耦合; 3)异常处理:在设计中要包括异常处理的设计,以便系统可以面对异常情况,而不至于使系统性能降低;4)错误预防和错误处理:设计中除了设计异常情况,同时警惕每个模块中可能隐藏的错误或者其他的模块、系统、接口引入的错误情况,设计中要对它们进行处理; 5)代码重用性设计:6)友好的人机交互界面:都是同样或者相似的功能的软件,用户对它们的评价却差异很大,其中很重要的就是好软件的界面设计更人性化一点。19、程序可以有4种实现注释的风格:块注释、单行注释、尾端注释和行末注释。块注释通常用于提供

20、对文件,方法,数据结构和算法的描述。块注释被置于每个文件的开始处以及每个方法之前。它们也可以被用于其他地方,比如方法内部。单行注释可以显示在一行内,并与其后的代码具有一样的缩进层级。 尾端注释。极短的注释可以与它们所要描述的代码位于同一行,但是应该有足够的空白来分开代码和注释。若有多个短注释出现于大段代码中,它们应该具有相同的缩进。 行末注释。注释界定符“/”,可以注释掉整行或者一行中的一部分。20、用户文档的内容。 (1)用户手册 用户手册对用户来说是一个参考指南,这个手册应该是完整的,可以理解的。首先这个文档要描写目的、参考文献、术语、缩写等,然后要详细描写系统功能,系统的功能应该一项一项

21、描述,用户要明白这个系统做什么,而不需要明白如何做。 这主要包括如下的项目: ·系统的目的和目标 ·系统的功能 ·系统的特征,包括系统各个部分清晰的图画 ·系统功能 ·主要功能的图示以及与其他功能的关系 用户在屏幕上看到的功能的描述、目的、每个菜单或者功能键选项的结果 ·每个功能输入的描述 ·每个功能产生的输出的描述 ·每个功能可以引用的特殊属性的描述(2)系统管理员手册 系统管理员手册是为系统管理员准备的资料。它与用户手册的不同之处在于,用户只想知道每个系统功能的详细说明和如何使用。而系统管理员需要明白系统性能的

22、详细信息和访问系统的详细信息。所以系统管理员手册需要描述硬件、软件的配置,授权用户访问系统的方法,增加或者删除外围设备的过程,备份文件的技术等。 系统管理员手册也应该描写一些用户手册的内容,因为系统管理员需要知道这个系统的功能,这样他才可以做好系统管理员的工作。(3)其他文档 开发过程中的文档也是很重要,例如需求文档、设计文档、详细设计文档等。这些对用户来讲可能不需要。但是在用户维护系统的时候,可能需要一些开发过程的文档。三、实例分析与设计1、需求分析实例。系统定义:阐述项目的来源、背景项目的用户特点和项目的目标。项目来源及背景 本项目是为北京某公司开发的一个网上招聘系统,由于这个公司的规模比

23、较大,需要招聘的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较棘手的事情,为人力资源部的工作人员带来很多的工作量。为此公司希望有一个自动化的招聘系统能够给他们带来工作的便利,提高工作效率,同时能及时招聘到满意的人才。 为现实企业与人才的有效联系,弥补招聘中存在的种种不足,我们开发了网上招聘系统。公司人力资源部的工作人员通过这个招聘系统维护知识题库,编制问卷,发布职位和与这个职位相应的问卷;应聘者可以通过网上提交自己的简历并同时回答相应的问卷。人力资源部的工作人员通过这个招聘系统可以统计整理这些简历,并根据应聘者的简历和问卷分数提取出需要面试的人员,然后按照一定的

24、方式通知面试人员参加面试,在面试过程中,记录相应的面试结果。人力资源部的工作人员可以随时浏览人员简历和面试的相关信息。用户的特点 本系统的用户都是网上用户,包括两类,一类是应聘者,他们的差异比较大,有的学历很高,有的可能很低。有的经验很丰富,有的可能没有经验等。另外一类用户是管理用户,他们是公司内部的人,主要是人力资源管理人员和系统管理人员。他们对招聘业务很熟悉,系统管理人员对系统很熟悉,总之,他们对使用管理软件比较熟悉。项目目标 本项目设定的目标如下: ·系统能够提供友好的用户界面,使操作人员的工作量最大限度地减少; ·系统具有良好的运行效率,能够达到提高生产率的目的;

25、·系统应有良好的可扩充性,可以容易地加入其他系统的应用; ·平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化; ·通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。应用环境:根据用户的需求陈述,可以确定本项目分为客户端和管理端,客户端主要功能是提供应聘者的职位查询、简历录入、回答问卷,简历提交等。管理端的功能提供公司人力资源管理人员(HR)进行的知识库(题库)管理、问卷管理、职位发布、简历管理、用户管理等。系统运行的网络环境 无论是客户端的应聘者还是管理端的管理用户都可以通过网络登录到本系统中。应聘者通过网络提交简历等相关信息,入力资源部通

26、过网络发布职位信息,获得应聘者提交的简历信息,进行面试管理。管理端的系统管理员需要设置管理端的用户以及相应的权限。 ·操作系统:UNIXLinuxWindows 2000或以上版本 ·数据库:SQL Server 2000 ·开发工具包:JDK Version 142 ·Web服务器:Tomcat ·浏览器:IE 60以上 设计用例时,我们遵循下列步骤: 1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能

27、地确保所有角色都被完全识别出来。 2)描述主要的用例。可以采取不断地问自己“这个角色究竟想通过系统做什么?”来准确地描述用例。 3)重新审视每个用例,为它们下个详尽的定义。角色定义 角色或者执行者指与系统产生交互的外部用户或者外部系统。1)应聘者 应聘者是指在这个网络招聘系统中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。2)管理用户 管理用户是指管理端的用户,此角色派生两个子类,HR(入力资源管理)和系统管理员,HR是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人员,它又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统

28、管理员是指对网上招聘系统进行相关设置、进行系统维护的人员,他也是通过管理端登录对管理端的用户进行设置,分配权限等。 管理用户具体说明如下:HR 。试题管理者。管理题库、组织相关问卷。 。职位发布者。根据公司的需要发布相应的职位。 。面试管理者。整理应聘者简历、对简历合格人员进行面试。 系统管理员导过管理端对系统用户进行管理的人员,这个角色主要负责对管理端用户的增删,权限的设置等功能。3)数据库 数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。系统主用例图网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。客户端子系统功能主要

29、是指应聘者通过登录招聘网站进行操作的功能,即应聘功能。管理端子系统功能是招聘公司的管理人员发布招聘职位,整理应聘者简历,面试等功能。客户端子系统应聘者通过公司的招聘网站登录到系统中进行应聘,应聘者通过它提交简历,进行应聘这就是客户端系统的功能。在客户端用户可以看到职位名称,职位发布日期,截止日期,职位类型,招聘人数等说明,按职位发布日期排序。当点击职位名称时进入职位详细信息页面,如果应聘的话可以填写简历信息,并回答问卷,最后将问卷连同简历一同提交。客户端的功能主要包括选择职位、填写简历、回答问卷等功能。选择职位 用例描述:应聘职位选择 执行者:应聘者; 前置条件:应聘者已登录系统;后置条件:选

30、择应聘职位后,可输入简历。 应聘职位选择业务流程 a)应聘者进入职位发布界面,首先展示目前正在招聘的所有职位信息列表。 b)通过点击每个职位,可以详细浏览每个职位的详细描述。 c)如果满意该职位,点击确认,并进入简历填写和问卷调查。 填写简历用例描述:应聘者简历录入 执行者:应聘者; 前置条件:应聘者已选择应聘职位;后置条件:输入简历后,可以回答问卷。 应聘者简历录入业务流程 a)个人基本信息输入。 b)工作经历信息输入。 c)教育经历信息输入。d)家庭成员信息输入。e)简短自我评价。问卷调查用例描述:应聘者问卷调查; 执行者:应聘者; 前置条件:应聘者已输入简历;后置条件:填写问卷后,可提交

31、简历和问卷。 应聘者问卷调查业务流程 a)要求应聘者回答薪金和工作志愿等。 b)问卷题型为选择题,全部回答后,方可提交简历。 c)完成答卷后,将简历和问卷一同提交。管理端子系统 管理端子系统主要是提供公司人力资源管理人员使用的功能它的功能分为登录管理、题库管理、问卷管理、职位发布、简历整理、面试管理等部分,每个登录者首先要通过安全认证然后确认权限,系统根据相应的权限实现相应的功能。题库管理 在网上招聘系统中,有一套题库,是由大量的选择题组成,它是问卷的基本组成。题库管理模块主要是完成对每个试题的增加、删除、修改、查询等维护功能。具体描述如下。 用例描述:题库管理; 执行者:试题管理者; 前置条

32、件:试题管理者已登录系统; 后置条件:如果题库维护成功,则数据库中的试题库随之变化,此时可以组织问卷。 基本路径: a)进入题库管理界面,首先展示目前题库已有的题目; b)点击每个题目可以详细浏览这个题目的具体内容,同时也可以对这个试题的具体内容进行修改。 c)增加题目时,首先选择题目类别,然后是题目名称、题目内容、确定可选答案(多个)等; d)可以删除选择的题目。问卷管理 在网上招聘系统中,要定期维护问卷,因为每个招聘职位都附有一套问卷,应聘者必须回答问卷,才可以提交简历。问卷管理主要是组织问卷,问卷中的所有题目都来自题库,每份问卷都有不同的针对性,针对不同的招聘需求。具体功能描述如下。 用

33、例描述:问卷管理; 执行者:试题管理者; 前置条件:试题管理者已登录系统; 后置条件:如果问卷维护成功后,则数据库中的问卷随之变化,发布职位时可以选择合适的问卷。 基本路径: a)进入问卷管理界面,首先展示目前存在的问卷; b)点击每个问卷可以详细浏览每个问卷的题目; C)可以对一些题目进行删除,或者可以重新整理各个题目的顺序,同时可以预览整个问卷; d)提供增加问卷的按钮,增加问卷时,从题库中选择题目; e)可以删除选择的问卷。职位发布 职位发布是网上招聘系统的主要功能之一,管理人员根据企业发展的需要定期发布招聘职位需求,详细描述这个职位情况,招聘要求等。每个职位都附有一套问卷,需要应聘者回

34、答,问卷是针对具体职位选定的,职位信息发布后,应聘者通过网络可以看到职位,并可以应聘,具体功能描述如下。 用例描述:职位发布; 执行者:职位管理者; 前置条件:职位管理者已登录系统, 后置条件:如果职位发布成功后,则数据库中的职位信息随之变化,应聘者可以通过网络看到招聘职位。 基本路径: a)进入职位发布界面,首先展示目前正在招聘的所有职位,可以增加新的招聘职位; b)通过点击每个职位,可以详细浏览每个职位的详细描述; c)可以对每个职位信息进行修改; d)提供职位条件查询功能; e)提供职位删除功能。 。简历管理 应聘者将简历提交之后,人力资源部门的人员开始整理简历,将达到一定成绩的人员作为

35、面试的被选对象,然后通过浏览其简历情况,确定可以面试的人员,对需要面试的人员通过电话、邮件等方式通知面试时间。具体的功能描述如下。 用例描述:简历管理; 执行者:面试管理者; 前置条件:面试管理者已登录系统; 后置条件:简历整理完成后,则可以将应聘者分为几个类别,以便为面试做好准备。 基本路径: a)进入简历管理界面,首先展示目前简历对应的职位列表,提供查询功能; b)通过点击职位列表进入相应职位的所有简历列表界面,这个界面也显示了每个应聘者的姓名、年龄、性别、问卷的分数以及目前的处理状态等信息; c)在简历列表中,通过点击一个应聘者可以显示这个应聘者的简历信息,问卷回答情况,还可以打印简历;

36、 d)对简历有三种处理结果,即通知面试、保留简历、拒绝; e)对简历的处理结果,可以采用电子邮件、电话和信件等方式通知应聘者,如果采用电子邮件通知应聘者,系统将提供一个模板。面试管理 对满足一定条件的应聘者,可以对其进行面试,记录面试的结果。具体描述如下: 用例描述:面试管理; 执行者:面试管理者; 前置条件:面试管理者已登录系统; 后置条件:如果面试完成后,则面试的结果记录到数据库中。 基本路径: a)进入面试管理界面,显示目前的招聘职位列表,提供查询功能; b)点击某个职位进入与这个职位相应的接受面试人员的列表; c)将接受面试的人分类浏览,分为等待通知者、等待面试者和面试完成者;对没有通

37、知面试的人,通知其进行面试,他的状态就变为等待面试者; d)点击每个列表上的人,可以浏览到这个应聘者的信息; e)面试完成时,需要记录面试的时间、面试人以及面试结果等,记录信息提交后这个应聘者的状态就变为面试完成者。用户管理 系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。具体功能描述如下。 用例描述:用户管理; 执行者:系统管理员; 前置条件:系统管理员已登录系统; 后置条件:如果用户信息维护完成,则用户的相应信息将记录到数据库中。 基本路径: a)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限; b)点击不同的用户,可以显示这个用户的信息以及相应权

38、限,必要时可以修改其权限; c)可以增加用户,也可以删除用户。界面需求 系统的界面要求如下。 1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺;专用术语规范,行文格式统一规范。 2)导航结构:页面具有明确的导航指示且便于理解,方便用户使用。 3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。 4)艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方。动与静搭配恰当,动静效果好;色彩和谐自然,

39、与主题内容相协调。响应时间需求 无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等以避免出现长时间等待甚至无响应。可靠性需求 系统应保证7×24小时内不宕机,20人同时在客户端登录,此时系统能正常运行,正确提示相关内容。产品提交 提交产品为: a)应用系统软件包; b)数据库初始数据, C)系统开发过程文档; d)系统使用、维护说明文档,提交方式为CD介质。2、界面设计实例分析(页面流程略)系统的用户界面按功能分为客户端界面和管理端界面。 管理端界面设计管理端主

40、要实现题库管理、问卷管理、职位发布、简历管理、面试管理以及用户管理等功能。界面设计如下:登录界面:通过输入用户名和密码实现用户登录,并判断用户的权限;管理首页:根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能;题库管理:包括“题目列表”、“题目详细信息”、“增加试题”、“删除试题”、“修改试题”、“增加答案”和“删除答案”等页面; 问卷管理:包括“试题列表”、“试题详细信息”、“修改试题”、“增加试题”、“删除试题”和“预览试题”等页面; 职位发布:包括“职位列表”、“职位详细信息”、“查询职位”、“增加职位”、“删除职位”和“修改职位”等页面; 简历管理:包括“职位列表”

41、、“应聘者列表”、“应聘者申请表”、“查看试卷答案”、“回复信息”和“打印简历”等页面; 面试管理:包括“职位列表”、“应聘者列表”、“应聘者求职申请表”、“查看试卷答案”、“未发通知”、“等待面试”和“面试完成”等页面; 用户管理:包括“用户列表”、“用户信息”、“修改用户信息”、“增加用户”和“删除用户”、“用户权限设置”等页面。 客户端界面设计 客户端主要为应聘者提供网上应聘的过程,应聘者通过选择合适的职位,填写个人简历,并通过回答问卷来进行测评,提交的简历和测评结果一同传到服务器端,供管理者挑选合适的简历。 在客户端界面,应聘者首先进入企业招聘界面,点击“招聘”按钮进入职位列表界面,包

42、括“职位列表”、“职位详细信息”、“申请职位”、“填写个人基本信息”、“填写工作经历”、“填写教育经历”、“填写基本技能”、“填写家庭成员”、“填写个人评价预览简历”和“答题”等页面。3、体系结构设计实例 系统的总体结构设计遵循如下原则。 1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求; 2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠; 3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问; 4)系统应具有良好的可维护性:系统应易于维护、安装; 5)系统应具有良好的可扩展性

43、:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。 本系统采用struct体系结构,struct是一个基于模型 (Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。 目前软件项目中有很多体系结构,其中struct是比较流行的一种。struct体系结构对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着wleb开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架

44、,在struct框架中模型由实现业务逻辑JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现。视图由一组JSP文件组成。4、模块设计实例(功能结构图略) 按照功能分解,本系统分为客户端管理系统和管理端系统。根据页面流的设计,管理端系统又分为用户登录、用户管理、题库管理、问卷管理、职位发布、简历管理、面试管理等7个模块, 5、测试用例设计实例测试用例1职位查询页面的工作流程是:在职位列表中显示职位名称,职位发布日期,截至日期,职位类型,招聘人数等。当点击职位名称时,进入职位详细信息页面。测试内容:验证职位列表中的内容是否正确显示,并按职位发布日期排序。测试输

45、入数据:无。预期结果:网页正确显示,并按职位发布日期排序。测试过程:输入正确网址,并刷新。异常可能原因之一:超链接错误。解决办法:修改超链接。测试用例2基本信息页面的工作流程是:当进入基本信息页面后,应聘者需填写本人的基本信息,加星号的为必填项。如填写格式错误,系统给出错误提示。当点击“下一步”按钮时,进入工作经历页面。测试内容:测试对异常数据的处理。测试输入数据:如输入日期为0月,身高为-23厘米,必填项空缺等。预期结果:系统报错。测试过程:登录,进入该页面,输入异常数据,提交。异常可能原因之一:必填项无定义,或非必填项无错误提示。解决办法:增加边界的无效检测。四、单选题练习1、对于软件工程

46、的三段论,其核心指的是( C )A. 软件项目开发B. 软件需求分析C. 软件过程改进D. 软件项目管理2、对于软件工程的三段论,下面说法不正确的是( C )A. 软件项目管理过程是伴随开发过程进行的过程。B. 软件项目开发过程相当于生产线上的生产过程。C. 软件项目管理指导软件开发的过程。D. 软件过程必须科学、合理,才能获得高质量的软件产品。3、驱动软件开发与设计是( D )A. 经济效益B. 软件目标C. 软件过程改进D. 用户需求4、软件需求包括业务需求、用户需求、功能需求和需求规格等。其正确的顺序是( B )A. 用户需求、业务需求、功能需求、需求规格B. 业务需求、用户需求、功能需

47、求、需求规格C. 功能需求、业务需求、用户需求、需求规格D. 需求规格、业务需求、用户需求、功能需求5、软件需求包括业务需求、用户需求、功能需求和需求规格等。其不正确的描述是( B )A. 用户需求描述了用户通过使用本软件产品必须要完成的任务,一般是由用户协助提供。B. 在需求分析过程中,较少使用的文档就是软件需求规格说明文档。C. 业务需求反映了组织机构或客户对系统、产品高层次的目标要求,由管理人员或市场分析人员确定。D. 功能需求定义了开发人员必须实现的软件功能,使得用户通过使用此软件能完成他们的任务。6、在软件需求的各个活动中,错误的观点是( C )A. 用户需求必须与业务需求一致。B.

48、 软件需求各个活动之间有层次关系。C. 软件需求各个活动之间无顺序关系。D. 用户需求驱动软件开发与设计。7、快速原型方法是用户和设计者之间的一种交互过程,适用的系统是( A )A. 需求不确定性较高的系统B. 需求确定的系统C. 管理信息系统D. 决策支持系统8、快速原型方法是用户和设计者之间的一种交互过程,它从设计用户界面开始,首先形成系统界面原型,然后用户( D )A. 阅读使用手册B. 改进系统界面C. 模拟界面运行D. 运行原型界面9、采用用例驱动和架构优先的策略,并用迭代增量建造方法,使软件产品逐渐开发出来,所采用的是 ( D )A. 瀑布模型B. 喷泉模型C. 螺旋模型D. 统一

49、过程模型10、以用户需求为动力,以对象作为驱动模型,适用于面向对象的开发方法,所采用的是( B )A. 瀑布模型B. 喷泉模型C. 螺旋模型D. 统一过程模型11、下面说法不正确的是 ( A )A. 需求是与开发技术密切相关的。B. 在需求阶段讨论技术是没有任何意义的。C. 在很多情形下,分析用户需求是与获取用户需求并行的。D. 需求分析与需求获取有着相似的步骤,区别在于分析用户需求时使用模型来描述。12、下面哪个活动不是概要设计的内容。( D )A. 框架设计B. 总体结构设计C. 接口设计D. 软件测试13、概要设计主要是根据哪项活动完成软件模块的划分并描述模块之间的关系。( C )A.

50、业务需求B. 用户需求C. 需求规格D. 功能需求14、下面说法正确的是( D )A. 概要设计主要是根据业务需求完成软件模块的划分并描述模块之间的关系B. 概要设计主要是根据功能需求完成软件模块的划分并描述模块之间的关系C. 概要设计主要是根据用户需求完成软件模块的划分并描述模块之间的关系D. 概要设计主要是根据需求规格完成软件模块的划分并描述模块之间的关系15、下面关于功能模块划分的设计,说法不正确的是( C )A. 模块的划分,从高层到低层一层一层进行分解,每层都有一定的关联关系。B. 每个模块具有特定、明确的功能,每个模块的功能是相对独立的。C. 每个模块的功能不是相对独立的,但同时是

51、可以集成的。D. 模块划分应该体现信息隐藏、高内聚、松耦合的特点。16、概要设计模型主要包括四类模型:数据设计、架构设计、界面设计、模块设计。为这些模型提供了信息流的是( B )A. 需求模型B. 结构化模型C. 面向对象模型D. 功能模型17、数据设计将需求分析阶段产生的信息模型转化为实现软件的( D )A. 数据流图B. 数据字典C. 面向对象模型D. 数据结构18、下面说法正确的是( C )A. 数据结构、数据之间的关系以及数据的内容是数据设计活动的基础。B. 数据对象、数据之间的关系以及数据的内容是数据设计活动的基础。C. 数据对象、数据之间的关系以及数据流图是数据设计活动的基础。D.

52、 数据对象、数据字典以及数据之间的关系是数据设计活动的基础。19、架构设计定义软件中各个主要结构元素之间的关系,架构模型主要是确定一种( D )A. 数据结构B. 结构化模型C. 面向对象模型D. 设计模式20、下面不属于界面设计的内容是( C )A. 软件内部的通信B. 与系统的交互C. 测试用例D. 人机操作界面21、下面不属于主要的架构设计的内容是( C )A. 以数据为中心的设计B. 基于数据流程图的设计C. 调用返回的结构设计D. 面向对象的体系结构设计22、以数据为中心的架构设计中,整个架构的中心可以是( C )A. 数据流图B. 数据字典C. 数据库D. 数据结构23、下面的说法

53、不确切的是( B )A. 调用返回结构的系统可以使得软件设计人员开发一个比较容易修改和扩展的程序结构。B. 以数据为中心的架构改进可以是渐近的。但修改一个模块或者增加一个模块需要考虑其他模块,因为模块的独立性不是很好。C. 基于数据流的架构是根据输入的数据,经过一系列的处理之后,变为输出数据的架构。D. 面向对象的体系结构有两个重要的特点:对象必须封装所有的数据,每个对象的数据对其他对象是黑盒子。这个架构封装了数据和操作。24、数据设计首先在高层建立一个数据模型,然后再逐步地将这个数据模型变为将来进行编码的数据模型。这里的数据模型指的是( B )A. 管理者角度的B. 开发者角度的C. 应用者角度的D. 用户角度的25、下面不属于用户界面设计的三个原则是( D )A. 控制用户的想法B. 尽可能减少用户记忆量C. 界面最好有连续性D. 界面

温馨提示

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

评论

0/150

提交评论