• 208.00 KB
  • 2022-04-22 11:43:14 发布

软件组建技术课后答案.doc

  • 22页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'第1章1.结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。2.结构化设计方法的基本思想是将系统划分成一些独立的功能模块,这些模块按照一定的组织层次构造起来形成软件结构,通过自顶向下逐步细化的方法将用数据流图表示的信息转换成程序结构的设计描述。结构化分析方法是面向数据流进行需求分析的方法。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。结构化设计是在结构化分析的基础上完成的。结构化设计属于面向数据流的设计方法。在需求分析阶段,通过结构化分析方法,解决了一个关键问题:信息流。数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入端向输出端流动,要经历一系列的变换或处理。用来表现这个过程的数据流图(DFD):实际上就是软件系统的逻辑模型。结构化设计要解决的任务,就是在上述需求分析的基础上,将DFD图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。从结构化分析到结构化设计工具的转变:3.模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。第2章1.结构化软件开发方法存在的问题有:(1)软件开发效率低下。(2)软件的可复用性较差。(3)开发的软件不能满足用户的最终需求。(4)软件维护困难。产生这些问题主要有以下几个原因:(1)面向过程的方法使用的基本技术是结构化设计,它的核心是将用户的需求对应到软件功能上。22 (2)面向过程方法大多是基于瀑布型的。(3)结构化方法中,过程分析和数据分析之间的边界问题始终未解决。2.面向对象系统包含的要素有3个:对象,类和继承。3.“接口”通常有两种不同的含义:一是指某种程序语言中存在的特定的语法和结构;二是仅仅指某个类所具有的方法的特征集合。4.当今软件开发比较重视软件的“可扩充性”和“可复用性”,而软件“模块化”是实现该目标的重要途径。提供模块化实现“复用性”的方法是利用“继承”机制实现类与类之间关系聚集、泛化和组合等。5.模块是一个对外提供服务的单元。继承使模块的开发实现了“闭合-开放”原则,该原则使模块本身的编译和储存可以在类中通过封装实现,又可以使新的模块可以无须重写代码就可以在已有模块的基础上就能获得已有的属性和方法。继承可以实现这一功能。6.(1)构造函数:不能。每个类至少包括一个构造函数,如果在构造类时没有显式的定义构造函数,那么编译器在执行时会为类自动构造一个。在调用时,编译器会根据派生的实现先调用基类后调用派生类的构造函数,因此没有必要继承基类的构造函数。(2)析构函数:同“构造函数”。(3)用户定义的NEW运算符:能。如果运算符设置为公有的,派生类可以继承。(4)友元关系:不能。因为友元函数不是类的成员函数,当然不能被它的派生类继承。(5)成员变量的属性:能。如果是公有的,派生类可以访问。7.(1)以年、月、日、时、分、秒为数据元素的类Ctime。classCtime{intyear,month,day,hour,minute,second;};(2)把Ctime类看作基类,用它来派生Stime类,属性中添加国名和格林威治时间差。classStime:publicCtime{intcountry_name,time_difference;};8.面向对象的系统分析和设计是将面向对象的方法运用到软件开发的分析设计阶段。面向对象的系统分析和设计的主要目的是完成对某个特定应用论域的分析和系统的建模。应完成的主要工作是描述系统中的对象、对象的属性和操作、对象的动态特征、对象间的相互关系等,从而建立系统的静态模型和动态模型。系统分析和设计应遵循的原则是:(1)系统开发应从客户角度来考虑。(2)信息系统的开发过程并不是一个顺序进行的,它允许步骤的迭代。(3)如果系统成功的可能性受到很大限制时,应取消整个项目。(4)重视文档材料,因为它是系统开发生命周期中重要的成果和重要的参考资料,应加以重视。9.建立系统模型的步骤包括:22 (1)研究问题域和客户需求。(2)识别对象。(3)描述对象的内部特征,如对象的属性及方法。(4)描述对象的外部特征,如整体-部分结构、一般-特殊结构、实例连接和消息连接。(5)对信息建模过程进行规范标准化。10.OOA模型的五个层次包括“主题层”、“结构层”、“服务层”、“属性层”和“类及对象层”。“类及对象层”表示系统的基本构造块;“属性层”反映系统中各个对象之间的相互约束、限制和规则;“服务层”反映对象的服务和实例之间的消息通信;“结构层”反映特定应用域中的结构关系;“主题层”反映系统中相互关联的对象提供的功能。11.乘法九九表的C++程序如下:源程序代码如下:#includeclassTable{public:voidprint(intx,inty,intz);};voidTable::print(intx,inty,intz){Cout<