版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件件指计算机系系统中的程序序及其文档。软件的特点是:A 软件是一种种逻辑实体,而而不是有形的的系统元件,其其开发成本和和进度难以准准确得估算;B 软件是被开开发的或被设设计的,没有有明显的制造造过程,一旦旦开发成功,只只需复制即可可,但其维护护的工作量大大;C 软件的使用用没有硬件那那样的机械磨磨损和老化问问题。1.2 简述软软件的分类,并并举例说明。答:在计算机机科学技术百百科全书中中,将软件分分为系统软件件、支撑软件件和应用软件件3类。A 系统软件:系统软件居居于计算机系系统中最靠近近硬件的一层层,其他软件件一般都通过
2、过系统软件发发挥作用。系系统软件与具具体的应用领领域无关。例例如:编译程程序、操作系系统等。B 支撑软件:支撑软件是是支撑软件的的开发和维护护的软件。例例如:数据库库管理系统、网网络软件、软软件工具、软软件开发环境境等。C 应用软件:应用软件是是特定应用领领域专用的软软件。例如:工程/科学学计算软件、嵌嵌入式软件、产产品线软件、WWeb应用软软件、人工智智能软件。1.4 什么是是软件工程?答:在计算机机科学技术百百科全书中中软件工程是是应用计算机机科学、数学学及管理科学学等原理,开开发软件的工工程。1.5 简述软软件工程的基基本原则。答:软件工程原原则包括围绕绕工程设计、工工程支持和工工程管理
3、提出出的以下4条条基本原则:第一条:围绕适适宜的开发模模型;第二条:采用合合适的设计方方法;第三条:提供高高质量的工程程支撑;第四条:重视软软件工程的管管理。1.6 软件生生存周期分哪哪几个阶段?分别简述各各个阶段的任任务。答:软件生存周周期有计算机机系统工程、需需求分析、设设计、编码、测测试、运行和和维护6个阶阶段。A计算机系统工工程的任务是是确定待开发发软件的总体体要求和范围围,以及该软软件与其他计计算机系统元元素之间的关关系,进行成成本估算,做做出进度安排排,并进行可可行性分析,即即从经济、技技术、法律等等方面分析待待开发的软件件是否有可行行的解决方案案,并在若干干个可行的解解决方案中做
4、做出选择。B需求分析主要要解决待开发发软件要“做什么”的问题,确确定软件的功功能、性能、数数据、界面等等要求,生成成软件需求规规约。C软件设计只要要解决待开发发软件“怎么做”的问题。软软件设计通常常可分为系统统设计和详细细设计。系统统设计的任务务是设计软件件系统的体系系结构,包括括软件系统的的组成成分、各各成分的功能能和接口、成成分间的连接接和通信,同同时设计全局局数据结构。详详细设计的任任务是设计各各个组成成分分的实现细节节,包括局部部数据结构和和算法等。D编码阶段的任任务是用某种种程序设计语语言,将设计计的结果转换换为可执行的的程序代码。E测试阶段的任任务是发现并并纠正软件中中的错误和缺缺
5、陷。测试主主要包括单元元测试、集成成测试、确认认测试和系统统测试。F软件完成各种种测试后就可可交付使用,在在软件运行期期间,需对投投入运行的软软件进行维护护,即可发现现了软件中潜潜藏的错误或或需要增加新新的功能或使使软件适应外外界环境的变变化等情况出出现时,对软软件进行修改改。1.9 简述各各类软件过程程模型的特点点。答:典型的软件件过程模型有有:瀑布模型型、演化模型型(增量模型型、原型模型型、螺旋模型型)、喷泉模模型、基于构构件的开发模模型和形式方方法模型等。A瀑布模型中,上上一阶段的活活动完成并经经过评审后才才能开始下一一阶段的活动动,其特征是是:接受上一阶段活活动的结果作作为本阶段活活动
6、的输入;依据上一阶段活活动的结果实实施本阶段应应完成的活动动;对本阶段的活动动进行评审;将本阶段活动的的结果作为输输出。B增量模型将软软件的开发过过程分成若干干个日程时间间交错的线性性序列,每个个线性序列产产生软件的一一个可发布的的增量版本,后后一个版本是是对前一个版版本的修改和和补充,重复复增量发布的的过程,直至至产生最终的的完善产品。C原型模型从软软件工程师与与客户的交流流开始,其目目的是定义软软件的总体目目标,标识需需求。然后快快速制定原型型开发的计划划,确定原型型的目标和范范围,采用快快速设计的方方式对其建模模,并构建模模型。被开发发的原型应交交付给客户使使用,并收集集客户的反馈馈意见
7、,这些些反馈意见可可在下一轮迭迭代中对原型型进行改进。在在前一个原型型需要改进,或或者需要扩展展其范围的时时候,进入下下一轮原型的的迭代开发。D螺旋模型将原原型模型实现现的迭代特征征与瀑布模型型中控制的和和系统化的方方面结合起来来,不仅体现现了这两种模模型的优点而而且还增加了了风险分析。E喷泉模型是一一种支持面向向对象开发的的过程模型。类类及对象是面面向对象方法法中的基本成成分。在分析析阶段,标识识类及对象,定定义类之间的的关系,建立立对象-关系系模型和对象象-行为模型型。在设计阶阶段,从实现现的角度对分分析模型进行行调整和扩充充。在编码阶阶段,用面向向对象语言实实现类及对象象,通过消息息机制
8、实现对对象之间的通通信,完成软软件的功能。在在面向对象方方法中,分析析模型和设计计模型采用相相同的符号表表示体系,开开发的各个活活动没有明显显的边界,各各个活动经常常重复,迭代代地交替进行行。F基于构件的开开发模型,基基于构件的开开发是指利用用预先包装的的构建来构造造应用系统。构构件可以是组组织内部开发发的构建,也也可以是商业业化的、现存存的软件构件件。G形式化方法是是建立在严格格数学基础上上的一种软件件开发方法。软软件开发的全全过程中,从从需求分析、规规约、设计、编编程、系统集集成、测试、文文档生成,直直至维护等各各个阶段,凡凡是采用严格格的数学语言言,具有精确确的数学语义义的方法,都都称为
9、形式化化方法。形式式化方法用严严格的数学语语言和语义描描述功能和设设计规约,通通过数学的分分析和推导,易易于发现需求求的歧义性、不不完整性和不不一致性,易易于对分析模模型、设计模模型和程序进进行验证。通通过数学的演演算,使得从从形式化功能能规约到形式式化设计规约约,以及从形形式化设计规规约到程序代代码转换成为为可能。1.10 敏捷捷软件开发的的特点是什么么?答:敏捷软件开开发的特点有有4个:A个人和交互高高于过程和工工具;B可运行软件高高于详尽的文文档;C与客户协作高高于合同谈判判;D对变更及时做做出反应高于于遵循计划。1.12 简述述敏捷软件开开发的原则。答:敏捷软件开开发必须遵循循的12条
10、原原则如下;A最优先的是通通过尽早地和和不断地提交交有价值的软软件来使客户户满意;B欢迎变化的需需求,即使该该变化出现在在开发的后期期,为了提升升对客户的竞竞争优势,AAgile过过程利用变化化作为动力;C以几周到几个个月为周期,尽尽快、不断地地发布可运行行软件;D在整个项目过过程中,业务务人员和开发发人员必须天天天一起工作作;E以积极向上的的员工为中心心建立项目组组,给予他们们所需要的环环境和支持,对对他们的工作作予以充分的的信任;F项目组内效率率最高、最有有效的信息传传递方式是面面对面的交流流;G测量项目进展展的首要依据据是可运行的的软件;H敏捷过程提倡倡可持续的开开发,项目发发起者、开发
11、发者和用户应应能长期保持持恒定的速度度;I应该时刻关注注技术上的精精益求精和好好的设计,以以增强敏捷性性;J简单化是必不不可少的,这这是尽可能减减少不必要工工作的艺术;K最好的构架、需需求和设计出出自于自我组组织的团队;L团队要定期反反思怎样才能能更加有效,并并据此调整自自己的行为。第2、3章2.1简述系统统工程的任务务。答:系统工程是是一个问题求求解的活动,其其目的是分析析基于计算机机的系统的功功能、性能等等要求,并把把它们分配到到基于计算机机系统的各个个系统元素中中,确定它们们的约束条件件和接口。主主要任务包括括:(1)识识别用户要求求;(2)系系统建模与模模拟;(3)成成本估算及进进度安
12、排;(44)可行性分分析;(5)生生成系统规格格说明。2.2基于计算算机的系统由由哪些元素组组成?答:组成基于计计算机系统的的元素主要有有:软件、硬硬件、人员、数数据库、文档档和规程。2.3简述可行行性分析的任任务。答:可行性分析析主要从经济济、技术、法法律等方面分分析所给出的的解决方案是是否可行,能能否在规定的的资源和时间间的约束下完完成。(1)经济可行行性主要进行行成本效益分分析,从经济济角度,确定定系统是否值值得开发。包包括成本、效效益、货币的的时间价值、投投资回收期和和纯收入。(2)技术可行行性主要根据据系统的功能能、性能、约约束条件等,分分析在现有资资源和技术条条件下系统能能否实现。
13、技技术可行性分分析通常包括括风险分析、资资源分析和技技术分析。(3)法律可行行性主要研究究系统开发过过程中可能涉涉及到的合同同、侵权、责责任以及各种种与法律相抵抵触的问题。3.1需求工程程的重要性是是什么?举出出身边由于需需求分析失败败而造成整个个项目失败的的例子。答:重要性是应应用已证实有有效的技术、方方法进行需求求分析,确定定客户需求、帮帮助分析人员员理解问题,评评估可行性,协协商合理的解解决方案,无无歧视地规约约方案,确认认规约以及将将规约转换到到可行性的系系统时的管理理要求,通过过合理的工具具和符号系统统地描述待开开发系统以及及其行为特征征和相关约束束,形成需求求文档,并对对用户不断变
14、变化的需求演演进给予支持持。因需求分分析失败而造造成项目失败败例子如下:项目名称:邮政政资信管理系系统项目功能:管理理邮政方面业业务的监督和和管理,提高高邮政的服务务效率。失败原因:需求求分析不足,需需求内容不明明确,把握不不充分。3.2需求工程程具体包括哪哪些步骤?每每个步骤的具具体任务是什什么?答:需求工程具具体步骤包括括:需求获取取、需求分析析与协商、系系统建模、需需求规约、需需求验证以及及需求管理六六个步骤。需求获取在需求获取阶段段系统分析人人员通过与用用户的交流、对对现有系统的的观察以及对对任务进行分分析,确定系系统或产品范范围的限制性性描述、与系系统或产品有有关的人员及及特征列表、
15、系系统的技术环环境的描述、系系统功能的列列表以及应用用于每个需求求的领域限制制、一组描述述不同运行条条件下系统或或产品使用状状况的应用场场景以及为更更好地定义需需求而开发的的原型。需求求获取的工作作产品为进行行需求分析提提供了基础。需求分析与协商商此阶段的任务是是对需求进行行分类组织,分分析每个需求求与其他需求求的关系以检检查需求的一一致性、重叠叠和遗漏的情情况,并根据据用户的需要要对需求进行行排序。(3)系统建模模系统建模是为了了在用户和系系统分析人员员之间建立统统一的语言和和理解的桥梁梁,系统分析析人员借助建建模技术对获获取的需求信信息进行分析析,排除错误误和弥补不足足,确保需求求分析文档
16、正正确反映用户户的真实意图图。(4)需求规约约软件需求规约是是分析任务的的最终产物,通通过建立完整整的信息描述述、详细的功功能和行为描描述、性能和和设计约束的的说明、合适适的验收标准准,给出对目目标软件的各各种需求。需需求规约作为为用户和开发发者之间的一一个协议,在在之后的软件件工程各个阶阶段发挥重要要作用。(5)需求验证证此阶段的任务是是对功能的正正确性、完整整性和清晰性性,以及其他他需求给予评评价,保证软软件需求定义义的质量。(6)需求管理理软件需求管理是是对需求工程程所有相关活活动的规划和和控制。换句句话说,需求求管理就是:一种获取、组组织并记录系系统需求的系系统化方案,以以及一个使用用
17、户与项目团团队对不断变变更的系统需需求达成并保保持一致的过过程。3.3一个系统统分析员应该该具备哪些思思想素质和基基础知识?请请说明理由。答:(1)强烈烈的责任心和和事业心系统分析师由于于必须保证分分析的准确性性,尤其是需需求,所以责责任更为重大大。一般来说说,不应以用用户表述不明明确,无法得得到需求,或或者用户需求求变化太多太太快作为借口口,更不能因因为下面的研研发技术人员员技术水平不不如自己而责责备研发技术术人员,同时时也需要能够够为保证企业业利益而说服服公司领导做做出正确的决决策;(2)钻研精神神IT行业不同于于其他行业,新新理念新技术术新方法层出出不穷,系统统分析师需要要能够适时适适当
18、地引进新新理念新技术术新方法,为为企业提高生生产效率,为为员工降低劳劳动强度,为为客户提供更更具竞争力和和更加实用的的产品和服务务;优秀的协商谈判判能力复杂的系统有许许多项目相关关的人员,他他们之间的需需求必定会出出现冲突,协协商的过程就就是讨论需求求,找出每个个人都满意的的折衷方案。分分析人员是参参与这之中的的重要一份子子,需要协调调这之中的各各方利益,这这就要求分析析员必须要有有优秀的协商商谈判能力。(4)广泛的知知识面:除了具备基本的的IT技能、知知识外,需要要广泛涉猎其其他行业其他他学科的知识识方法,以系系统工程的理理念,借鉴和和利用其他行行业的为ITT 行业所用用,也可以把把IT行业
19、的的理念应用到到其他行业;(5)精湛的技技术能力:系统分析员往往往需要分析可可行性和解决决研发人员的的技术问题,因因此必须具备备广泛的技术术涉猎面和较较强的技术能能力;(6)财务能力力:系统分析员往往往需要参与项项目的招投标标分析,为了了保证企业的的利润和客户户的利益,必必须进行财务务核算,需要要具备会计、财财务,成本计计算等方面的的能力;(7)司法能力力:与其他大部分行行业一样,IIT行业也受受到法律的约约束,任何活活动必须合情情合理合法,任任何违背法律律的项目最终终都会失败,违违背伦理道德德的事和人最最终都将失去去人心。(8)超强超快快的学习能力力:IT行业新技术术层出不穷,同同时其他相关
20、关必备知识、业业务知识也是是瞬息万变,系系统分析师要要能够快速学学习并快速掌掌握和灵活应应用;(9)敏锐的观观察力:由于IT行业项项目的特殊性性,项目复杂杂多变,系统统分析师要能能够先于其他他人员发现问问题、发现隐隐患,并提前前做出规避风风险的策略。3.4列出在制制定需求获取取策略时的33种主要考虑虑因素。答:(1)能否否建立起顺畅畅的通讯途径径;(2)是是否能够获取取用户对系统统的功能需求求和非功能需需求;(3)是是否利于在可可运行系统时时的管理要求求。3.6举例说明明一个系统的的3个不同类类型的非功能能需求答:非功能性需需求是指软件件产品为满足足用户业务需需求而必须具具有且除功能能需求以外
21、的的特性。软件件产品的非功功能性需求包包括系统的性性能、可靠性性、可维护性性、可扩充性性和对技术和和对业务的适适应性等。例例如在银行管管理系统中,由由于银行数据据量的庞大以以及对银行账账户的管理需需求,用户对对系统的性能能、可靠性、可可维护性要求求很高。安全全性是对银行行用户个人信信息保密的基基本要求;在在使用系统时时,由于用户户庞大,要求求能快速安全全的执行要求求,这就对系系统的性能有有高需求;银银行的用户的的变动比较大大,需求高要要求的系统维维护。3.8软件需求求分析的操作作性原则和需需求工程的指指导性原则是是什么?答:(1)必须须能够表示和和理解问题的的信息域;必须能够定义软软件将完成的
22、的功能;必须划分描述数数据、功能和和行为的模型型,从而可以以分层次地揭揭示细节;分析过程应该从从要素信息移移向细节信息息3.9软件需求求规约主要包包括哪些内容容?自己寻找找一个实例,亲亲自写一个需需求规约。答:软件需求规规约包括:引引言、信息描描述、功能描描述、行为描描述、检验标标准、参考书书目、附录。3.10需求验验证应该有哪哪些人参加?画出一个过过程模型,说说明需求评审审应该如何组组织。答:参与人员:分析人员,用用户,开发部部门的管理者者,软件设计计、实现、测测试的人员。需求分析 分析人员 用户 用用户要求 获取系统统 系系统 信息 需求 折衷方方案 系统信信息 开发部门管管理者 软件设设
23、计、实现、测测试人员 系统需需求第4章4.1 简述软软件设计阶段段的基本任务务软件设计的输入入是软件分析析模型。使用用一种设计方方法,软件分分析模型中通通过数据、功功能和行为模模型所展示的的软件需求的的信息被传送送给设计阶段段,产生数据据/类设计、体体系结构设计计、接口设计计、部件及设设计。数据/类设计将将分析类模型型变换成类的的实现和软件件实现所需要要的数据结构构。体系结构设计定定义了软件的的整体结构,由由软件部件、外外部可见的属属性和他们之之间的关系组组成。接口设计描述了了软件内部、软软件和协作系系统之间以及及软件同人之之间的通信方方式。部件级设计将软软件体系结构构的结构性元元素变换为对对
24、软件部件的的过程性描述述。4.2 软件设设计与质量的的关系是怎么么样的?设计是在软件开开发中形成质质量的阶段,设设计提供了可可以用于质量量评估的软件件表示,是将将用户需求准准确的转化为为完整的软件件产品或系统统的主要途径径。4.4 简述模模块、模块化化及模块化设设计的概念。在软件工程中模模块是数据说说明、可执行行语句等程序序对象的集合合,具有名字字、参数、功功能等外部特特征以及完成成模块功能的的程序代码和和模块内部数数据等内部特特征。模块化,即把软软件按照规定定原则,划分分为一个个较较小的,相互互独立的但又又相互关联的的部件,实际际上是系统分分解和抽象的的过程。模块化设计,简简单地说就是是程序
25、的编写写不是开始就就逐条录入计计算机语句和和指令,而是是首先用主程程序、子程序序、子过程等等框架把 HYPERLINK /view/37.htm 软件件的主要结构构和流程描述述出来,并定定义和调试好好各个框架之之间的输入、输输出链接关系系。逐步求精精的结果是得得到一系列以以功能块为单单位的算法描描述。以功能能块为单位进进行程序设计计,实现其求求解算法的方方法称为模块块化。模块化化的目的是为为了降低程序序复杂度,使使程序设计、调调试和维护等等操作简单化化。4.6耦合和和软件可移植植性的概念有有何关系?举举例说明自己己的结论。所谓“耦合性”是是指模块之间间联系的紧密密程度的一种种度量,而软软件的“
26、可移移植性”是指指将一个软件件系统从一个个计算机系统统或环境移植植到另一个计计算机系统或或环境中运行行时所需工作作量的大小。可可移植性是用用一组子特性性,包括简明明性、模块独独立性、通用用性、可扩充充性、硬件独独立性和软件件系统独立性性等,来衡量量的。如果一一个软件具有有可移植性,它它必然耦合性性低,这样模模块独立性要要强。例如,有有一个图形处处理软件,它它应具有二维维几何图形处处理、三维几几何图形处理理、图形显示示、外设控制制、数据库管管理、用户界界面控制、设设计分析等模模块。如果这这些模块之间间都是通过参参数表来传递递信息,那么么它们之间的的的耦合就是是数据耦合或或标记耦合等等,都是低耦耦
27、合。将来如如果想要把它它们移植到另另一个外部环环境中,这些些模块容易修修改(功能内内聚),且接接口清晰,修修改可局部化化。反言之,如如果这些模块块都是功能内内聚或信息内内聚的模块,模模块之间的耦耦合都是低耦耦合,也对可可移植性有促促进。但不能能讲具有低耦耦合性模块结结构的软件一一定具有可移移植性,因为为是否具有可可移植性还有有其它因素的的影响。4.7用自己的的话描述信息息隐蔽概念,并讨论信息息隐藏与模块块独立两概念念之间的关系系。信息隐藏指在设设计和确定模模块时,使得得一个模块内内包含的特定定信息(过程程或数据),对对于不需要这这些信息的其其他模块来说说,是透明的的。“隐藏”的的意思是,有有效
28、的模块化化通过定义一一组相互独立立的模块来实实现,这些独独立的模块彼彼此之间仅仅仅交换那些为为了完成系统统功能所必需需的信息,而而将那些自身身的实现细节节与数据“隐隐藏”起来。信信息隐蔽为软软件系统的修修改、测试及及以后的维护护都带来好处处。通过抽抽象,可以确确定组成软件件的过程实体体。通过信息息隐藏,可以以定义和实施施对模块的过过程细节和局局部数据结构构的存取限制制。模块独立立的概念是模模块化、抽象象、信息隐藏藏和局部化概概念的直接结结果。开发具具有独立功能能而且和其他他模块之间没没有过多的相相互作用的模模块,就可以以做到模块独独立。4.8什么是模模块独立性?设计中为什什么模块要独独立?如何
29、度度量独立性?模块功能独独立有何优点点?模块的独立性是是模块化、信信息隐藏和局局部化等概念念的直接结果果。模块的独立性是是很重要的:第一,功能能被划分,并并且接口被简简化,所以具具有有效模块块化的软件易易于开发。第第二,由于因因设计和编码码修改引起的的副作用受到到局限,错误误传播被减小小,并且模块块复用成为可可能,所以独独立的模块更更易于维护和和测试。总的的来说,模块块独立是良好好设计的关键键,从而又是是保证软件质质量的关键。用内聚度与耦合合度来度量独独立性。内聚聚度度量同一一个模块内部部各个元素彼彼此结合的紧紧密程度,耦耦合度度量不不同模块彼此此间相互以来来的紧密程度度。模块功能独立的的优点
30、:系统统容易开发,系系统可靠性高高,系统易于于维护,软件件结构清晰。4.9软件设计计规约主要包包括哪些内容容?1.工作范围2.体系结构设设计3.数据设计4.接口设计5.各部件的过过程设计6.运行设计7.出错处理设设计8.安全保密设设计9.需求/设计计交叉索引10.测试部分分11.特殊注解解12.附录第5章 结构化化分析与设计计5.1 简述数数据流图的主主要思想,概概述使用数据据流图进行需需求分析的过过程。 数据流流图(DFDD)描述输入入数据流到输输出数据流的的变换(即加加工),用于于对系统的功功能建模。数据流图可以用用来抽象地表表示系统或软软件。它从信信息传递和加加工的角度,以以图形的方式式
31、刻画数据流流从输入到输输出的移动变变换过程,同同时可以按自自顶向下、逐逐步分解的方方法表示内容容不断增加的的数据流和功功能细节。因因此,数据流流图既提供了了功能建模的的机制,也提提供了信息流流建模的机制制,从而可以以建立起系统统或软件的功功能模型。数据流图进行需需求分析的过过程:画出系统的输入入和输出画出系统内部画出加工内部4)重复第三步步,直至每个个尚未分解的的加工都足够够简单(即不不必再分解)5.2 分别采采用数据流方方法中得哪些些技术来完成成用户需求的的精确化、一一致化和完全全化的任务。1)父图和子图图平衡2)数据守恒3)局部文件4)一个加工的的输入数据流流不能与该加加工的输入数数据流同
32、名5)每个加工至至少有一个输输入数据流和和一个输出数数据流。6)在整套分层层数据流中,每每个文件应至至少有一个加加工读该文件件,有另一个个加工写该文文件。7)分层数据流流图中得每个个数据流和文文件都必须命命名(除了流流入或流出文文件的数据流流),并且与与数据字典一一致。8)分层DFDD中的每个基基本加工(即即不再分解子子图的加工)都都应有一个加加工规约。5.4 在数据据流图中,可可否将两个加加工用一个数数据流相连?可否将两个个源用一个数数据流相连?为什么? 两个个加工可以直直接用数据流流相连,两个个源不能直接接用数据流相相连。因为数数据流由一组组固定成分的的数据组成。在在DFD中,数数据流的流
33、向向可以有以下下几种:从一一个加工流向向另一个加工工,从加工流流向文件(写写文件),从从文件流向加加工(读文件件),从源流流向加工,从从加工流向宿宿。5.7 采用用结构化分析析方法写出书书店管理系统统的需求文档档,包括数据据流图及数据据字典。看到到这个题目,我我想起了以前前自己也在手手机端Anddroid平平台写了一个个书店的管理理系统,不过过那个时候根根本没有什么么需求分析,只只是自己一厢厢情愿的模拟拟了一个简单单的流程。也也没有采用什什么结构化分分析方法,就就仅仅描述了了几个对象及及其功能。所所以我觉得可可以对照着新新学的软件工工程的知识运运用到自己的的实际项目中中去,同时也可以完成成这道
34、相识的的题目。下图就是以前的的功能结构图图:会员管理子系统会员管理子系统用户登录子系统超级管理员仓库管理员销售管理员供应商信息管理子系统仓库管理子系统进货出货销售管理子系统零售批发退货书店销售管理系统还有一些程序运运行的界面:利用结构化方法法分析:数据流程图 存书书分数据流图图: 书店管理员书店管理员存书情况查询存书进货时间 存书情况查询是否为新书是否为新书否进货分数据流图图:登记 进货信信息进货信息登记进货登记表进货登记表查询查询存书存书进货信息进货信息登记销售已售信息登记销售已售信息图书销售登记表销售分数据流图图:图书销售登记表登记销售管理员查询销售销售信息登记销售管理员查询销售存书 销售
35、信信息存书会员分数据流图图:查询会员信息登记表管理员会员信息 会员信息息查询会员信息登记表管理员会员信息会员信息登记会员信息登记登记销售总数据流图:已售信息登记销售图书销售登记表图书销售登记表登记进货信息进进货信息销售登记进货登记表信息进货登记表登记销售登记销售查询销售存书进货信息销销售销售查询销售存书查询信息信息查询进货信息进进货会员信息登记表查询登记信息会员信息登记表查询登记书店管理员书店管理员会员信息会会员信息会员信息 存存书会员信息进进会员信息货查询时查询间查询进货信息查询存书情况进货信息存书情况新书列是否为新书新书列是否为新书是否2、数据字典存书数据字典: 属 性 名类 型长 度备
36、注书 号char10书的编号书 名char30书的名称作 者char20书的写作者类 型char20书的类型简 述char150书的简单介绍单 价smallmooney4书的价格现 存 数 量量int4店内的现有存书书数量店 内 位 置置char20书在店内的具体体位置出 版 社 号号char10出版社的编号特价书char2是否为特价书(缺缺省值是“否”)出版社数据字典典:属 性 名类 型长 度备 注出版社号char10出版社的编号出版社名称char20出版社的名称所在城市char10出版社所在的城城市电话char15出版社的联系电电话进货数据字典:属 性 名类 型长 度备 注书 号char1
37、0书的编号进 价smallmooney4书的进价进货数量int4每本书的进货数数量日 期datetimme8进货的日期销售数据字典:属 性 名类 型长 度备 注日 期datetimme8售货的日期书 号char10书的编号销售量int4售出的书本数量量销售金额money8销售金额=(单单价*销售量量)会员信息数据字字典:属 性 名类 型长 度备 注客服号char8会员卡的卡号姓名char20会员的姓名地址char50会员的家庭住址址电话char15会员的电话号码码购买书号char10书的编号店内收出数据字字典:属 性 名长 度备 注月份6水电支出4水电费用员工支出4员工的工资其他支出4其他费用
38、支出结算8每月的总结算数据结构数据结构名组成存书信息书号,书名,作作者,简介,单单价,店内位位置,类型,现现存数量,出出版社号,特特价书出版社号出版社号,出版版社名称,电电话,所在城城市进货信息书号,进货数量量,进价,进进货日期销售信息销售日期,书号号,销售量,销销售金额会员信息购买书号,客服服号,会员姓姓名,地址,电电话书店支出信息月份,水电支出出,员工支出出,其他支出出,结算数据流数据流名数据流来源数据流去向组成登记新书信息进货信息存书信息新书信息查询新书信息新书登记信息管理员新书信息登记打折书信息息存书信息销售信息存书信息查询打折书信息息打折书登记信息息管理员存书信息.登记会员信息息会员
39、信息存书信息会员信息查询会员信息会员登记信息管理员会员信息数据存储数据存储名输入的数据流输出的数据流组成新书登记表进货信息,是否否为新书存书信息进货信息,存书书信息打折书登记表存书信息,是否否为打折书销售信息存书信息,销售售信息会员登记表会员信息,销售售信息会员信息会员信息,销售售信息第68章6.1 简述面面向数据结构构方法的特点点答:特点如下:1 以信息对象象及其操作作作为核心进行行需求分析;2 认为复合信信息对象具有有层次结构,并并且可按顺序序,选择,重重复3种结构构分解为成员员对象信息;3 提供由层次次信息结构映映射为程序结结构的机制,从从而为软件设设计奠定良好好的基础。6.2 采用JJ
40、acksoon图表示下下面的文件结结构:文件文件人员记录*人员记录*工作工号地址姓名工作工号地址姓名工厂。办公室。管理员。工厂。办公室。管理员。8.1什么是构构件?答:根据presssman书中中的定义构件是某系统中中有价值的、几几乎独立的并并可替换的一一个部分,它它在良好定义义的体系结构构语境内满足足某种清晰的的功能。根据brownn的定义构件是一个独立立发布的功能能部分,可以以通过其接口口访问它的服服务。根据计算机科科学技术百科科全书(第二二版)中的的定义软件构件是软件件系统中具有有相对独立功功能,可以明明确标识,接接口由规约指指定,与语境境有明显依赖赖关系,可独独立部署,且且多由第三方方
41、提供的可组组装软件实体体。软件构件须承载载有用的功能能,并遵循某某种构件模型型。可复用构构件是指具有有可复用价值值的构件。在基于构件的软软件开发中经经常会使用到到的商用成品品构件,是指指由第三方开开发的满足一一定构件标准准并且可组装装的软件构件件。8.2 简述基基于构件的软软件开发过程程。基于构件的软件件开发过程:领域工程的步骤骤:1 领域分析析 2 建立领域域特定的基准准体系结构模模型 3 标识候选选构件 4 泛化和可可变性分析 5 构件重构构 6 构件的测测试 7 构件的包包装 8 构件入库库应用系统工程的的步骤:1 建立应用用系统的体系系结构模型;2 寻找候选选构件;3 评价和选选择合适
42、的构构件;4 构件的修修改和特化;5 开发未被被复用的不分分;6 构件的组组装;7 集成测试试;8 评价被复复用的构件,并并推荐可能的的新构件。第11、13章章11.1答:软件测试的的目的是发现现软件中的错错误和缺陷,并并加以纠正。11.2答:白盒测试又又称结构测试试,这种方法法把测试对象象看作一个透透明的盒子,测测试人员根据据程序内部的的逻辑结构及及有关信息设设计测试用例例,检查程序序中所有逻辑辑路径是否都都按预定的要要求正确地工工作。白盒测测试主要用于于对程序模块块的测试。包包括:程序模块中的所所有独立路径径至少执行一一次。对所有逻辑判定定的取值(“真”与“假”)都至少测测试一次。在上下边
43、界及可可操作范围内内运行所有循循环。测试内部数据结结构的有效性性等。黑盒测试又称行行为测试,这这种方法把测测试对象看作作一个黑盒子子,测试人员员完全不考虑虑程序内部的的逻辑结构和和内部特性,只只依据程序的的需求规格说说明书,检查查程序的功能能是否符号它它的功能需求求。黑盒测试试可用于各种种测试,它试试图发现以下下类型的错误误:不正确或遗漏的的功能接口错误,如输输入输出参数数的个数、类类型等。数据结构错误或或外部信息(如如外部数据库库)访问错误误。性能错误。初始化和终止错错误。11.3解:判定覆盖:(1)X=85,Y=85 (2)XX=70,YY=95 (3)XX=30,YY=95条件覆盖:(1
44、1)X=855,X=855 (22)X=700,Y=755 (33)X=955,Y=500 (44)X=500,Y=955 (55)X=400,Y=400判定条件覆盖:(1)X=85,X=85 (2)XX=70,YY=75 (3)XX=95,YY=50 (4)XX=50,YY=95 (5)XX=40,YY=40 (6)XX=20,YY=95 (7)XX=95,YY=20条件组合覆盖:(1)X=85,X=85 (2)XX=65,YY=85 (3)XX=85,YY=65 (4)XX=70,YY=75 (5)XX=95,YY=50 (6)XX=50,YY=95 (7)XX=40,YY=40路径覆盖:
45、(11)X=855,Y=855 (2)XX=70,YY=95 (3)XX=30,YY=7011.5分别简简述单元测试试、集成测试试、确认测试试和系统测试试的任务。单元测试:又称模块测试,着着重对软件设设计的最小单单元软件构件件或模块进行行验证。单元测试根据设设计描述,对对重要的控制制路径进行测测试,已发现现构建或模块块内部的错误误,通常采用用白盒测试,并并且多个构件件或模块可以以并行测试。单元测试的主要要内容:接口口、局部数据据结构、边界界条件、独立立路径和错误误处理路径。集成测试:集成测试,也叫叫组装测试或或联合测试。在在单元测试的基基础上,将所所有模块按照照设计要求(如如根据结构图图)组装
46、成为子子系统或系统统,进行集成成测试。实践践表明,一些些模块虽然能能够单独地工工作,但并不不能保证连接接起来也能正正常的工作。程程序在某些局局部反映不出出来的问题,在在全局上很可可能暴露出来来,影响功能能的实现。目的:是确保各各单元组合在在一起后能够够按既定意图图协作运行,并并确保增量的的行为正确。它它所测试的内内容包括单元元间的接口以以及集成后的的功能。使用用 HYPERLINK /view/51274.htm 黑盒测试方法法测试集成的的功能。并且且对以前的集集成进行 HYPERLINK /view/106720.htm 回归归测试。确认测试:确认测试的目的的是向未来的的用户表明系系统能够像
47、预预定要求那样样工作。经集集成测试后,已已经按照设计计把所有的模模块组装成一一个完整的软软件系统,接接口错误也已已经基本排除除了,接着就就应该进一步步验证软件的的有效性,这这就是确认测测试的任务,即即软件的功能能和性能如同同用户所合理理期待的那样样。系统测试:将已经确认的 HYPERLINK /view/37.htm 软软件、计算机机硬件、外设设、网络等其其他元素结合合在一起,进进行信息系统统的各种组装装测试和确认认测试,系统统测试是针对对整个产品系系统进行的测测试,目的是是验证系统是是否满足了需需求规格的定定义,找出与与需求规格不不符或与之矛矛盾的地方,从从而提出更加加完善的方案案。系统测试
48、试发现问题之之后要经过调调试找出错误误原因和位置置,然后进行行改正。是基基于系统整体体需求说明书书的黑盒类测测试,应覆盖盖系统所有联联合的部件。对对象不仅仅包包括需测试的的软件,还要要包含软件所所依赖的硬件件、外设甚至至包括某些数数据、某些支支持软件及其其接口等。11.6什么是是测试?什么么是测试?测试:测试是由一个个用户在开发发者的场所进行行的测试,软软件在开发者者对用户的“指导下”进行测试。经经过测试后的软软件称为测试。测试:测试是指软件件开发公司组组织各方面的的典型用户在在日常工作中中实际使用版本,并要要求用户报告告异常情况、提提出批评意见见,然后软件件开发公司再再对版本进进行改错和完完
49、善。测试试也是黑盒测测试。黑盒测测试也称功能能测试,它是是通过测试来来检测每个功功能是否都能能正常使用。117什么是是回归测试?回归测试是指修修改了旧代码码后,重新进进行测试以确确认修改没有有引入新的错错误或导致其其他代码产生生错误。自动动回归测试将将大幅降低系系统测试、维维护升级等阶阶段的成本。回回归测试作为为软件生命周周期的一个组组成部分,在在整个软件测测试过程中占占有很大的工工作量比重,软软件开发的各各个阶段都会会进行多次回回归测试。在在渐进和快速速迭代开发中中,新版本的的连续发布使使回归测试进进行的更加频频繁,而在极极端编程方法法中,更是要要求每天都进进行若干次回回归测试。因因此,通过
50、选选择正确的回回归测试策略略来改进回归归测试的效率率和有效性是是非常有意义义的。观念:1.回归测试是是指重复以前前的全部或部部分的相同测测试。 2.新加入测试试的模组,可可能对其他模模组产生副作作用,故须进进行某些程度度的回归测试试。 3.回归测试的的重心,以关关键性模组为为核心。 测试策略:对于一个软件开开发项目来说说,项目的测测试组在实施施测试的过程程中会将所开开发的 HYPERLINK /view/106882.htm 测试用用例保存到“测测试用例库”中中,并对其进进行维护和管管理。当得到到一个软件的的 HYPERLINK /view/350200.htm 基线版本时,用用于基线版本本测
51、试的所有有测试用例就就形成了基线线测试用例库库。在需要进进行回归测试试的时候,就就可以根据所所选择的回归归测试策略,从从基线测试用用例库中提取取合适的测试试用例组成回回归测试包,通通过运行回归归测试包来实实现回归测试试。保存在基基线测试用例例库中的测试试用例可能是是自动 HYPERLINK /view/651490.htm 测试脚脚本,也有可可能是测试用用例的手工实实现过程。 回归测试需要时时间、经费和和人力来计划划、实施和管管理。为了在在给定的预算算和进度下,尽尽可能有效率率和有效力地地进行回归测测试,需要对对测试用例库库进行维护并并依据一定的的策略选择相相应的回归测测试包。 测试过程有了测
52、试用例库库的维护方法法和回归测试试包的选择策策略,回归测测试可遵循下下述基本过程程进行: (1). 识别别出软件中被被修改的部分分; (2). 从原原基线测试用用例库T中,排排除所有不再再适用的测试试用例,确定定那些对新的的软件版本依依然有效的测测试用例,其其结果是建立立一个新的基基线测试用例例库T0。 (3). 依据据一定的策略略从T0中选选择测试用例例测试被修改改的软件。 (4). 如果果必要,生成成新的测试用用例集T1,用用于测试T00无法充分测测试的软件部部分。 (5). 用TT1执行修改改后的软件。 第(2)和第(3)步测试试验证修改是是否破坏了现现有的功能,第第(4)和第第(5)步
53、测测试验证 修修改工作本身身。 118简述边边界值分析方方法的作用长期的测试工作作经验告诉我我们,大量的的错误是发生生在输入或输输出范围的边边界上,而不不是发生在输输入输出范围围的内部。因因此针对各种种边界情况设设计测试用例例,可以查出出更多的错误误。使用边界值分析析方法设计测测试用例,首首先应确定边边界情况。通通常输入和输输出等价类的的边界,就是是应着重测试试的边界情况况。应当选取取正好等于,刚刚刚大于或刚刚刚小于边界界的值作为测测试数据,而而不是选取等等价类中的典典型值或任意意值作为测试试数据。 边界分析是指对对输入或输出出的边界值进进行测试的一一种测试方法法。所说的边边界值是指输输入等价
54、类和和输出等价类类的边界值。经验证明大量的的程序错误是是发生在输入入或输出范围围的边界上,而而不是发生在在输入输出范范围的内部。因因此针对各种种边界情况设设计测试用例例,可以查出出更多的错误误。使用边界值分析析方法设计测测试用例,首首先应确定边边界情况。通通常输入和输输出等价类的的边界,就是是应着重测试试的边界情况况。应当选取取正好等于,刚刚刚大于或刚刚刚小于边界界的值作为测测试数据,而而不是选取等等价类中的典典型值或任意意值作为测试试数据。13.1请讨论论使软件维护护成本居高不不下的因素。如如何尽可能降降低这些因素素的影响?软件维护的代价价是生产率惊惊人下降。维维护费用只不不过是软件及及维护最明显显的代价,起起一些隐性的的代价将更为为人们关注。软件维护除费用用外的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产香料制品用香精油项目运营指导方案
- 衣领项目营销计划书
- 蓄电池市场分析及投资价值研究报告
- 含药物的护足霜产业链招商引资的调研报告
- 心理咨询行业营销策略方案
- 玻璃器皿用纸制杯垫项目运营指导方案
- 举办水球比赛行业经营分析报告
- 天文馆服务行业营销策略方案
- 肥胖症病人用担架商业机会挖掘与战略布局策略研究报告
- 光纤熔接机产品供应链分析
- 学习雷锋郭明义
- 02 明渠均匀流断面尺寸设计
- 第八讲 matlab simulink基础.
- 创伤急救周围血管损伤
- 四川自考1月统考工程质量与进度控制02460
- 手机各制程简介
- 二年级《看图写话》PPT
- 2022年高三数学专题训练 第5讲立体几何选择压轴题(解析版)
- 通力电梯KCE电气系统学习指南
- 清洁消毒灭菌(一)-完整版PPT课件
- (精心整理)课题最终成果简介
评论
0/150
提交评论