加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]软件工程经典论述题

(2018-12-22 11:32:31)
标签:

转载

原文地址:软件工程经典论述题作者:

简答题:

 

  1、图书预订系统:书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订单两种,随时处理优先订单,定期处理正常订单。最后系统根据所处理的订单汇总,并按出版社要求发给出版社。

 

画出图书预定系统的各层数据流图。

 

 

2、说明数据流图的作用和四种基本符号的名称、图形表示和含义。

数据流图简称DFD,SA方法中用于表示系统逻辑模型的一种工具.它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型.数据流图有四种基本图形符号:“→”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点

 

3、简述需求分析的概念及需求分析的基本任务。

需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。

 

4、什么叫模块化?设计一个系统时是否分的模块越多就越好?说明原因。

  1.模块化就是把程序划分成可独立命名且独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

2.不一定。当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了,但是,随着模块数量增加,设计模块间接上所需要的工作量也将增加,根据这两个因素,得出设计一个系统时并不一定模块越多越好

 

5、说明模块化的两层含义

  把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,这些模块集成起来构成一个整体,可以完成指定的功能以满足用户的需求。

模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。模块是构成程序的基本构件。

过程、函数、子程序和宏等,都可作为模块。

面向对象方法学中的对象是模块,对象内的方法(或称为服务)也是模块

 

6、说明模块独立性的概念和衡量模块独立的标准

 

模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

模块的独立性很重要:

第一,有效的模块化(即具有独立的模块)的软件比较容易开发出来。

第二,独立的模块比较容易测试和维护。

模块的独立程度可以由两个定性标准度量,分别是内聚和耦合。

内聚衡量一个模块内部各个元素彼此结合的紧密程度;

耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。

7、简要说明PAD图的优点

 

8、请使用PAD图和PDL语言描述在数组A1)~A10)中找最大数的算法

 

9、什么是集成测试,包括哪两种策略?

集成测试是测试和组装软件的系统化技术,主要目标是发现与接口的问题;由模块组装成程序时有两种方法,一种是渐增式方法,另一种是渐增式反法,当使用渐增式方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略

 

10、什么是软件测试,软件测试分为哪几个阶段。

软件测试:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。软件测试一般分为4个阶段:单元测试、集成测试、系统测试、验收测试

 

 

11、在软件模型当中如何表达对象的整体性、关联性、交互性、继承性、多态性?

整体性:通过面向对象的封装class形式来体现

   关联性:指一般关系和组成关系:(1)一般关系指主次关系、拥有关系、数量关系;(2)、整体部分关系是组合或聚合

   交互性:用依赖关系,消息机制;

   继承性:通过表达家族谱的泛化关系

   多态性:通过重载、接口、抽象类

 

12、说明面向对象的特征?

1)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。(2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表达共性的方法。(3)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。(4)多态:多态是指允许不同类的对象对同一消息作出响应,多态性语言具有灵活,抽象,行为共享,代码共享的优势,很好地解决了应用程序函数同名问题

 

 

 

 

 

综合应用题

 

1、题目:在某大学学籍管理信息系统中,假设学生年龄的输入范围为1640,则根据黑盒测试中的等价类划分技术,可以划分为几个有效等价类?几个无效等价类?分别是什么?试根据有效等价类和无效等价类测试用例设计的原则,设计相应的测试用例。

答:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰好相反,指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

对于本题,输入范围为1640,所以这个区域内的为有效等价类,小于16或大于40的为无效等价类,即一个有效等价类,两个无效等价类。

2、用例建模

 

某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,其中网络学院人员包括学生、教师、管理员。该系统提供如下服务:

 

1)浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称。

 

2)浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称。

 

3)登录:网络学院给每人一个账号。拥有授权帐号的学生和老师,可以使用系统提供的页面设置个人密码,并使用该帐号和密码

 

向系统注册。

 

4)修改个人信息:学生或老师向系统注册后,可以发送电子邮件或使用系统提供的页面,对个人信息进行修改。

 

5)删除个人信息:只有管理员才能删除相关人员的信息。

 

请完成下列问题?

 

1)哪些是参与者?他们之间有什么关系?

 

(2)哪些是用例?

 

答案:

 

3、试用UML对新闻发布系统及相关的数据库系统进行分析和设计

假设管理员可以在后台对新闻、评论、注册会员进行管理,并发布新闻;任何游客可以浏览新闻,浏览者注册后可以成为系统会员;注册会员可以发表新闻评论。新闻信息实体的主要属性主要包含标题(title)、内容(content)、发布日期(DateTime),主要操作有添加新闻(Addnews)、删除新闻(Delnews)、修改新闻(Modinews评论实体的主要属性包含新闻标识(ArticleID)、评论者名(UserName)和评论内容(body),主要操作有添加评论(AddRemark)、删除评论(DelRemark);会员实体的主要属性有会员编号(MemberNo)、会员密码(Memberpsw)、会员名字(MemberName)、会员描述(MemberDesc)等,主要操作有登陆(Login);管理员实体的主要属性有管理员编号(AdmNo)、会员密码(Admpsw)、会员名字(AdmName)等主要操作有添加用户(Adduser)、删除新闻(Deluser)

请完成下列工作:

(1)画出系统用例图;

 

(2)画出分析类图;

 

(3)画出“新闻管理”的活动图;

 

 

 

 

 


0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有