第一篇:高级软件工程考试题目
第一章概述
1.你如何理解时下热门的各种“软件定义”? 答:①从软件开发者角度定义,软件=程序+文档,而程序又是由算法和数据组成,算法提供了解决问题的方法。软件开发文档是软件开发使用和维护过程中的必备资料。它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。
②根据软件的分类来定义,软件大体可以分为系统软件和应用软件两大类。系统软件是电脑的基础软件,例如windows,ms-dos:应用软件是指具有具体功能的软件,并且是在系统软件上运行的,例如:EXE文件COM文件,windows是起基础作用的软件,一台电脑如果没有系统软件,那么应用软件是没有办法装台这台电脑上的。应用软件是指具有具体功能的软件,并且是在系统软件上运行的,例如:财务软件,办公软件,广告设计软件,各种游戏等等。
③从用户角度看,软件就是硬件的附庸,软件是单独的产品,软件是许可证,软件是服务。
2.计算机学科中的12个基本概念,在软件工程学科中都有怎样的作用和意义?针对3-4个概念举例说明?
答:计算机学科中的12个基本概念为:绑定、大问题的复杂性、概念和形式模型、一致性和完备性、效率、演化、抽象层次、空间有序、时间有序、重用、安全性、折衷和结论。
大问题的复杂性:随着问题规模的增长,复杂性呈非线性增加的效应。这是区分和选择各种方法的重要因素。以此来度量不同的数据规模、问题空间和程序规模。假如我们编写的程序只是处理全班近百人的成绩排序,选择一个最简单的排序算法就可以了。但如果我们编写的程序负责处理全省几十万考生的高考成绩排序,就必须认真选择一个排序算法,因为随着数据量的增大,一个不好的算法的执行时间可能是按指数级增长的,从而使你最终无法忍受等待该算法的输出结果。
一致性和完备性:在计算机中一致性和完备性概念的具体体现包括诸如正确性、健壮性、可靠性这类相关的概念。一致性包括用作形式说明的一组公理的一致性、观察到的事实与理论的一致性、一种语言或接口设计的内部一致性等。正确性可看作部件或系统的行为对声称的设计说明的一致性。一致性就是要始终保证数据的正确性 比如你去银行转钱你转1000但卡里只有300执行事务时查询到你金额不足就会返回拒绝执行而不是把你卡里的300转走,依然保持你卡里之前的金额300这就是一致性.恢复到事务的初始状态.完备性包括给出的一组公理使其能获得预期行为的充分性、软件和硬件系统功能的充分性、以及系统处于出错和非预期情况下保持正常行为的能力。完整性 是指主键上的值不能为空.比如关系R(学生号,学生姓名,成绩)学生号为主键那它就不能为空否则违反规则。重用:在新的情况或环境下,特定的技术、概念或系统成份可被再次使用的能力。例如,可移植性、软件库和硬件部件的重用,促进软件成份重用的技术,以及促进可重用软件模块开发的语言抽象等。软件重用的对象除源代码外,还包括规格说明、系统设计、测试用例等,软件生命周期中越前端的重用意义越重大。现有的许多努力都是面向源代码一级的重用,例如程序的模块化、封装与信息隐藏、数据抽象、继承、异常处理等机制,包括当前热门的CORBA、DCOM等利用构件组装软件系统的技术。
第二章 面向服务的软件工程
1.对于面向价值服务的心得体会
“价值”是服务化软件系统区别于传统软件的重要特征。一个服务系统的好坏取决于该系统能否
向供需双方提供期望的价值。服务是供需双方之间通过协同生产进行价值创造与风险分担的过程,各种有形或无形的价值则是服务系统的输出。在构建系统过程中应将价值作为最终目标,围绕价值进行服务系统设计和优化。在服务模型中应对价值进行准确的刻画,并将价值与各种功能要素联系起来,帮助分析期望的价值是否可被功能要素所支持并实现为了保证服务系统能够向供需双方充分提供各自所需的价值,服务工程应充分感知“服务价值”。价值知觉的定义是在服务全生命周期中去感知、描述、转换、实现期望的服务价值,并对其进行评价和优化。不同阶段的价值知觉内容不同:
服务模式创新机制
明确各个服务参与者的价值期望、各参与者之间的价值交换关系、每一项价值的度量、各项价值期望间的相互依赖。
服务建模
在服务模型中完整、正确地设计和描述所期望的服务价值、价值与服务功能要素间的映射关系、功能要素对价值的实现支持程度。
服务系统实现
通过选择和组合恰当的服务构件来实现服务系统,需说明所选择的服务构件向外提供的期望服务价值及其可实现程度。
服务系统运行
对实际运行的系统进行监控和评价,发现实际交付的价值与期望价值之间的差距,并找出差距原因,进而对服务系统进行改进。
服务价值理论
采用数学方法来刻画服务价值及其之间相互依赖关系,形成服务价值理论。它包括:(1)服务价值的分类、描述与度量;(2)服务价值依赖理论;(3)多层次服务价值模型及建模方法;(4)服务价值与服务模型的映射;(5)价值知觉的服务选取与组合;(6)面向价值的服务分析;(7)面向价值的服务优化;等等。
第三章复杂系统的软件工程
请尝试回答下这些软件工程中的挑战性问题: ①软件是测出来的还是用出来的?
②如何建立一种软件生产的激励机制和良好的产业生态环境? ③什么样的软件不会被盗版?
④如何通过软件演化来满足用户快速变化的需求? ⑤复杂网络可以怎样刻画软件系统?
答:①软件是用出来的。软件是为了解决现实中的问题,而设计出一款产品供有需求的用户使用。
②建立软件生产的激励机制可以根据软件设计人员的贡献给予相应奖励,同时在设计团队之间引入竞争机制;建立软件的产业生态环境,需要与政府合作,通过促进政策、教育和维权等方式,建立更加健康的软件产业生态环境。积极应对各种新挑战、资产管理促进技术创新、打击盗版多管齐下,营造一个良好的知识产权环境,为软件产业健康发展提供更好的保障。
③我认为为了社会公益,无偿提供服务的软件不会被盗版。
④随时捕获用户的需求,更新软件功能,并且要根据社会环境预测用户需求,研发新技术,不断设计更新软件功能;处理之外也可以将不同功能的软件进行集成组合获取更加复杂的功能,这样可以应对用户快速变化的需求,同时也减少了更新软件的周期。
⑤软件系统中的每一个软件相当于复杂网络中的一个节点,而软件之间的相连关系可以用复杂网络中的边来表示。这样软件系统可以构建成一个复杂网络,然后就可以用复杂网络中的方法来对软件系统进行分析,如基于复杂网络的软件复杂性度量研究,基于加权软件网络缺陷传播分析的面向对象软件结构质量度量,通过研究网络节点度可以发现软件的依赖程度。
第四章群体软件工程
2.在开源网站sourceforge.net上选择一个开源项目进行分析和介绍。答:以该网站上的一款软件VCL media player为例。该软件完全免费可以播放video and DVDs以及网络视频,在线直播等,比如IPV6协议下的高清在线视频;该软件是简单,快速和强大的媒体播放器。支持很多种格式媒体:文件、光盘、网络摄像头、设备和流。VLC媒体播放器是一个免费和开源媒体播放器和多媒体框架VideoLAN写的项目。VLC是一种便携式多媒体播放器,编码器,横幅支持多种音频、视频编解码器和文件格式以及dvd,vcd,和各种流媒体协议。它能够通过网络进行转码流和多媒体文件并将它们保存到各种格式。默认分配的VLC包括大量的免费的解码和编码库,避免需要寻找/校准专有插件。VLC是基于分组的多媒体播放器,可以播放视频内容的一些损坏,不完整,或未完成的视频。例如,文件还是下载通过点对点(P2P)网络。
特点:1.简单,强大的和快速的
2.支持文件,光盘(DVD、CD、VCD、蓝光),网络摄像头和溪流
3.没有编解码器包需要:mpeg4,对WMV MKV WebM 4.可以在大多数平台:Windows、Linux、Mac OS X,Unix„„ 5.完全免费的,0间谍软件、广告或用户跟踪媒体转换器和横幅
第二篇:软件工程课程设计题目
软件工程设计题目
1.个人通讯录管理系统
要求:增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:姓名,电话,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息)
2.图书销售系统 要求:系统可以:
显示每本书的详细信息
显示购物车和顾客选购的图书信息 增加新购买的新书
对定单的修改、确认、提交等 图书销售数量的排行
3.企业办公自动化管理系统(企业客户管理)
要求:针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。
4.ATM柜员机模拟程序
要求:当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):
查询余额:初始余额为10000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
5.火车订票系统
要求:可输入、添加、删除及修改列车信息,并能实现查询、订票、退票等功能。此系统还应能够打出取票通知和帐单,以保证能使每个旅客在出发的前一天凭取票通知和帐单交款取票。
6.超市收银系统(不考虑条码处理部分)
要求:接收收银台(客户端)的信息,经服务器处理后,把结果返回到收银台。即:客户端由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等,然后把信息提交服务器。由服务器从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200员,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
7.教师工资管理系统: 其中包括:基本信息管理,考勤信息管理,加班信息管理,工资信息管理,工种工资参数设置和年终奖生成几大模块。本项目数据库设计针对不同角色的用户需求,设计了三种角色.其中包括超级管理员,系统管理员和教师用户.帐户信息
不同的登录用户有对应的用户角色,登录用户名和登录密码,用户角色针对不同的用户群,而登录名则是帐户信息全局唯一的.用户基本信息
每个用户有对应的详细信息,包括:类别编号,类别名称,用户类型,部门编号,职称编号,级别编号,性别,地址,工作时间,出行日期,手机,家庭电话,办公室电话,政治面貌和教育程度等.教师部门信息
教师部门具有全局唯一的部门编号和部门名称.教师工资信息参数设置
教师工资工种编号,工资名称和工资金额.其中工种编号全局唯一.教师工资信息
教师工资包括教师编号,教师基本工资编号,教师职称工资编号,教师级别工资编号,教师工龄工资编号和教师津贴工资编号.8.图书馆管理系统
目的:方便图书馆对书籍借阅的管理
主要功能:学生基本信息查询,书籍借阅管理, 书籍管理 图书管理系统主要有三种角色,分别是读者、图书、工作人员.主要分成五个功能模块:图书管理, 图书流通管理, 读者管理, 统计查询, 系统管理.9.简易办公系统
(1)收发文管理:
对收到的公文进行登记,分类编号,(学校主要发文部门分为:教务处、财务处、学生处、人事处、保卫处、工会以及其他),并形成文件主要内容关键字,使收文能够按照关键字、时间和部门查询;对发文进行登记,并形成文件主要内容关键字,使发文能够按照关键字、时间和部门查询
(2)会议管理:
对所管理的2个会议室进行自动化管理,即由申请部门提交申请,然后统一安排会议室以及各种会议资源(如投影仪、计算机、桌子、凳子等),能形成会议资源使用通知单送达申请部门,主管领导随时查询会议室使用情况(管理者直接负责管理)。能够按照申请者的要求自动生成会议通知单,由办公室负责通知发放。能够形成会议纪要,存档并送到需要的部门(由申请者提供的信息决定)
10.选课管理系统: 主要由以下几个模块构成: 登陆:学生依照学生姓名,学号,密码等基本信息登陆 学生选课:列出所有可选课程供学生选择
课程相关信息查询:所设课程名称,教师,教材,学分,学时等信息 成绩查询:查询该门课成绩
选课方案建议:根据学生专业提供建议
信息修改:学生基础信息修改,学生选课修改 打印功能:打印所选课程信息
11.学校教材定购系统
系统简介:本系统可以细化为两个子系统:销售系统和采购系统
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生可以到书库领书.采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员.12、音像租赁管理系统的开发与实现
目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,完成一个简单的光盘租赁管理系统的开发。任务:
音像租赁连锁店的基本业务需求,完成需求分析报告; 利用Java、C++或C#编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;
13、学生综合信息管理信息系统的设计与实现
目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧加以综合运用,达到较大规模软件独立设计与开发的能力。任务:
软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排序)、查询与打印
课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。
14、家庭财务管理信息系统设计与开发
目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧加以综合运用,达到较大规模软件独立设计与开发的能力。任务:
软件能够对家庭的收入、支出进行分类统计,用户可以自定义收入、指出的类别,自定义分类查询和统计的条件。系统可以按照用户定义自动生成统计报表(月报、季报、年报)。通过财务分析,对家庭收支提出改进建议;
课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。
15、文化用品库存管理信息系统的设计与实现
目的:完成一个商品库存管理系统的简单业务流程分析,在此基础上,开发一个库存管理系统,掌握应用的开发。任务:
通过资料检索与整理,分析文化用品库存管理系统的基本功能; 完成软件开发和文档的编写。
16、大学生运动会运动成绩管理及统计分析系统实现
目的:通过本题目的设计,深入体会软件工程需求分析、概要设计、详细设计等主要环节,掌握面向对象程序设计的基本方法、训练编写一个基本的GUI应用程序。任务:
完成系统的需求分析和功能设计;
完成运动成绩统计、分析算法和模型的设计;
编写程序实现的代码和相关的软件开发文档,给出程序运行、测试的详细结果。
第三篇:软件工程课程设计题目
软件工程设计题目
1.学生学籍管理系统 要求:
1)包括基本需求:
主要对学生的学籍进行管理。学籍管理包括各种信息的录入、修改、删除等操作;此外还有对各种信息的查询,便于老师和学生查看。(其中,教师具备对学籍的录入、修改、删除等操作,学生只具备查询的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
2.学生成绩管理系统 要求:
1)包括基本需求:
对学生成绩进行综合管理,学生信息要素:学期、学号、姓名、课程名称、课程成绩。因此学生成绩管理系统的主要功能为:
学生信息管理 课程信息管理 成绩信息管理
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
3.个人通讯录管理系统 要求:
1)包括基本需求:
增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:姓名,电话,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。4.网上书店 要求:
1)包括基本需求:
购书者可以通过访问Web站点,得到图书信息。系统可以:
显示每本书的详细信息
显示购物车和顾客选购的图书信息 增加新购买的新书
对定单的修改、确认、提交等 图书销售数量的排行
(注意管理员和客户分别具备的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
5.企业办公自动化管理系统(企业客户管理)要求:
1)包括基本需求:
针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
6.小型商业网站管理系统 要求:
1)包括基本需求:
主要是宣传性质的网站,包括产品展示,公司简介,销售查询,销售排行,商品管理,公告管理等。(注意分配普通消费者,会员消费者和公司管理人员对该网站的权限)
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
7.ATM柜员机模拟程序 要求:
1)包括基本需求: 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):
查询余额:初始余额为10000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
ATM存款:不能出现负存款。
修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
8.火车订票系统 要求:
1)包括基本需求:
可输入、添加、删除及修改列车信息,并能实现查询、订票、退票等功能。此系统还应能够打出取票通知和帐单,以保证能使每个旅客在出发的前一天凭取票通知和帐单交款取票。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
9.超市收银系统(不考虑条码处理部分)要求:
1)包括基本需求:
接收收银台(客户端)的信息,经服务器处理后,把结果返回到收银台。即:客户端由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等,然后把信息提交服务器。由服务器从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。
另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200员,可为其发放一张会员卡,以后在该商场购物可向9折优惠。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
10.教师工资管理系统 要求:
1)包括基本需求:
基本信息管理,考勤信息管理,加班信息管理,工资信息管理,工种工资参数设置和年终奖生成几大模块。本项目数据库设计针对不同角色的用户需求,设计了三种角色.其中包括超级管理员,系统管理员和教师用户.帐户信息
不同的登录用户有对应的用户角色,登录用户名和登录密码,用户角色针对不同的用户群,而登录名则是帐户信息全局唯一的.用户基本信息:
每个用户有对应的详细信息,包括:类别编号,类别名称,用户类型,部门编号,职称编号,级别编号,性别,地址,工作时间,出行日期,手机,家庭电话,办公室电话,政治面貌和教育程度等.教师部门信息:
教师部门具有全局唯一的部门编号和部门名称.教师工资信息参数设置:
教师工资工种编号,工资名称和工资金额.其中工种编号全局唯一.教师工资信息:
教师工资包括教师编号,教师基本工资编号,教师职称工资编号,教师级别工资编号,教师工龄工资编号和教师津贴工资编号.2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
11.中学图书馆管理系统 要求:
1)包括基本需求:学生基本信息查询,书籍借阅管理, 书籍管理
图书管理系统主要有三种角色,分别是读者、图书、工作人员.主要分成五个功能模块:图书管理, 图书流通管理, 读者管理, 统计查询, 系统管理.方便图书馆对书籍借阅的管理。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
12.简易办公系统
要求:
1)包括基本需求:
(1)收发文管理:
对收到的公文进行登记,分类编号,(学校主要发文部门分为:教务处、财务处、学生处、人事处、保卫处、工会以及其他),并形成文件主要内容关键字,使收文能够按照关键字、时间和部门查询;对发文进行登记,并形成文件主要内容关键字,使发文能够按照关键字、时间和部门查询
(2)会议管理:
对所管理的2个会议室进行自动化管理,即由申请部门提交申请,然后统一安排会议室以及各种会议资源(如投影仪、计算机、桌子、凳子等),能形成会议资源使用通知单送达申请部门,主管领导随时查询会议室使用情况(管理者直接负责管理)。能够按照申请者的要求自动生成会议通知单,由办公室负责通知发放。能够形成会议纪要,存档并送到需要的部门(由申请者提供的信息决定)。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
13.网上选课管理系统 要求:
1)包括基本需求:
登陆:学生依照学生姓名,学号,密码等基本信息登陆 学生选课:列出所有可选课程供学生选择
课程相关信息查询:所设课程名称,教师,教材,学分,学时等信息 成绩查询:查询该门课成绩
选课方案建议:根据学生专业提供建议 信息修改:学生基础信息修改,学生选课修改 打印功能:打印所选课程信息。
2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。
14.学校教材定购系统 要求:
1)包括基本需求:
系统简介:本系统可以细化为两个子系统:销售系统和采购系统
销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生可以到书库领书.采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员.2)自拟扩展需求3项:保证每位组员的分工包括至少一个模块三个功能函数的完成。15.其他
社区居民健康档案管理系统的设计与开发 药房药品管理模块的设计与开发 电子病案信息系统的设计与开发 大学论文管理系统的设计与开发 医学营养基础知识查询系统的设计与开发 医院网上挂号系统研究与开发 开放性实验室管理系统的实现与应用 简单物体的模式识别系统的设计与开发 要求:
自拟基本需求和扩展:保证每位组员的分工包括至少一个模块三个功能函数的完成。
第四篇:软件工程上机题目
软件工程上机题目
1.网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。
“远程网络教学系统”的功能需求如下:
学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。
记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘
2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。
共 1 页 第 1 页
2.图书管理系统功能性需求说明如下: 图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。
当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。 系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书管理员的信息。 可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。回答下面问题:
1)该系统中有哪些参与者? 借阅者 图书管理员 系统管理员
2)确定该系统中的类,找出类之间的关系并画出类图
用户类、用户角色类、图书类、预定类、借阅类、书目类 类图
共 1 页 第 1 页
3)画出语境“借阅者预定图书”的时序图
共 1 页 第 1 页
第五篇:软件工程考试
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法 软件工程三要素:方法、工具和过程
软件工程的内容:软件开发技术和软件开发管理两个方面
可行性研究方面:技术可行性经济可行性操作可行性法律可行性
IT项目可行性研究审计的概念:事前对IT项目从技术和经济两个方而进行的详细论证,涉及
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.包括(1)数据流(2)数据元素(3)数据存储(4)处理 验证软件需求的正确性:(1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2)完整性: 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能(3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4)有效性: 必须证明需求是正确有效的,确实能解决用户面对的问题。
软件设计过程有:1数据设计:将实体 – 关系图中描述的对象和关系,以及数据词典中描述的详细数据内容转化为数据结构的定义。2总体结构(系统结构)设计: 定义软件系统各主要成份之间的关系。3过程设计: 把结构成份转换成软件的过程性描述。4接口设计:定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。软件设计方法:结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)
软件设计分两个阶段完成:结构设计:结构设计是总体设计阶段的任务。结构设计确定程序由哪些模块组成,以及这些模块之间的关系。过程设计:确定每个模块的处理过程
结构程序设计:一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构
软件测试:是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷的过程 黑盒法(黑盒技术是把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求 白盒法(白盒技术):是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。驱动模块:驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
桩模块:桩模块用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。单元测试::单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
确认测试:又称有效性测试。是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试
单元测试内容①模块接口②局部数据结构③重要的执行路径④错误处理⑤边界条件。调试的目的确定错误的原因和位置,并改正错误,因此调试也称为纠错(Debug)调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等 软件可维护性:软件能够被理解、校正、适应及增强功能的容易程度
为了保证软件的可维护性,需要做哪些质量保证检查?(1)在检查点进行检查。检查点是指软件开发的每一个阶段的终点。(2)验收检查。验收检查是一个特殊的检查点的检查,它是把软件从开发转移到维护的最后一次检查。(3)周期性的维护检查(4)对软件包的检查。好的文档有以下几方面的作用:(1)好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏;(2)好的文档意味着简明性,风格的一致性,容易修改;(3)程序编码中应该有必要的注释以提高程序的可理解性;(4)程序越长、越复杂,则它对文档的需求也越迫切 软件维护的流程:定维护申请报告。审查申请报告并批准。进行维护并做详细记录。复审 面向对象方法学的出发点和基本原则:是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程.描述问题的问题域与实现解法的求解域在结构上尽可能一致。
对象是用面向对象方法学开发软件时对客观世界实体的抽象,它是由描述实体属性的数据及可以对这些数据施加的所有操作封装在一起构成的统一体。传统的数据是用传统方法学开发软件时对客观世界实体的抽象,但是,种抽象是不全面的:数据只能描述实体的静态属性,不能描述实体的动态行为。必须从外界对数据施加操作,才能改变数据实现实体应有的行为。对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体。必须发消息请求对象主动地执行它的某些操作,处理它的私有数据,而不能直接从外界对它的私有数据进行操作。
对象模型的五个层次:主题层(也称为范畴层),类—&—对象层,结构层,属性层,服务层
面向对象实现主要包括两项工作:把面向对象设计结果,翻译成用某种程序语言书写的面向对象程序;测试并调试面向对象的程序
面向对象软件的测试分四个层次进行:算法层、类层、主题层、系统层
项目管理者的目标: 定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况
软件配置管理主要有5项任务: 标识 版本控制 变化控制 配置审计 报告 软件工程实施项目管理的目的 : 在于它能够帮助我们进行系统性思考,并切实可行地进行全局性安排,同时也可以为项目开发的人力资源需求提供依据。
项目管理者的任务:确保信息系统项目符合预算和进度要求,并确保交付的系统能够达到预定的目标
软件的质量保证活动: 是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动 对编制高质量文档的要求:(1)针对性(2)精确性(3)清晰性(4)完整性(5)灵活性