软件建模和设计试题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.名词解释:
1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。
①便于展现系统。
②允许指定系统的结构或行为。
③提供构造系统的模板。
3.家用Βιβλιοθήκη Baidu汽车的五个功能性需求
(1).发动机排量不超过1.8L
(2).价格不超过18万元
(3).具备涡轮增压技术
(4).使用97号汽油
(5).车身为三厢结构
家用小汽车的五个非功能性需求
(1).安全性好
(2).操作简单
(3).内饰豪华
(4).刹车顺畅
(5).方向盘灵活
4.
(1).建模实例
去食堂吃饭最佳时间
第三,最好的模型是与现实相联系的。如果建筑的物理模型不能以与真实的建筑相同的方式做出反应,则它的价值是很有限的;飞机的数学模型,如果只是假定了理想条件和完美制造,则可能掩盖真实飞机的一些潜在的、致命的现实特征。最好是有能够清晰地联系实际的模型,而当联系很薄弱时能够精确地知道这些模型怎样与现实脱节。所有的模型都对现实进行了简化;但关键是简化不要掩盖掉任何重要的细节。
2.Use Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。
3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。
4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。
5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
二、
1.面向对象建模的大致过程如下:
用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为相关代码,形成编码所需的初步框架。
由于大部分班级早上都有课,致使中午时间,食堂就餐出现拥挤,如果过晚就餐,则可挑选的饭菜会非常少。在不变化食堂现有设施的情况下,根据实际测量数据,建立一个数学模型分析食堂中午何时就餐比较适宜。
(2).建模的意义:
1、建模的重要性
建模的使用是软件成功的一个基本因素。
模型的实质:对现实的简化。
建模的目标:
2.建模的基本原理:
第一,选择要创建什么模型,对如何动手解决问题和如何形成解决方案有着意义深远的影响。即要好好地选择模型。正确的模型将清楚地表明最棘手的开发问题,提供不能轻易地从别处获得的洞察力;错误的模型将使人误入歧途,把精力花在不相关的问题上。
第二,可以在不同的精度级别上表示每一种模型。有时一个快速简洁且是可执行的用户界面模型正是所需要的,而有时必须耐着性子对付比特,例如,描述跨系统接口或解决网络瓶颈问题就是如此。在任何情况下,最好的模型应该是这样的:它可以让你根据谁在进行观察以及为什么要观察选择它的详细程度。分析人员或最终用户主要考虑“做什么”的问题,开发人员主要考虑“怎样做”的问题。这些人员都要在不同的时间以不同的详细程度对系统进行可视化。
第四,单个模型或视图是不充分的。对每个重要的系统最好用一小组几乎独立的模型从多个视角去逼近。在面向对象的软件体系中,为了理解系统的体系结构,需要用到几个互补和连锁的视图:用例图、设计视图、进程视图、实现视图和实施视图。根据系统的性质,一些模型可能比另一些模型要重要。例如,对于数据密集型系统,表达静态设计视图的模型将占主导地位;对于图形用户界面密集型系统,静态和动态的用况视图就显得相当重要;在硬实时系统中,动态进程视图尤为重要;在分布式系统中,例如Web密集型的应用,实现模型和部署模型是最重要的。
1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。
①便于展现系统。
②允许指定系统的结构或行为。
③提供构造系统的模板。
3.家用Βιβλιοθήκη Baidu汽车的五个功能性需求
(1).发动机排量不超过1.8L
(2).价格不超过18万元
(3).具备涡轮增压技术
(4).使用97号汽油
(5).车身为三厢结构
家用小汽车的五个非功能性需求
(1).安全性好
(2).操作简单
(3).内饰豪华
(4).刹车顺畅
(5).方向盘灵活
4.
(1).建模实例
去食堂吃饭最佳时间
第三,最好的模型是与现实相联系的。如果建筑的物理模型不能以与真实的建筑相同的方式做出反应,则它的价值是很有限的;飞机的数学模型,如果只是假定了理想条件和完美制造,则可能掩盖真实飞机的一些潜在的、致命的现实特征。最好是有能够清晰地联系实际的模型,而当联系很薄弱时能够精确地知道这些模型怎样与现实脱节。所有的模型都对现实进行了简化;但关键是简化不要掩盖掉任何重要的细节。
2.Use Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。
3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。
4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。
5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。
二、
1.面向对象建模的大致过程如下:
用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为相关代码,形成编码所需的初步框架。
由于大部分班级早上都有课,致使中午时间,食堂就餐出现拥挤,如果过晚就餐,则可挑选的饭菜会非常少。在不变化食堂现有设施的情况下,根据实际测量数据,建立一个数学模型分析食堂中午何时就餐比较适宜。
(2).建模的意义:
1、建模的重要性
建模的使用是软件成功的一个基本因素。
模型的实质:对现实的简化。
建模的目标:
2.建模的基本原理:
第一,选择要创建什么模型,对如何动手解决问题和如何形成解决方案有着意义深远的影响。即要好好地选择模型。正确的模型将清楚地表明最棘手的开发问题,提供不能轻易地从别处获得的洞察力;错误的模型将使人误入歧途,把精力花在不相关的问题上。
第二,可以在不同的精度级别上表示每一种模型。有时一个快速简洁且是可执行的用户界面模型正是所需要的,而有时必须耐着性子对付比特,例如,描述跨系统接口或解决网络瓶颈问题就是如此。在任何情况下,最好的模型应该是这样的:它可以让你根据谁在进行观察以及为什么要观察选择它的详细程度。分析人员或最终用户主要考虑“做什么”的问题,开发人员主要考虑“怎样做”的问题。这些人员都要在不同的时间以不同的详细程度对系统进行可视化。
第四,单个模型或视图是不充分的。对每个重要的系统最好用一小组几乎独立的模型从多个视角去逼近。在面向对象的软件体系中,为了理解系统的体系结构,需要用到几个互补和连锁的视图:用例图、设计视图、进程视图、实现视图和实施视图。根据系统的性质,一些模型可能比另一些模型要重要。例如,对于数据密集型系统,表达静态设计视图的模型将占主导地位;对于图形用户界面密集型系统,静态和动态的用况视图就显得相当重要;在硬实时系统中,动态进程视图尤为重要;在分布式系统中,例如Web密集型的应用,实现模型和部署模型是最重要的。