




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 软件生存周期与软件过程 Chapter 2 Software Life Cycle & Software Process1软件工程2.1 软件生存周期(Software Life Cycle)一个软件从开始计划起,到废弃不用的整个时期,称为软件生存周期。把软件生存周期划分为较小的阶段的目的: 给每个阶段赋予确定而有限的任务,能够简化每一步的工作内容,使软件复杂性变得较易控制和管理。2软件工程软件生存周期模型( Software Lifecycle Model ) 根据软件生存周期为各项开发活动的流程确定一个合理的框架,称为软件生存周期模型或软件开发模型(即描述软件开发过程中各种活动如何
2、执行的模型。)3软件工程2.1.1 软件生存周期的主要活动软件生存周期包含3个时期:计划、开发和运行时期。各时期又分为若干阶段,共6个阶段。4软件工程需求分析软件设计测试编码图2.1 典型的软件生存周期运行维护可行性研究开发时期运行时期计划时期5软件工程 1. 可行性研究( Feasibility Study) (详见第35页,2.6.1) 解决“是否能做? 是否值得做?”的问题。 ( Whether can do ? Whether it is worth to do ? ) 主要文档:可行性论证报告(Feasibility Report)、项目实施计划( 简称项目计划, Project P
3、lan)。6软件工程2. 需求分析 ( Requirement Analysis ) 解决系统 “做什么? (What to do?) ” 问题。 弄清用户对系统的需求,包括功能需求、性能需求、环境约束和用户界面等(其中功能需求是最重要的),建立分析模型。 主要文档:需求规格说明书 (Software Requirement Specification , SRS )。及初步的系统用户手册提交管理机构评审7软件工程3. 软件设计(Software Design ): 分为总体设计和详细设计。 总体设计( General Design ;又称概要设计,Preliminary Design ) 主
4、要确定软件的体系结构。把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应8软件工程 详细设计( Detail Design ): 又称过程设计(Process Design ), 主要设计每个模块的实现细节。 主要文档:概要设计说明书和详细设计说明书( Preliminary Design Specification & Detail Design Specification )。提交管理机构评审9软件工程 4. 编码( Coding ):把设计翻译为源程序 编写源程序(Source Program)。 5. 测试( Testing ): 进行单元
5、测试、集成测试、确认测试和 系统测试。 主要文档: 测试计划 ( Testing Plant ) 、测试报告( Testing Report )等 。 3.5. 解决 “怎么做?( How to do? )”的问题。10软件工程 6. 运行维护 (Running / Maintenance ): 做好软件的维护工作。 主要文档:维护申请单( Maintenance Request Form )和软件修改报告( Software Change Report ) 等11软件工程2.1.2 生存周期和软件过程的关系1.从软件生存周期到软件过程软件过程(Software Process):围绕软件开发
6、所进行的一系列活动。(通俗地,也可以把软件过程称为“软件开发模型”)2.软件过程的演变 传统的线性开发模型迭代的过程模型12软件工程2.2 传统的软件过程( Conventional Software Process )2.2.1 瀑布模型(Waterfall Model)瀑布模型:是一种基于软件生存周期的线性开发模型。13软件工程Waterfall ModelREQUIREMENTSANALYSISSYSTEMDESIGNPROCESSDESIGNCODINGTESTINGOPERATION& MAINTENANCE14软件工程瀑布模型的特点:1. 阶段间的顺序性和依赖性: 各个阶段按自上而
7、下、相互衔接的固定次序, 如同瀑布逐级下落。2. 推迟实现的观点:瀑布模型在编码以前安排了分析阶段和设计阶段,直到设计阶段结束,才实现编码,有利于提高软件质量。允许迭代,但却是间接迭代变更可引起混乱15软件工程3. 质量保证的观点(文档驱动): (1)每个阶段都要完成规定的文档。 (2)每个阶段结束前都要对已完成的的文档进行复审(审查)。4. 存在的问题:不适合需求模糊的系统。开发的初始阶段很难彻底弄清软件需求。为了解决这个问题,提出“快速原型模型”。16软件工程用户要求编码需求分析模块说明详细设计需求规格说明软件结构图总体设计单元测试程序清单确认测试综合测试系统测试瀑布模型的阶段与文档17软
8、件工程Waterfall Model features1. Very well distinguished process (easy to understand).2. Every steps in the model completes with a milestone. 3. A milestone is defined as a completion of set of documents.4. When the documents are approved the next step can be taken.( 瀑布模型的特点:1. 过程清晰,比较容易理解;2. 每一阶段结束都有一
9、个里程碑来标志;3. 里程碑定义了一组文档集合;4. 只有文档被大家认可后,下一阶段才能启动。 )18软件工程间洁性提供一个模板,使得分析、设计、编码、测试与维护工作可以在该模板的指导下有序展开,避免开发过程的随意性。采用此方法划分阶段,可以很容易地为各个阶段分配相应的资源瀑布模型的优点19软件工程瀑布模型的优点可强迫开发人员采用规范的方法严格地规定了每个阶段必须提交的文档要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证瀑布模型的缺点周期长:顺序推进,环环审查需求难以准确把握(不能准确提出和沟通、不能快速适应变化的需求),导致返工甚至推倒重来无法预测新引入模块的影响最终的形式难以预料
10、不适合需求模糊的系统 20软件工程2.2.2 快速原型模型( Rapid Prototype Model ) 1.原型开发的优越性 快速原型模型的中心思想是:首先建立一个能够反映用户主要需求的原型,让用户看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进;然后将原型反复改进,最终建立符合用户要求的新系统。21软件工程快速原型模型示意图快速分析运行原型快速设计建造原型客户评价修改开始22软件工程2.原型开发的方法 (1)原型系统仅包括未来系统的主要功能以及系统的重要接口,不包括系统的细节。 (2)开发原型系统时尽量使用能缩短开发周期的先进的语言和工具(如4GL)。 (3)把原
11、型系统作为基础,通过补充和修改获得最终的实际系统。 (快速原型模型也常常被当作帮助定义软件需求的一种手段,大多数原型都废弃不用。)23软件工程3. 原型模型的启示“逼真”的原型可以使用户迅速作出反馈。循环回溯和迭代:非线性模型。4. 应该防止的偏向舍不得抛弃,从而影响软件质量。5.原型模型的种类渐进型:对原型补充和修改获得最终系统。抛弃型:原型废弃不用。24软件工程 Advantages and Disadvantages of Prototype1.AdvantagesRequirements better specified and validatedStrong involvement
12、of the customer in the prototyping phase2.DisadvantageHigher development effort原型模型的优缺点:1、优点:需求说明可以被更好的描述和验证;在原型阶段用户可以更深地加入到开发中来。2、缺点:需要更高的开发技术要求。25软件工程 Prototype is a partially developed product that enables customers and developer to examine some aspect of the proposed system and decide if it is s
13、uitable or appropriates for the finished product. (原型是一个被开发的部分产品,用来使用户和开发者对想象产品的某些方面进行测试,判断它是否适合于最终的产品。)26软件工程用户界面的开发:用得最多的地方。工作流的模拟:如可演示出系统中的一个具体的购物过程(包括在什么地方产生此类购买活动,针对不同活动所产生的各种用户界面与对话框等)。采用这种方法可以对整个工作流加以模拟,并且可以让用户与软件开发人员亲眼看到相应的过程,考虑到所有可能的场景,从而在最终产品中不漏掉任何一种逻辑情况。快速原型模型的适用性27软件工程存在多个客户的情况:在此情况下,针对变
14、化所作出的原型可能不能令所有的客户满意,因此很可能花大代价制作多个原型。即使每个原型均能各自满足相应客户的要求,也可能存在相互矛盾的需求。最终客户并不明确的情况:产品有关的功能很可能对于真正的客户来说是无意义的。无法将外部的客户请到开发现场为开发人员提供帮助。快速原型模型的不适用性28软件工程2.3软件演化模型基本思想:分期完成,分步提交,先提交一个有限功能的版本,再逐步地使其完善。主要特点:利用“迭代”方法,使渐进开发生产出逐步完善的软件版本兼有线性顺序模型和原型模型的特点。据策略不同分为:增量模型和螺旋模型29软件工程2.3 软件演化模型( Software Evolutionary Mo
15、del ) 2.3.1 增量模型(Incremental Model ) 增量模型是瀑布模型的顺序特征与快速原型模型的迭代特征相结合的产物。它把软件看做一系列相互联系的增量,在开发过程的各次迭代中,每次完成其中的一个增量。30软件工程时间分析 增量1 增量1交付客户设计 编码 测试 分析 增量2 增量2交付客户设计 编码 测试 分析 增量3 增量3交付客户设计 编码 测试 分析 增量4 增量4交付客户设计 编码 测试 系统和信息工程31软件工程优点能在较短的时间内向用户提交部分功能的构件;逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,减少一个全新软件可能给用户带来的冲击。缺点增量构
16、件的划分依赖于系统功能的构成和软件开发人员的经验;要求软件系统的体系结构具有高度的可扩充性和开放性。32软件工程2.3.2 螺旋模型(Spiral Model )螺旋模型是在结合瀑布模型与快速原型模型的基础上 增加了风险分析 而形成的。 1.典型的迭代模型螺旋模型是一种迭代模型,每迭代一次,螺线线就前进一周,每轮螺旋均包含以下4个活动: (1)计划:确定目标,选择方案。(2)风险分析:分析所选方案,考虑如何识别和消除风险。(3)建立原型:实施本周期的开发任务。(4)用户评审:用户评价前一步结果,提出修正建议。33软件工程决定目标、方案和限制评价方案、识别风险、弱化风险开发、验证、下一级产品计划
17、下一阶段集成测试34软件工程Spiral ModelSuggested by Boehm (1988);Combines development activities with risk management to minimize and control risks.螺旋模型,1988年由勃姆提出。综合了风险管理到开发活动中,以控制风险使其最小化。螺旋模型主要适用于内部开发的大规模软件项目。当风险过大时,可方便的终止项目。35软件工程 2.风险分析:软件开发存在风险,风险分析的目的就是要了解、分析并设法降低和排除风险。 对高风险的大型软件,螺旋模型是一个理想的开发过程。 3.螺旋模型的特点
18、在项目开发的所有阶段都考虑各类风险。36软件工程2.3.3 构件集成模型(Component Integrated Model ) 1. 面向对象的基本概念 (1)对象(Object):数据和操作的封装体。 (2)类(Class):类是对象的抽象,对象是类的实例。 (3)继承(Inheritance):子类可以共享父类的数据和操作。 (4)消息(Message):对象通过消息进行通信。面向对象 = 对象+ 分类+ 继承+ 通过消息的通信 Object Oriented = Object + Classfication + Inheritance + Communication with Mes
19、sage37软件工程对象(Object):现实世界中实体或事物的抽象表示,是属性和相关操作的统一封装体。属性:对象的性质; 操作:该对象可以展现的外部服务。 特点:以数据为中心,操作针对 属性的变化,操作的结果与对象当前的属性有关。主动的,对象的属性通常是由该对象自己的操作改变的。数据封装,描述对象属性信息的数据被封装在对象内部,外部对象不必了解其数据结构和具体的实现细节,只需知道数据的取值范围和对数据提供哪些公共操作。模块的独立性好,对象的内部包括数据与处理数据的操作。因此,模块内部各种元素彼此结合得很紧密,对象间联系少。 面向对象的基本概念38软件工程对象是面向对象开发模式的基本成份。每个
20、对象可用它本身的一组属性和它可以执行的一组操作来定义。电子信箱收件人主题优先级收邮件发邮件手机短消息属性操作对象面向对象开发模型:对象39软件工程对象:电视机封装40软件工程Internal State对象的例子: TV开请求变更频道调节声音Turn OnTurn OffChange ChannelAdjust VolumeOthers.被封装的行为和状态关请求41软件工程面向对象开发模型:类类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。在一个类中,每个对象都是类的实例,它
21、们都可使用类中提供的函数。42软件工程类(Class):某些对象的共同特征(属性和操作)。相同属性和相同操作的对象的抽象。定义一个类,如: 类名:圆类的属性:圆心坐标、半径、填充颜色类的操作:显示、放大、缩小、移动、改变颜色可生成三个圆,属性值不同,是三个对象。 面向对象开发模型43软件工程例子:四边形类&两个四边形对象四边形类对象1对象244软件工程继承(Inheritance):类之间可以存在继承关系。 子类自动地共享其父类中定义的属性和操作机制,继承性使相似的对象可以共享程序代码和数据结构,从而大大减少了程序的冗余信息。继承性使得软件的维护和修改工作量减少了许多,当需要扩充软件原有的功能
22、是,先要从修改的类派生出一个子类,子类继承父类的所有的属性和方法,根据需要在派生来中添加必要的代码。当需要完全改变父类中的某个操作时,可以在派生类中定义一个同名的方法。若要新增加一个功能。则可以在派生类中定义并实现一个全新的方法。面向对象基本概念45软件工程面向对象基本概念:继承继承是使用已存在的定义做为基础建立新定义的技术。新类的定义可以是既存类所声明的数据和新类所增加的声明的组合。新类复用既存的定义,而不要求修改既存类。既存类可当做基类来引用,则新类相应地可当做派生类来引用。46软件工程继承的例子多边形类四边形类47软件工程消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的
23、某个操作的规格说明。发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。一个对象接收的消息则调用消息中指定的方法,并将形式参数与参数表中相应的值结合起来。面向对象开发模型:消息48软件工程消息(Message):消息传递是对象与外部世界相互联系的唯一途径。 由发送对象发送给接收对象的一个操作请求,发送方发出命令和参数,接受方接受操作,执行结束后,将控制权返回给发送方,同时送回某些结果。消息有三部分组成:对象名:接收消息的对象消息名:要求接收对象完成的操作参数:执行操作时的参数或操作返回的结果。例如:mycircle 是一个对象,mycircle.changcolo
24、r(Green)面向对象基本概念49软件工程Question:考虑电视机的例子怎样发送消息?50软件工程假定系统的各个组建已经存在,系统开发 过程的焦点在于集成这些组件,而不是从头开始重新开发。构件:一个或多个相关类的组合称为一个构件。特点:有通用性,可在不同软件中复用。构件集成模型51软件工程构件集成模型查找构件进行下一次迭代标志候选构件将新构件存入库中若存在则提取构件若不存在则构造构件构件库52软件工程 2. 什么是构件 构件(Component)是一种通用的(可复用的)、可支持不同应用系统的软件组件。 3. 构件集成模型的特征融合螺旋模型特征。支持软件开发的迭代方法 。基于构件库; 构件
25、集成模型利用预先封装好的构件来构造应用软件系统。53软件工程 融合螺旋模型的特征,但它是利用预先包装好的软件构件来构造软件,若有完善构件标准可实现软件生产规模化、工程化的一个最有前途的模型据QSM报告称: 缩短70% 开发周期 降低84%的项目成本构件集成模型优点54软件工程2.4 形式化方法模型 (Model of Formal Method)2.4.1 转换模型( Transformational Model ,又称变换模型)软件工程中涉及的语言有3种: (1)自然语言 (2)半形式语言: 图表、图形; (3)形式语言: 计算机可运行的语言。55软件工程结合形式化软件开发方法和程序自动生成
26、技术的一种软件开发模型。对系统进行形式化的数学描述,然后把这种描述用数学方法转换成程序,这种转换是“正确性保持的”可保证开发的程序满足其描述。理论:一个正确的,满足客户需要的形式化规格说明,经过一系列正确的程序变换后,可以确保得到一个正确的软件系统。特点:试图通过减少某些主要的开发步骤来减少出错的机会。转换模型(形式化方法)56软件工程 图2.2 转换模型形式化规格说明与需求比较后修正变换2变换1变换n测试形式化开发记录系统需求目标系统57软件工程2.4.2 净室模型(Cleanroom Model) 净室模型是一种形式化的增量开发模型。 该模型只适合于软件的形式化开发方法;需要严格的数学理论
27、和形式化技术支持;需要一整套开发环境(如程序变换工具、定理证明工具等)的支持。 58软件工程净室模型(形式化方法)形式化的增量开发模型,力求在分析和设计阶段就消除错误,然后在无缺陷或“洁净”的状态下实现软件的制作。需求收集统计性使用测试认证盒结构 规约形式化设计正确性验证代码检查测试计划增量n需求收集统计性使用测试认证盒结构 规约形式化设计正确性验证代码检查测试计划增量159软件工程净室思想在分析和设计阶段消除错误在“洁净”状态下实现软件制作形式化盒结构表示分析和设计正确性验证增量模型把软件看成一系列的增量60软件工程表2.1 7种软件开发模型的主要特点开发模型特 点适用场合瀑布模型线性模型,
28、每一阶段必须完成规定的文档需求明确的中、小型软件开发快速原型模型用户介入早,通过迭代完善用户需求,原型废弃不用需求模糊的小型软件开发增量模型每次迭代完成一个增量,可用于OO开发容易分块的大型软件开发螺旋模型典型迭代模型,重视风险分析,可用于OO开发具有不确定性大型软件开发构件集成模型软件开发与构件开发平行进行领域工程、行业的中型软件开发转换模型形式化的规格说明,自动的程序变换系统理想化模型,尚无成熟工具支持净室模型形式化的增量开发模型,在洁净状态下实现软件制作开发团队熟悉形式化方法61软件工程2.5 统一过程和敏捷过程2.5.1 统一过程(Rational Unified Process, R
29、UP)RUP 是美国 Rational 公司(现被IBM 公司兼并,称 IBM- Rational 公司)开发的一种支持UML建模过程的软件工具。 RUP是以用例为驱动、以系统架构为中心的迭代与增量过程。 RUP在一个二维空间中描述软件开发活动,水平轴代表时间,显示了过程动态的一面,它将一个软件生存周期分为4个阶段,包括初始、细化、构造和移交阶段,每个阶段又可以分为多个迭代。62软件工程图2.9 统一过程图示63软件工程1初始阶段:初始阶段的目标是为系统建立业务用例和确定项目的边界。本阶段的具体目标如下:明确软件系统的范围和边界条件,包括从功能角度的前景分析、产品验收标准和哪些做与哪些不做的相
30、关决定;明确区分系统的关键用例和主要的功能场景;展现或者演示至少一种符合主要场景要求的候选软件体系结构;对整个项目做最初的项目成本和日程估计;估计出潜在的风险(主要指各种不确定因素造成的潜在风险);准备好项目的支持环境。 64软件工程2细化阶段 细化阶段的目标是分析问题域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。本阶段的具体目标如下:确保软件结构、需求、计划足够稳定;确保项目风险已经降低到能够预计完成整个项目的成本和日程的程度;针对项目的软件结构上的主要风险已经解决或处理完成;通过完成软件结构上的主要场景建立软件体系结构的基线;建立一个包含高质量构件的可演化的产品原型;
31、说明基线化的软件体系结构可保障需求可控制在合理的成本和时间范围内;建立好产品的支持环境。 65软件工程3构造阶段 在构造阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽地测试。本阶段的主要目标如下:通过优化资源和避免不必要的返工达到开发成本的最小化;根据实际需要达到适当的质量目标;据实际需要形成各个版本;对所有必须的功能完成分析、设计、开发和测试工作;采用循环渐进的方式开发出一个可以提交给最终用户的完整产品;确定软件、站点和用户都为产品的最终部署做好了相关准备;达成一定程度上的并行开发机制。66软件工程4迁移阶段 完成最后的软件产品和产品验收测试,并编制用户文档,进行用户
32、培训等,将软件产品交付给用户群体。本阶段的具体目标如下。进行Beta测试以期达到最终用户的需要;进行Beta测试和旧系统的并轨;转换功能数据库;对最终用户和产品支持人员的培训;具体部署相关的工程活动;协调Bug修订、改进性能和可用性等工作;基于完整的版本和产品验收标准对最终部署做出评估;达到用户要求的满意度;67软件工程2.5.2 敏捷过程 ( Agile Process ) 敏捷开发(Agile Development)是以人为核心、以迭代方式顺序渐进开发的方法,其开发过程称为“敏捷过程”。1.敏捷开发的价值观 个人和交互胜过过程和工具。 可以工作的软件胜过面面俱到的文档。 客户合作胜过合同
33、谈判。 响应变化胜过遵循计划。68软件工程2.敏捷过程应遵循的12条原则 通过尽早的、持续的交付有价值的软件来使客户满意。 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 以积极向上的员工为中心,建立项目组,给他们提供所需的环境和支持,并且信任他们能够完成工作。 69软件工程在团队内部,最具有效果并富有效率的传递信息的方法,就是面对面的交谈。可运行的软件是首要的进度度量标准。敏捷过程提倡可持续的开发速度。责任人、开发者和用户应
34、该能够保持一个长期的、恒定的开发速度。时刻关注优秀的技能和好的设计,以增强敏捷能力。简单是最根本的。最好的构架、需求和设计出于自组织团队。每隔一定时间,团队要反省如何才能更有效地工作方面,然后相应地调整自己的行为。70软件工程2.5.3 极限编程 (Extreme Programming,XP) 极限编程是敏捷方法中最著名的、轻量级一个。它由一系列简单却互相依赖的实践组成。4个价值观加强交流、从简单做起、寻求反馈、勇于实事就是。12个核心实践完整团队、计划对策、测试、简单设计、结对编程、小软件版本、设计改进、持续集成、代码共有、编码标准、系统比喻、可持续的速度。71软件工程下面是极限编程的实践
35、内容: 1.完整团队: XP项目的所有参与者(开发人员、客户、测试人员等)一起工作在一个场所中。 2.计划对策:计划是持续的、循序渐进的。3.测试:作为选择每个所期望的特性的一部分,客户可以根据脚本语言来定义出自动验收测试来表明该特性可以工作。 4.简单设计:团队保持设计恰好和当前的系统功能相匹配,不包含任何重复,包含尽可能少的代码。 5.结对编程:所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。 72软件工程6.小软件版本:测试驱动开发编写单元测试是一个验证行为,更是一个设计行为。编写单元测试避免了相当数量的反馈循环,程序员以非常短的循环周期工作,然后使之通过。 7. 设计
36、改进:随时利用重构方法改进已经腐化的代码,保持代码尽可能的干净、具有表达力。 8. 持续集成:团队总是使系统完整地被集成。一个人拆入(Check in)后,其它所有人责任代码集成。 9. 代码集体共有:任何结对的程序员都可以在任何时候改进任何代码。没有程序员对任何一个特定的模块或技术单独负责,每个人都可以参与任何其它方面的开发。 10.编码标准:系统中所有的代码看起来就好像是被单独一人编写的。 73软件工程11.系统比喻: 将整个系统联系在一起的全局视图;它是系统的未来影像,是它使得所有单独模块的位置和外观变得明显直观。如果模块的外观与整个隐喻不符,那么你就知道该模块是错误的。 12.可持续的
37、速度:团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作,他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。 极限编程是一组简单、具体的实践,这些实践结合在形成了一个敏捷开发过程。极限编程是一种优良的、通用的软件开发方法,项目团队可以拿来直接采用,也可以增加一些实践,或者对其中的一些实践进行修改后再采用。 74软件工程2.6 可行性研究( Feasibility Study ) 可行性研究的目的是弄清所定义的项目是否可能实现、是否值得进行。75软件工程2.6.1 可行性研究的内容与步骤 1.研究的内容 (1)经济可行性(Economic Feasibility): 有没有经济效益? 多长时间可以收回成本? (进行成本-效益分析) (2)技术可行性(Technical Feasibility): 现有的技术能否实现该系统?有哪些技术难点? 建议采用的技术的先进程度怎样? (3)运行可行性(Operational Feasibility): 系统的运行方式是否可行? (4)法律可行性(Legal Feasibility): 系统的开发会不会在社会上或政治上引起侵权、破坏或其他责任问题?76软件工程 2.研究的步骤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN120198440A 基于机器视觉的注塑件缺陷检测方法及系统
- 2025年智能匹配无中介费二手商铺买卖合同示范文本
- 2025版国际货物买卖合同规范文本
- 2025版国防科技产业投资咨询顾问合同范本
- 2025版权授权协议书范本:原创游戏角色版权许可
- 2025年度企事业单位食堂膳食供应服务采购合同
- 2025版实习期间实习生社会保险缴纳劳动合同范本
- 2025年度智慧城市基础设施建设租赁推广合同
- 2025版汽车贷款贷款合同补充条款及附件
- 2025年度企业员工职业素养提升合同
- 车辆安全培训课件
- 2025年商标审查协作中心面试模拟题答案
- 2025年徐州市中考数学试题卷(含答案及解析)
- 翻越您的浪浪山新学期开学第一课+课件
- 无人机培训招生宣讲
- 刑法各论(第四版全书电子教案完整版ppt整套教学课件最全教学教程)
- 第7章:方差分析课件
- 国家职业技能标准 (2021年版) 6-18-01-07 多工序数控机床操作调整工
- 办公楼加层改造施工组织设计(100页)
- DS6-K5B计算机联锁系统介绍文稿
- 工艺管廊架施工方案
评论
0/150
提交评论