您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页软件开发与设计实例分析复习题(1004)

软件开发与设计实例分析复习题(1004)

来源:化拓教育网


软件开发与设计实例分析复习题(1004)

软件开发与设计实例分析复习题(1004)

一、基本要求

1、软件项目开发概述

(1)软件工程的三段论:软件开发过程、软件项目管理、软件过程改进

(2)需求分析建模的基本方法:结构化方法、面向对象方法

(3)概要设计原则和设计模型

(4)软件体系结构:客户机/服务器结构

(C/S)、浏览器/服务器结构(B/S)、应用程序框架结构(MVC)、组件体系结构

(5)编码方法和规范:结构化编码方法、面向对象编码方法、编码标准和规范

(6)测试方法和过程 (7)软件项目的提交和维护 (8)软件文档规范 (9)软件开发环境与工具

2、基于结构化方法的C/S架构软件项目实例

(1)项目立项:立项背景、可行性分析、开发计划

(2)需求分析:需求调研、数据分析、功能定义、需求分析文档

(3)概要设计:开发环境、架构设计、数

据设计、界面设计、模块设计、概要设计文档

(4)详细设计:接口定义、数据结构定义、算法设计、详细设计文档

(5)编码实现:编程实现、编码文档 (6)系统测试:测试方案、测试过程、测试评估

3、基于面向对象方法的C/S架构软件项目实例

(1)项目立项:立项背景、可行性分析、开发计划

(2)需求分析:需求调研、数据分析、功能定义、需求分析文档

(3)概要设计:开发环境、架构设计、数

据设计、界面设计、模块设计、概要设计文档

(4)详细设计:接口/类定义、数据结构定义、算法设计、详细设计文档

(5)编码实现:编程实现、编码文档 (6)系统测试:测试方案、测试过程、测试评估

4、基于B/S架构的网站开发软件项目实例

3

(1)项目立项:立项背景、可行性分析、开发计划

(2)需求分析:需求调研、数据分析、功能定义、需求分析文档

(3)概要设计:开发环境、架构设计、数

据设计、界面设计、模块设计、概要设计文档

(4)详细设计:接口/类定义、数据结构定义、算法设计、详细设计文档

(5)编码实现:编程实现、编码文档 (6)系统测试:测试方案、测试过程、测试评估

二、基本概念

1、 软件工程的三段论是指软件项目管理、软件项目开发和软件过程改进。

2、软件项目管理过程是项目管理者规划软件开

发、控制软件开发的过程。管理过程是伴随开发过程进行的过程。

3、软件项目开发过程相当于生产线上的生产过

程。软件生产线上的工序主要包括:需求分析、概要设计、详细设计、编码、测试、提交和维护等。

4

4、软件过程是为了获得高质量软件所需要完成

的一系列活动的框架,它规定了完成各项活动的工作步骤。 5、软件由用户需求驱动的。

6、软件需求关注的是软件需求的获取、分析、规格和验证。

7、软件概要设计的核心内容就是依据需求规格

或规格定义,合理、有效地实现产品规格中定义的各项需求。它注重框架设计、总体结构设计、数据库设计、接口设计、网络环境设计等。概要设计是将产品分割成一些可以设计和实现的部分,保证系统的各个部分可以和谐地工作。

8、概要设计主要是根据需求规格完成软件模块

的划分并描述模块之间的关系,设计过程是不断地分解系统模块,从高层分解到低层分解。

9、传统(结构化)的设计方法

传统的结构化设计方法主要有功能模块划分设计、面向数据流设计、面向事务设计、输入/输出设计等。 10、功能模块划分设计

5

这个设计方法是根据功能进行分解,分解出

一些模块,设计者从高层到低层一层一层进行分解,每层都有一定的关联关系,每个模块具有特定、明确的功能,每个模块的功能是相对的,同时是可以集成的。模块划分应该体现信息隐藏、高内聚、松耦合的特点。 11、设计模型

设计模型主要包括四类模型:数据设计、架

构设计、界面设计、模块设计。

12、架构设计中以数据为中心的架构中,数据(例

如数据库、文件等)是整个架构的中心,其他的模块经常对这些数据进行增加、删除、修改等操作。以数据为中心的架构改进可以是渐近的。修改一个模块或者增加一个模块不用关心其他模块,因为模块的性很好。

13、架构设计中基于数据流的架构是根据输入的

数据,经过一系列的处理之后,变为输出数据的架构。

14、架构设计中调用返回的系统可以使得软件设

计人员开发一个比较容易修改和扩展的程

6

序结构,它包括主程序、子程序架构和远程调用模式。主程序、子程序架构是将程序分割为一系列可以控制的树形模块,有一个主程序,它调用很多其他的程序模块,然后每个程序模块可能又调用其他的模块。 15、模块设计的最终目的是将数据模型、架构模型、界面模型变为可以操作的软件。

16、主要的架构设计有以数据为中心的架构、基于数据流的架构、调用返回的结构、面向对

象的体系结构、分层体系结构等。 17、数据模型可以分为概念数据模型和物理数据

模型,概念数据模型设计的目标是产生反应系统信息需求的整体数据库概念结构;物理数据模型是将概念结构转换成特定数据管理系统所支持的数据模型的过程。 数据库的设计是数据设计的核心,可以采用

面向数据的方法,为此需要掌握数据库设计的原理和规范。

18、用户界面设计的过程包括4个明显的主要活动是:

用户、任务、环境的分析和建模;界面的设计;界面的实现;界面的验证。

19、MVC是一种设计模式,它强制性地将应用程

7

序的输入、处理和输出分开。MVC将应用程序分为三个核心模块:模型、视图和控制器。 20、程序可以有4种实现注释的风格:块注释、单行注释、尾端注释和行末注释。 二、简答题

1、面向对象的软件开发技术思想与特点。

面向对象的程序设计思想是将客观世界中的事物看成对象,对象是由数据及对数据的操作构成的一个不可分离的整体。对同类型的对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行联系。

封装、继承和多态性是面向对象程序设计的主要特性。封装是指对象在把数据与操作结合为一个整体时,其数据的表示方式及对数据的操作细节是尽可能地被隐藏的。继承是指特殊类的对象拥有其一般类的全部属性结构的操作行为。多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或不同的行为,这使得同一个属性或行为在一般类及各特殊类中具有不同的语义。

8

2、 组件化的软件开发技术思想与特点。

基于组件的开发是一种利用可重用的软件组件构建应用程序的技术。组件是一个的可传递的操作的集合。它是具有特定功能,能够跨越进程的边界实现网络、语言、应用程序、开发工具和操作系统的“即插即用”的的对象。

组件的开发工程,主要是一个组装和集成的过程,其基本活动过程是: ·收集组件 ·改善组件质量 ·使组件能相互适应 ·组装组件 ·更新组件

3、软件需求关注的内容。

软件需求关注的是软件需求的获取、分析、规格和验证。

需求获取的内容包括需求源和需求获取技术。需求分析的内容包括需求分类、概念模型、架构设计与需求的部署和需求协调。需求规格的内容包括系统定义文档、系统需求规格和软件需求规格。需求确认的内容包括需求评审、原型及模型确认、接收测试。

9

4、需求验证的内容

需求规格提交后,开发人员需要与客户对需求分析的结果进行验证,以需求规格说明为输入、通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性。验证包括以下内容。

1)需求的正确性。 2)需求的一致性。 3)需求的完整性。 4)需求的可行性。 5)需求的必要性。 6)需求的可检验性。 7)需求的可跟踪性。 8)最后的签字。 5、设计模型中的主要内容。

设计模型主要包括四类模型:数据设计、架构设计、界面设计、模块设计。

数据设计将需求分析阶段产生的信息模型转化为实现软件的数据结构。架构设计定义软件中各个主要结构元素之间的关系,架构模型主要是确定一种设计模式。界面设计定义了软件内部的通信、与系统的交互以及人机操作界面等。模

10

块设计的最终目的是将数据模型、架构模型、界面模型变为可以操作的软件。每个模块的功能是相对的,同时是可以集成的。

6、架构设计中面向对象的体系结构、分层体系结构的设计内容。

面向对象的体系结构,在构造模块的时候依据抽象的数据类型,每个模块是一个抽象数据类型的实例。所以,面向对象的体系结构有两个重要的特点:对象必须封装所有的数据,每个对象的数据对其他对象是黑盒子。这个架构封装了数据和操作。

分层的体系结构,系统定义很多的层,每层操作逐步接近机器的指令,最外层是用户界面层,最里面层执行操作系统的指令。中间层提供很多的服务和应用。

7、计算机软件的体系结构中主机/多用户系统的特点。

20世纪50~60年代,计算机基本上是单机系统,也就是软件所有的功能都在一台计算机上实现,系统只有一台计算机。20世纪70年代出现了主机/多用户系统,尽管本质上就是一台计算机在工作,但是多个终端用户可以同时上机,

11

并行操作,每个终端都有独占主机资源的感觉。

主机/多用户系统的终端不是一台完整的计算机,而是一台分时共享主机的输入/输出设备。这样,主机/多用户的应用软件系统就是一层的结构,也就是所有的负担都由主机承担,当这个负担过重的时候,终端用户的数量就要受到。

8、浏览器/服务器(B/S) 结构的特点。 无须开发客户端软件,维护和升级方便;可跨平台操作,任何一台机器只要装有www浏览器软件,均可作为客户机来访问系统;具有良好的开放性和可扩充性;可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。

因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S 系统的终端。

9、多层B/S体系结构的发展过程及特点。

实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由

12

web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,而把负荷分配给了WEB服务器。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。

B/S二层的结构弊端,尤其在服务器负担过重时,客户机异地操作不容易,因此,有必要在客户端和服务器端新建立一个层,负责事务处理,我们称之为应用逻辑层,这样可以帮助“胖客户机”或者“胖服务器”减肥,这样就形成了三层结构,

三层结构(B/A/S表示层、应用逻辑层、数据库服务层)。随着软件系统规模的增大,也可以将应用逻辑层分为很多层,这样就演变为多层体系结构。这个中间层也衍生了很多的中间件产品。这些三层结构是一种逻辑上的结构,物理上分多少层可以根据需求来决定。三层(多层)结构中的任意层的修改,对其他层的影响很少。 10、应用程序框架的概念和特点。

应用程序框架结构是一个可以重复使用的,大致完成的应用程序。可以通过对其进行定制开发成一个客户需要的真正的应用程序。

13

框架结构提供给程序员可以重用的骨干模块,程序员使用这些模块来构造自己的应用,重用的骨干模块具有如下特征:它们被证明可以与其他应用程序一起来很好地工作;它们可以立即在下一个程序中使用;它们可以被其他项目使用。 11、MVC设计模式的概念及内容。

MVC是一种设计模式,已经被广泛使用,近几年被推荐为SUN公司J2EE平台的设计模式,受到了越来越多的Web开发者的欢迎。它强制性地将应用程序的输入、处理和输出分开。MVC将应用程序分为三个核心模块:模型、视图和控制器。它们分别负担不同的任务。

视图:视图是用户看到并与之交互的界面,视图向用户显示相关的数据,并接收用户的输入数据,但是并不进行任何实际的业务逻辑,视图可以向模型查询业务状态,但不能改变模型,视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。

控制器:控制器接受用户的输入并调用模型和视图完成用户的需求,当web用户发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图显示模型返回

14

的数据。

模型:模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。

12、struct体系结构如何遵循MVC设计模式。

struct体系结构基本遵循了MVC模式。其中:模型(Model)是代表应用数据的对象,它不包含数据应当如何展现给用户的部分;视图(View)是将模型的状态可视化的形式,是负责将模型数据展现给用户的部分;控制器(Controller)提供改变模型状态的灵活方式。 13、用户界面设计的过程中的界面的实现和验证。 界面的实现:实现界面设计,一般说,首先做一个情景式的原型,以便于评估,可以采用界面实现工具来逐步完善界面。

界面的验证:首先是确认实现的用户界面是否能够正确完成用户的任务,适应各种情况,满足总的需求;然后评价这个界面的用户容易使用和容易学习的程度,最后评估如将其作为用户工作中的有用工具,用户对它的接受程度。 。 三、实例分析与设计

15

1、需求分析实例。

系统定义:阐述项目的来源、背景.项目的用户特点和项目的目标。

项目来源及背景

本项目是为北京某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较棘手的事情,为人力资源部的工作人员带来很多的工作量。为此公司希望有一个自动化的招聘系统能够给他们带来工作的便利,提高工作效率,同时能及时招聘到满意的人才。

为现实企业与人才的有效联系,弥补招聘中存在的种种不足,我们开发了网上招聘系统。公司人力资源部的工作人员通过这个招聘系统维护知识题库,编制问卷,发布职位和与这个职位相应的问卷;应聘者可以通过网上提交自己的简历并同时回答相应的问卷。人力资源部的工作人员通过这个招聘系统可以统计整理这些简历,并根据应聘者的简历和问卷分数提取出需要面试的人员,然后按照一定的方式通知面试人员参加面试,在面试过程中,记录相应的面试结果。人

16

力资源部的工作人员可以随时浏览人员简历和面试的相关信息。

用户的特点

本系统的用户都是网上用户,包括两类,一类是应聘者,他们的差异比较大,有的学历很高,有的可能很低。有的经验很丰富,有的可能没有经验等。另外一类用户是管理用户,他们是公司内部的人,主要是人力资源管理人员和系统管理人员。他们对招聘业务很熟悉,系统管理人员对系统很熟悉,总之,他们对使用管理软件比较熟悉。

项目目标

本项目设定的目标如下:

·系统能够提供友好的用户界面,使操作人员的工作量最大限度地减少;

·系统具有良好的运行效率,能够达到提高生产率的目的;

·系统应有良好的可扩充性,可以容易地加入其他系统的应用;

·平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化;

·通过这个项目可以锻炼队伍,提高团队的

17

开发能力和项目管理能力。

应用环境:

根据用户的需求陈述,可以确定本项目分为客户端和管理端,客户端主要功能是提供应聘者的职位查询、简历录入、回答问卷,简历提交等。管理端的功能提供公司人力资源管理人员(HR)进行的知识库(题库)管理、问卷管理、职位发布、简历管理、用户管理等。

系统运行的网络环境

无论是客户端的应聘者还是管理端的管理用户都可以通过网络登录到本系统中。应聘者通过网络提交简历等相关信息,入力资源部通过网络发布职位信息,获得应聘者提交的简历信息,进行面试管理。管理端的系统管理员需要设置管理端的用户以及相应的权限。

·操作系统:UNIX/Linux/Windows 2000或以上版本

·数据库:SQL Server 2000

·开发工具包:JDK Version 1.4.2 ·Web服务器:Tomcat ·浏览器:IE 6.0以上

18

设计用例时,我们遵循下列步骤: 1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。

2)描述主要的用例。可以采取不断地问自己“这个角色究竟想通过系统做什么?”来准确地描述用例。

3)重新审视每个用例,为它们下个详尽的定义。

角色定义

角色或者执行者指与系统产生交互的外部用户或者外部系统。

1)应聘者

应聘者是指在这个网络招聘系统中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。

2)管理用户

管理用户是指管理端的用户,此角色派生两

19

个子类,HR(入力资源管理)和系统管理员,HR是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人员,它又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统管理员是指对网上招聘系统进行相关设置、进行系统维护的人员,他也是通过管理端登录对管理端的用户进行设置,分配权限等。 管理用户具体说明如下:HR

。试题管理者。管理题库、组织相关问卷。 。职位发布者。根据公司的需要发布相应的职位。

。面试管理者。整理应聘者简历、对简历合格人员进行面试。 系统管理员

导过管理端对系统用户进行管理的人员,这个角色主要负责对管理端用户的增删,权限的设置等功能。

3)数据库

数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。

系统主用例图

20

网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。客户端子系统功能主要是指应聘者通过登录招聘网站进行操作的功能,即应聘功能。管理端子系统功能是招聘公司的管理人员发布招聘职位,整理应聘者简历,面试等功能。

客户端子系统

应聘者通过公司的招聘网站登录到系统中进行应聘,应聘者通过它提交简历,进行应聘这就是客户端系统的功能。在客户端用户可以看到职位名称,职位发布日期,截止日期,职位类型,招聘人数等说明,按职位发布日期排序。当点击职位名称时进入职位详细信息页面,如果应聘的话可以填写简历信息,并回答问卷,最后将问卷连同简历一同提交。

客户端的功能主要包括选择职位、填写简历、回答问卷等功能。

选择职位

用例描述:应聘职位选择 执行者:应聘者;

前置条件:应聘者已登录系统;

后置条件:选择应聘职位后,可输入简历。

21

应聘职位选择业务流程

a)应聘者进入职位发布界面,首先展示目前正在招聘的所有职位信息列表。

b)通过点击每个职位,可以详细浏览每个职位的详细描述。

c)如果满意该职位,点击确认,并进入简历填写和问卷调查。 填写简历

用例描述:应聘者简历录入 执行者:应聘者;

前置条件:应聘者已选择应聘职位; 后置条件:输入简历后,可以回答问卷。 应聘者简历录入业务流程 a)个人基本信息输入。 b)工作经历信息输入。 c)教育经历信息输入。

d)家庭成员信息输入。 e)简短自我评价。 问卷调查

用例描述:应聘者问卷调查; 执行者:应聘者;

前置条件:应聘者已输入简历;

22

后置条件:填写问卷后,可提交简历和问卷。 应聘者问卷调查业务流程

a)要求应聘者回答薪金和工作志愿等。 b)问卷题型为选择题,全部回答后,方可提交简历。

c)完成答卷后,将简历和问卷一同提交。

管理端子系统

管理端子系统主要是提供公司人力资源管理人员使用的功能.它的功能分为登录管理、题库管理、问卷管理、职位发布、简历整理、面试管理等部分,每个登录者首先要通过安全认证然后确认权限,系统根据相应的权限实现相应的功能。

题库管理

在网上招聘系统中,有一套题库,是由大量的选择题组成,它是问卷的基本组成。题库管理模块主要是完成对每个试题的增加、删除、修改、查询等维护功能。具体描述如下。 用例描述:题库管理; 执行者:试题管理者;

前置条件:试题管理者已登录系统; 后置条件:如果题库维护成功,则数据库中

23

的试题库随之变化,此时可以组织问卷。 基本路径:

a)进入题库管理界面,首先展示目前题库已有的题目;

b)点击每个题目可以详细浏览这个题目的具体内容,同时也可以对这个试题的具体内容进行修改。

c)增加题目时,首先选择题目类别,然后是题目名称、题目内容、确定可选答案(多个)等; d)可以删除选择的题目。

问卷管理

在网上招聘系统中,要定期维护问卷,因为每个招聘职位都附有一套问卷,应聘者必须回答问卷,才可以提交简历。问卷管理主要是组织问卷,问卷中的所有题目都来自题库,每份问卷都有不同的针对性,针对不同的招聘需求。具体功能描述如下。

用例描述:问卷管理; 执行者:试题管理者;

前置条件:试题管理者已登录系统; 后置条件:如果问卷维护成功后,则数据库中的问卷随之变化,发布职位时可以选择合适的

24

问卷。

基本路径:

a)进入问卷管理界面,首先展示目前存在的问卷;

b)点击每个问卷可以详细浏览每个问卷的题目;

C)可以对一些题目进行删除,或者可以重新整理各个题目的顺序,同时可以预览整个问卷; d)提供增加问卷的按钮,增加问卷时,从题库中选择题目;

e)可以删除选择的问卷。

职位发布

职位发布是网上招聘系统的主要功能之一,管理人员根据企业发展的需要.定期发布招聘职位需求,详细描述这个职位情况,招聘要求等。每个职位都附有一套问卷,需要应聘者回答,问卷是针对具体职位选定的,职位信息发布后,应聘者通过网络可以看到职位,并可以应聘,具体功能描述如下。

用例描述:职位发布; 执行者:职位管理者;

前置条件:职位管理者已登录系统,

25

后置条件:如果职位发布成功后,则数据库中的职位信息随之变化,应聘者可以通过网络看到招聘职位。 基本路径:

a)进入职位发布界面,首先展示目前正在招聘的所有职位,可以增加新的招聘职位; b)通过点击每个职位,可以详细浏览每个职位的详细描述;

c)可以对每个职位信息进行修改; d)提供职位条件查询功能; e)提供职位删除功能。 。

简历管理

应聘者将简历提交之后,人力资源部门的人员开始整理简历,将达到一定成绩的人员作为面试的被选对象,然后通过浏览其简历情况,确定可以面试的人员,对需要面试的人员通过电话、邮件等方式通知面试时间。具体的功能描述如下。

用例描述:简历管理; 执行者:面试管理者;

前置条件:面试管理者已登录系统; 后置条件:简历整理完成后,则可以将应聘

26

者分为几个类别,以便为面试做好准备。 基本路径:

a)进入简历管理界面,首先展示目前简历对应的职位列表,提供查询功能;

b)通过点击职位列表进入相应职位的所有简历列表界面,这个界面也显示了每个应聘者的姓名、年龄、性别、问卷的分数以及目前的处理状态等信息;

c)在简历列表中,通过点击一个应聘者可以显示这个应聘者的简历信息,问卷回答情况,还可以打印简历;

d)对简历有三种处理结果,即通知面试、保留简历、拒绝;

e)对简历的处理结果,可以采用电子邮件、电话和信件等方式通知应聘者,如果采用电子邮件通知应聘者,系统将提供一个模板。

面试管理

对满足一定条件的应聘者,可以对其进行面试,记录面试的结果。具体描述如下: 用例描述:面试管理; 执行者:面试管理者;

前置条件:面试管理者已登录系统;

27

后置条件:如果面试完成后,则面试的结果记录到数据库中。 基本路径:

a)进入面试管理界面,显示目前的招聘职位列表,提供查询功能;

b)点击某个职位进入与这个职位相应的接受面试人员的列表;

c)将接受面试的人分类浏览,分为等待通知者、等待面试者和面试完成者;对没有通知面试的人,通知其进行面试,他的状态就变为等待面试者;

d)点击每个列表上的人,可以浏览到这个应聘者的信息;

e)面试完成时,需要记录面试的时间、面试人以及面试结果等,记录信息提交后这个应聘者的状态就变为面试完成者。

用户管理

系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。具体功能描述如下。

用例描述:用户管理; 执行者:系统管理员;

28

前置条件:系统管理员已登录系统; 后置条件:如果用户信息维护完成,则用户的相应信息将记录到数据库中。 基本路径:

a)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限;

b)点击不同的用户,可以显示这个用户的信息以及相应权限,必要时可以修改其权限; c)可以增加用户,也可以删除用户。

界面需求

系统的界面要求如下。

1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺;专用术语规范,行文格式统一规范。

2)导航结构:页面具有明确的导航指示.且便于理解,方便用户使用。

3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。 4)艺术风格:界面、版面形象清新悦目、布

29

局合理,字号大小适宜、字体选择合理,前后一致,美观大方。动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。

响应时间需求

无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等.以避免出现长时间等待甚至无响应。

可靠性需求

系统应保证7×24小时内不宕机,20人同时在客户端登录,此时系统能正常运行,正确提示相关内容。

产品提交 提交产品为: a)应用系统软件包; b)数据库初始数据, C)系统开发过程文档;

d)系统使用、维护说明文档,提交方式为CD介质。

2、界面设计实例分析(页面流程略)

30

系统的用户界面按功能分为客户端界面和管理端界面。 管理端界面设计

管理端主要实现题库管理、问卷管理、职位发布、简历管理、面试管理以及用户管理等功能。

界面设计如下:

登录界面:通过输入用户名和密码实现用户登录,并判断用户的权限;

管理首页:根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能;题库管理:包括“题目列表”、“题目详细信息”、“增加试题”、“删除试题”、“修改试题”、“增加答案”和“删除答案”等页面; 问卷管理:包括“试题列表”、“试题详细信息”、“修改试题”、“增加试题”、“删除试题”和“预览试题”等页面;

职位发布:包括“职位列表”、“职位详细信息”、“查询职位”、“增加职位”、“删除职位”和“修改职位”等页面;

简历管理:包括“职位列表”、“应聘者列表”、“应聘者申请表”、“查看试卷答案”、“回复信息”和“打印简历”等页面;

31

面试管理:包括“职位列表”、“应聘者列表”、“应聘者求职申请表”、“查看试卷答案”、“未发通知”、“等待面试”和“面试完成”等页面;

用户管理:包括“用户列表”、“用户信息”、“修改用户信息”、“增加用户”和“删除用户”、“用户权限设置”等页面。 客户端界面设计

客户端主要为应聘者提供网上应聘的过程,应聘者通过选择合适的职位,填写个人简历,并通过回答问卷来进行测评,提交的简历和测评结果一同传到服务器端,供管理者挑选合适的简历。

在客户端界面,应聘者首先进入企业招聘界面,点击“招聘”按钮进入职位列表界面,包括“职位列表”、“职位详细信息”、“申请职位”、“填写个人基本信息”、“填写工作经历”、“填写教育经历”、“填写基本技能”、“填写家庭成员”、“填写个人评价…预览简历”和“答题”等页面。 3、体系结构设计实例

系统的总体结构设计遵循如下原则。

32

1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求; 2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠;

3)系统应具有较好的安全性:应提高安全机制和用户权限机制的完善程度,确保数据的受限访问;

4)系统应具有良好的可维护性:系统应易于维护、安装;

5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。 本系统采用struct体系结构,struct是一个基于模型 (Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。

目前软件项目中有很多体系结构,其中struct是比较流行的一种。

struct体系结构

对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着

33

wleb开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架中模型由实现业务逻辑JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现。

视图由一组JSP文件组成。 4、模块设计实例(功能结构图略)

按照功能分解,本系统分为客户端管理系统和管理端系统。根据页面流的设计,管理端系统又分为用户登录、用户管理、题库管理、问卷管理、职位发布、简历管理、面试管理等7个模块, 5、测试用例设计实例

测试用例1

职位查询页面的工作流程是:在职位列表中显示职位名称,职位发布日期,截至日期,职位类型,招聘人数等。当点击职位名称时,进入职位详细信息页面。

测试内容:验证职位列表中的内容是否正确显示,并按职位发布日期排序。

测试输入数据:无。

34

预期结果:网页正确显示,并按职位发布日期排序。

测试过程:输入正确网址,并刷新。 异常可能原因之一:超链接错误。 解决办法:修改超链接。 测试用例2

基本信息页面的工作流程是:当进入基本信息页面后,应聘者需填写本人的基本信息,加星号的为必填项。如填写格式错误,系统给出错误提示。当点击“下一步”按钮时,进入工作经历页面。

测试内容:测试对异常数据的处理。 测试输入数据:如输入日期为0月,身高为-23厘米,必填项空缺等。

预期结果:系统报错。

测试过程:登录,进入该页面,输入异常数据,提交。

异常可能原因之一:必填项无定义,或非必填项无错误提示。

解决办法:增加边界的无效检测。 四、单选题

1、对于软件工程的三段论,其核心指的是( )

35

A. 软件项目开发 B. 软件需求分析

C. 软件过程改进 D. 软件项目管理 2、对于软件工程的三段论,下面说法不正确的是( )

A. 软件项目管理过程是伴随开发过程进行的过程。

B. 软件项目开发过程相当于生产线上的生产过程。

C. 软件项目管理指导软件开发的过程。

D. 软件过程必须科学、合理,才能获得高质量的软件产品。

3、驱动软件开发与设计是( ) A. 经济效益 B. 软件目标 C. 软件过程改进 D. 用户需求 4、软件需求包括业务需求、用户需求、功能需求和需求规格等。其正确的顺序是( ) A. 用户需求、业务需求、功能需求、需求规格

B. 业务需求、用户需求、功能需求、需求规

C. 功能需求、业务需求、用户需求、需求规格

36

D. 需求规格、业务需求、用户需求、功能需求

5、软件需求包括业务需求、用户需求、功能需求和需求规格等。其不正确的描述是( ) A. 用户需求描述了用户通过使用本软件产品必须要完成的任务,一般是由用户协助提供。

B. 在需求分析过程中,较少使用的文档就是

软件需求规格说明文档。

C. 业务需求反映了组织机构或客户对系统、产品高层次的目标要求,由管理人员或市场分析人员确定。

D. 功能需求定义了开发人员必须实现的软件功能,使得用户通过使用此软件能完成他们的任务。

6、快速原型方法是用户和设计者之间的一种交互过程,它从设计用户界面开始,首先形成系统界面原型,然后用户( )

A. 阅读使用手册 B. 改进系统界面 C. 模拟界面运行 D. 运行原型界面 7、采用用例驱动和架构优先的策略,并用迭代增量建造方法,使软件产品逐渐开发出来,所采用的是

37

A. 瀑布模型 B. 喷泉模型 C. 螺旋模型 D. 统一过程模型 8、下面说法不正确的是

A. 需求是与开发技术密切相关的。

B. 在需求阶段讨论技术是没有任何意义的。 C. 在很多情形下,分析用户需求是与获取用户需求并行的。

D. 需求分析与需求获取有着相似的步骤,区别在于分析用户需求时使用模型来描述。 9、下面哪个活动不是概要设计的内容。( ) A. 框架设计 B. 总体结构设计 C. 接口设计 D. 软件测试 10、对于下列活动:⑴ 软件需求规格 ⑵ 框架设计 ⑶ 总体结构设计 ⑷ 数据库设计 ⑸接口设计 ⑹ 网络环境设计。属于软件概要设计的活动是( )

A. ⑴⑵⑶⑸⑹ B. ⑴⑵⑷⑸⑹

C. ⑵⑶⑷⑸⑹ D. ⑴⑵⑶⑷⑸⑹

11、概要设计主要是根据哪项活动完成软件模块的划分并描述模块之间的关系。( ) A. 业务需求 B. 用户需求

C. 需求规格 D. 功能需求

38

12、下面关于功能模块划分的设计,说法不正确的是( )

A. 模块的划分,从高层到低层一层一层进行分解,每层都有一定的关联关系。

B. 每个模块具有特定、明确的功能,每个模块的功能是相对的。

C. 每个模块的功能不是相对的,但同时

是可以集成的。

D. 模块划分应该体现信息隐藏、高内聚、松耦合的特点。

13、概要设计模型主要包括四类模型:数据设计、架构设计、界面设计、模块设计。为这些模型提供了信息流的是( )

A. 需求模型 B. 结构化模型

C. 面向对象模型 D. 功能模型 14、数据设计将需求分析阶段产生的信息模型转化为实现软件的( )

A. 数据流图 B. 数据字典 C. 面向对象模型 D. 数据结构 15、架构设计定义软件中各个主要结构元素之间的关系,架构模型主要是确定一种( ) A. 数据结构 B. 结构化模型

39

C. 面向对象模型 D. 设计模式 16、下面不属于界面设计的内容是( ) A. 软件内部的通信 B. 与系统的交互

C. 测试用例 D. 人机操作界面

17、下面不属于主要的架构设计的内容是( )

A. 以数据为中心的设计 B. 基于数据流程图的设计

C. 调用返回的结构设计 D. 面向对象的体系结构设计

18、下面的说法不确切的是( ) A. 调用返回结构的系统可以使得软件设计人

员开发一个比较容易修改和扩展的程序结构。

B. 以数据为中心的架构改进可以是渐近的。

但修改一个模块或者增加一个模块需要考虑其他模块,因为模块的性不是很好。

C. 基于数据流的架构是根据输入的数据,经过一系列的处理之后,变为输出数据的架构。 D. 面向对象的体系结构有两个重要的特点:对象必须封装所有的数据,

40

每个对象的数据对其他对象是黑盒子。这个架构封装了数据和操作。

19、数据设计首先在高层建立一个数据模型,然

后再逐步地将这个数据模型变为将来进行编码的数据模型。这里的数据模型指的是( )

A. 管理者角度的 B. 开发者角度的 C. 应用者角度的 D. 用户角度的 20、下面说法不正确的是( )

A. 数据模型对软件的体系架构有很大的影响。

B. 数据模型是系统内部的动态数据结构。

C. 数据模型可以分为概念数据模型和物理数据模型,

D. 数据库的设计是数据设计的核心, 21、当数据模型、架构模型(总体设计)、界面模型(窗口 网页表章)完成之后,可以开始软件的( A )

A. 模块设计 B. 编码设计

C. 原型设计 D. 数据库设计 22、下面的内容:⑴ 单机系统 ⑵ 主机/多用

户系统(主机 终端) ⑶ 网络系统 ⑷ 浏

41

览器/服务器系统(BS) ⑸ 分布式系统 0⑹ 客户机/服务器系统(CS)。其中,属于计算机软件的体系结构的是( D ) A. ⑴⑵⑶⑷⑸⑹ B. ⑴⑵⑷⑸⑹ C. ⑵⑶⑷⑸⑹ D. ⑴⑵⑷⑹ 23、计算机软件的体系结构层次从一层结构发展

到二层结构、三层结构以至于多层结构。下面的说法不确切的是( A )

A. 一层结构是一级处理,所有的处理都集中

在服务器上完成。

B. 二层结构是二级处理,处理工作由客户机和服务器共同承担。

C. 三层结构是三级处理,处理工作由表示层、应用逻辑层和数据层分布式承担。

D. 多层结构是将应用逻辑层分为很多层。 24、随着计算机技术的不断发展与应用,计算机

模式从集中式转向了分布式。下面那种计算模式反映了这种变化( C ) D A. 单机模式 B. 主机模式

C. 客户机/服务器模式 D. 多处理机模

25、所谓C/S模式,在20世纪80年代及90年

42

代初得到了大量应用,最直接的原因是( D ) A. 计算机网络的应用 B. 分布式系统的出现

C. 数据库技术的发展 D. 可视化开发工具的推广

26、在客户机/服务器结构中存在“胖客户机”

或者“胖服务器”结构。关于“胖客户机”的含义是( A )

A. 将事务处理集中放在客户端 瘦客户

不咋处理事务

B. 将数据处理集中放在客户端(服务器)BS零客户

C. 将事务处理集中放到服务器 D. 将数据处理集中放到服务器

27、对于B/S模式而言,软件的开发、维护等几

乎所有工作都集中在( C ) A. 主机端 B. 客户端

C. 服务器端 D. 浏览器端

28、下面说法不确切的是( B ) A. B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,把客户机的负荷分配给了WEB服务器。

43

B. 在B/S体系结构中,客户端不仅能完成浏

览、查询、数据输入等简单功能,还能完成绝大部分工作的软件维护等功能(服务器做)。

C. 二层B/S体系结构的弊端是,在服务器负担过重时,客户机异地操作不容易。

D. 为帮助“胖客户机”或者“胖服务器”减肥,出现了B/S的了三层结构。

29、在MVC设计模式中,它强制性地将应用程序

的输入、处理和输出分开。MVC将应用程序分为三个核心模块:模型、视图和控制器。它们分别负担不同的任务,视图( A )

A. 是用户看到并与之交互的界面

B. 向用户显示相关的数据,并接收系统的输入数据 出

C. 既可以向模型查询业务状态,又能改变模型

D. 不能接受模型发出的数据,从而对用户界面进行同步更新

30、在MVC设计模式中,关于模型的描述,不确切的是( C )

A. 模型是应用程序的主体部分 B.

44

模型表示业务数据和业务逻辑

C. 一个模型只能为一个视图提供数据

D. 同一个模型可以被多个视图重用

六、题型举例(2007年10月自考题(部分)) 一、单项选择题(每小题2分,共30分)

1、对于下列内容:⑴ 软件需求分析 ⑵ 软件项目开发 ⑶ 软件概要设计 ⑷ 软件详细设计 ⑸软件项目管理 ⑹软件过程改进。软件工程的三段论指的是( D ) A. ⑴⑵⑶ B. ⑴⑶⑷ C. ⑵⑷⑹ D. ⑵⑸⑹

2、在软件需求的各个活动中,错误的观点是( C )

A. 用户需求必须与业务需求一致 B. 软件需求各个活动之间有层次关系

C. 软件需求各个活动之间无顺序关系 D.

用户需求驱动软件开发与设计

3、下面哪个活动不是概要设计的内容。( D )

A. 框架设计 B. 总体结构设计 C. 接口设计 D. 软件测试

4、下面不属于主要的架构设计的内容是( C )

45

A. 以数据为中心的设计 B. 基于数据流的设计

C. 堆栈结构设计 (数据结构里) D.

面向对象的体系结构设计

5、关于用户界面设计的4个明显的主要活动,描述不正确的是( B )

A. 界面设计对不同的用户进行分类,设计不同的模式。

B. 定义抽象的用户界面和相应的操作,用户

通过操作这些界面完成系统定义的需求。 C. 实现界面设计,一般说,首先做一个情景式的原型,以便于评估。

D. 确认实现的用户界面是否能够正确完成用户的任务。

6、关于浏览器/服务器模式,下面说法确切的是( B )

A. 基于web的B/S方式不是客户机/服务器方式

B. 基于web的B/S方式也是一种客户机/服

务器方式

C. 基于www的B/S方式不是客户机/服务器方式

46

D. 基于www的B/S方式也是客户机/服务器方式

7、struct体系结构基本遵循了MVC模式。关于struct模式的描述,不确切的是( D ) A. struct基于的标准技术有JavaBean、servlets(JSP的原文件)和JSP。 B. struct控制层是一组可以被编程的组件。 C. struct的中心部分是MVC的控制层,控制层可以将模式层和视图层连接起来。

D. 在软件开发过程中通过使用struct标准

组件,并采用渐进式的开发方法,从而可以帮助程序员减轻每个新项目都重复进行那些既耗时又烦琐的工作。

8、EJB是下面哪个公司的产品( B ) A.IBM B.SUN C.MicroSoft D.Intel 二、填空题(每空1分,共15分)

1、软件需求包括(业务需求 )、用户需求、功能需求和软件需求规格等层次。

2、软件概要设计注重(框架设计 )、总体结构

设计、数据库设计、接口设计、网络环境设计等。

47

3、调用返回结构的系统可以使得软件设计人员

开发一个比较容易修改和扩展的程序结构,它包括主程序、(子程序架构 )和远程调用模式。

4、模块设计的最终目的是将( 数据模型 )、架构模型、接口模型变为可以操作的软件。 5、实体EJB的客户端视图是由主接口和(远程接口 )组成。

6、软件企业最大的事情是(软件立项 ),它是软件开发与管理的源头。

7、自底向上渐增式测试不需要编写(驱动)程序,只需要编写存根程序。

三、简答题(每小题6分,共30分) 1、简述结构化的软件开发技术思想与特点。

(1)结构化程序设计的思想是:自顶向下,逐步求精。其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构,各模块之间的关系尽可能简单,在功能上相对:每一个模块内部均是由顺序、条件、循环三种基本结构组成,其模块化实现的具体方法是使用子程序调用。

(2)基于结构化程序设计的面向过程的软

48

件开发技术由于采用了模块划分与功能分解,自顶向下、分而治之的方法,因而可将一个较复杂的问题分解为若干个子问题,各子问题分别由不同的人员解决,从而提高了速度,并且便于程序的调试,有利于软件的开发和维护。 2、简述软件需求的内容。

(1)软件需求包括业务需求、用户需求、功能需求和软件需求规格等层次。

(2)业务需求反映了组织机构或客户对系统、产品高层次的目标要求,由管理人员或 市场分析人员确定。

用户需求描述了用户通过使用本软件产品必须要完成的任务,一般是由用户协助提供。

功能需求定义了开发人员必须实现的软件功能,使得用户通过使用此软件能完成他们的任务,从而满足了业务需求。对一个复杂产品来说,功能需求也许只是系统需求的一个子集。

软件需求规格说明所说明的功能需求充分描述了软件系统所应具有的外部行为。软件需 求规格说明在开发、测试、质量保证项目管理以及相关项目功能中都起到重要的作用。 3、简述用户界面设计的意义及三个原则

49

(1)用户界面设计是为人和计算机之间创建一个有效的沟通媒介,它遵循一定的设计原则,标识界面和相应的操作,创建屏幕布局设计,以此作为用户界面原型的基础。

(2)界面管理的三个“黄金原则”: 控制用户的想法;尽可能减少用户记忆量;界面最好有连续性。

四、分析题(每小题8分,共16分) 1、软件开发项目案例简要说明。

本项目是为某公司开发的一个网上招聘系统,公司希望通过该系统给工作带来便利,提高工作效率,同时能及时招聘到满意的人才。 应聘者可以通过网上提交自己的简历并填写问卷;公司人力资源部的工作人员可以通过该系统维护知识题库,编制问卷,发布职位,整理简历,通知面试;并在面试过程中,记录相应的面试结果。

本项目设定的主要目标如下:系统能够提供友好的用户界面,使操作人员的工作量最大限度地减少;系统应有良好的可扩充性,可以容易地加入其他系统的应用;平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化。

50

根据以上所给的网上招聘系统的有关说明材料,完成下列需求分析。 (1)描述系统的各个角色。

(2)给出客户端应聘者职位选择的用例描述和业务流程描述。

(1)系统的各个角色

应聘者:是指在这个网络招聘系统中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。

管理用户:是指管理端的用户,此角色派生两个子类,人力资源管理员和系统管理员。人力资源管理员又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统管理员是指对网上招聘系统进行相关设置、进行系统维护的人员。 数据库:是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。

(2)用例描述:应聘职位选择 执行者:应聘者;

前置条件:应聘者已登录系统;

51

后置条件:选择应聘职位后,可输入简历。 (3)应聘职位选择业务流程

a)应聘者进入职位发布界面,首先展示目前正在招聘的所有职位信息列表。

b)通过点击每个职位,可以详细浏览每个职位的详细描述。

c)如果满意该职位,点击确认,并进入简历填写和问卷调查。 五、设计题(本题9分)

假定已完成上述所给出的网上招聘系统的需求分析,下面进行概要设计。

网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统,一个是管理端子系统。

客户端主要为应聘者提供网上应聘的过程,应聘者通过选择合适的职位,填写个人简历,并通过回答问卷来进行测评,提交的简历和测评结果一同传到服务器端,供管理者挑选合适的简历。

管理端主要实现题库管理、问卷管理、职位发布、简历管理、面试管理以及用户管理等功能。

系统的用户界面按功能分为客户端界面和管理端界面。

52

(1)客户端界面设计描述。 (2)给出客户端页面流程图。

(1)客户端界面设计

客户端主要为应聘者提供网上应聘的过程,应聘者通过选择合适的职位,填写个人简历,并通过回答问卷来进行测评,提交的简历和测评结果一同传到服务器端,供管理者挑选合适的简历。

在客户端界面,应聘者首先进入企业招聘界面,点击“招聘”按钮进入职位列表界面,包括“职位列表”、“职位详细信息”、“申请职位”、“填写个人基本信息”、“填写工作经历”、“填写教育经历”、“填写基本技能”、“填写家庭成员”、“填写个人评价…预览简历”和“答题”等页面。 (2)客户端页面流程图 答题问卷

53

应聘者网上登录 职位列表 职位详细信息 职位申请 个人基本信息 简历预览 个人评价 家庭成员 教育经历 工作经历

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务