预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第一章绪论软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题:1.如何开发软件,以满足对软件的日益增长的需求。2.如何维护数量不断膨胀的已有软件软件工程的定义-软件工程是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程的基本原理1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采纳现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应少而精7.承认不断改进软件工程实践地必要性软件工程的目标成功建造一个大型软件系统,使之达到:成本低、达到要求功能、性能好、易于移植、维护费用低、按时交付、可靠性高软件工程的内容软件开发技术:开发方法、开发过程、开发工具和环境软件开发管理:软件管理学、软件经济学、软件心理学第二章软件工程的基本理论软件生存周期软件生存周期是软件工程最基础的概念。软件生存周期是指一个软件从提出开发要求开始到该软件报废为止的整个时期。从时间角度,把整个周期划分为若干个阶段,每个阶段有明确的任务,然后再逐步完成每个阶段的任务。划分的原则:各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。受软件规模、性质、种类、开发方法等因素的影响。典型划分GB8567(4个时期7个阶段):1)软件分析时期:问题定义、可行性研究、需求分析2)软件设计时期:总体设计、详细设计3)编码与测试时期:编码、测试4)运行与维护时期瀑布模型瀑布模型是将软件生存周期各活动规定为以线性顺序连接的若干阶段的模型。主要包括两个过程:开发过程、确认过程。以项目的阶段评审和文档控制为手段对开发过程进行指导。瀑布模型的特点是最普及、最易用的模型。是一种整体开发模型:开发过程中用户看不见系统是什么样。它强调阶段的严格顺序和每一阶段的严格性。前一阶段的输出是后一阶段的输入;每阶段文档的复审与确认。是文档驱动。是里程碑、检查点。适用于需求明确、完整、无重大变化的软件。如:系统软件,简单的小型软件,熟悉领域的软件等瀑布模型的局限是前期,用户无法明确表达对系统的全面需求。领域知识背景、工作疏漏、通讯误解导致需求变化。不支持演化。开发过程中一些错误只有在最终产品运行中才能发现,且缺乏应变机制。理想的线性开发模式,缺乏灵活性,特别是无法解决需求不明或不准确的问题。严格的顺序导致"阻塞状态"。实际工作中常常有所变通。原型模型原型模型是借助一些软件开发工具或环境尽可能快的构造一个实际系统的简化模型。借助原型模型,开发者和用户进行交流,以便交准确地获得用户的需求;采用逐步求精的方法使原型逐步完善,避免了瀑布模型开发过程对用户的不透明性。(传统行业:建筑模型、装修效果图等)。更符合人类认识真理的过程和思维活动。适用于:1)具有原型构造的工具和环境(如:第四代语言)。2)需求不能预先确切定义的软件开发。3)项目组成员不能很好协同配合,交流或通信困难的项目(如:成员不在一地)。增量模型它的主要思想是:1)将软件一部分一部分的开发。2)第一个增量往往是产品的核心,即实现了基本/主要的需求。3)强调每一个增量均发布一个可操作产品。4)任何增量的处理流程可结合原型技术。2种主要类型:1)增量构造模型2)演化提交模型结构化方法1)结构化分析:根据分解和抽象的原则,按照数据处理流程,用数据流图建立系统的功能模型,完成需求分析。2)结构化设计:根据模块独立性准则、软件结构准则,将数据流图转换为软件的体系结构,用软件结构图建立系统的物理模型,实现系统的概要设计。3)结构化程序设计:根据结构化程序设计原理,将每个模块功能用相应的标准控制结构表示出来。结构化方法的特点是:指导思想:自顶向下、逐步求精,它是一种面向数据流的开发方法,它的基本原则:分解与抽象。特别适合于数据处理领域的问题。但它不适合大型项目,难以重用,难以适应需求变化和彻底解决维护问题计算机辅助软件工程CASE实质是为软件开发提供一组优化集成的且能大量节省人力的软件开发工具。集成化,自动化,中心库。第三章可行性研究从下面四方面分析研究可行性:技术可行性、经济可行性、社会可行性、操作可行性(方案的可选择性)方便的应用规范技术(FAST):用户和开发人员组成一个联合组一起确定问题。结构化分析基本思想:自顶向下、逐步求精基本原则:抽象、分解特点:最早的方法、应用广,适合数据处理、支持工具多结构化分