1、什么是软件工程h2>
目前有哪几种主要的软件工程方法地说,软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念,原理、技术、和方法来开发与维护软件,把结果时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济的开发出高质量的软件并有效地维护他,这就是软件工程。他涉及程序设计语言、数据库,软件开发工具,系统平台、标准、设计模式等方面2、软件生命周期
软件生命周期又称为软件生存周期和系统开发生命周期,是软件的产生直到 废的生命周期。
软件生存周期包括:
1、问题定义:
弄清楚“用户需要计算机解决什么问题”,提出“系统目标和范围的说明”,提交用户审查和确认。
2. 可行性分析:
把待开发的系统的目标以明确的语言描述出来,并从经济、技术、法律等多个方面进行可行性分析。
4. 需求分析:
弄清楚用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交审批。
6. 开发阶段:
设计、实现(完成源程序的编码)
5. 维护:
改造性维护(由于开发测试的不彻底、不完全),适应性维护(适应环境变化),完善性维护(使用过程中提出的一些建设性意见),预防性维护(改善软件系统的可维护性和可靠性)。
3、软件过程
软件生命周期所涉及的一系列相关过程,是指一套关于项目的阶段、状态、方法、技术和开发维护软件的人员以及相关的artifacts(计划、文档、模型、编码、测试、手册等)组成。包含基本过程类、支持过程类、组织过程类。
1.基本过程包括获取过程、供应过程、开发过程、运作过程、维护过程和管理过程。
2. 支持过程类包括文档过程、配套管理过程、验证过程、确认过程、联合评审过程、审计过程以及问题解决过程。
3. 组织过程类包括基础设施过程、改进过程、培训过程。
4、需求分析的任务是什么些主要步骤h2>
需求分析的基本任务是深入描述软件功能和性能、确定软件升级的约束和软件同其它系统元素的接口细节、其他软件的其他有效性需求,总之,需求分析的任务就是借助于当前系统的逻辑模型导出目标的逻辑模型,解决目标系统的“做什么”的问题。
主要步骤:
1、问题识别
(1)功能需求:明确所开发的软件必须具备什么样的功能。(2)性能需求:明确待开发的软件的技术性能指标。(3) 环境需求:明确软件运行时所需要的软、硬件的要求。(4)用户界面需求:明确人机交互方式、输入输出数据格式。
5.结构化(SA)分析
基本思想: 指导思想是 自顶向上和逐步求精 基本原则是 抽象与分解
特点
- 最早的开发方法,使用时间也最长
- 它应用最广,特别适合数据处理
- 相应的支持工具多,发展较为成熟
优点
(1)简单、实用。
(2)适合于瀑布模型。
(3)成功率较高。
(4)特别适合于数据处理领域中的应用。
存在问题
- 对于规模大的项目、特别复杂的应用不太适应。
- 难以解决软件重用的问题。
- 难以适应需求的变化。
- 难以解决维护问题。
步骤
1、建立物理模型
2、抽象出现系统的逻辑模型
3、建立目标系统的逻辑模型
4、进一步补充和优化
5总体设计
5.1重要地位:
软件设计处于软件工程过程中的技术核心地位。
5.2设计过程:
软件设计是一个把需求转化为软件表达式的过程。
着重在 开发模块化程序模块 所需要的准则,以及按照 自顶向下 的方式逐步细化软件体系结构上。接着设计定义过程方面逐渐发展成为一种叫做结构化编程 的原则。
5.3软件总体设计
需求分析阶段 所形成的 数据流图 是软件总体设计的基础。
软件总体设计的概要是回答系统应该如何实现
任务:
- 软件系统结构设计
- 数据结构及数据库设计(E-R模型)
- 络系统设计(制定 络拓扑图——集中式、分布式等)
- 软件总体设计文档
- 评审
设计基本原理
-
抽象——过程抽象和数据抽象
-
细化 逐步细化是自顶向下的策略
-
模块化(所有的软件结构设计技术都是以模块化为基础的)
基本属性:
1、接口
2、功能
3、逻辑
4、状态 -
软件体系结构
(1)过程构件(模块)的层次结构
(2 )数据结构 -
程序结构
-
数据结构
-
软件过程
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!