- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息系统软件项目基础概述
软 件 项 目 基 础 概 论 2009年3月 本章概述 本章特点 理论结合实务 建立感性认识,增加学习兴趣 本章内容 软件开发流程及示例 本章结构 1.1 软件危机与软件生存周期 1.2 软件开发模型 1.3 软件开发方法和软件开发工具 1.4 项目成员组成 1.5 实例 1.6 未来的路 1.1 软件危机与生命周期 软件危机 是指在计算机软件的开发、使用和维护过程中遇到的一系列严重问题。 1.软件危机的表现 软件需求增长得不到满足。 软件生产高成本,价格昂贵。 软件生产进度无法控制。 软件需求定义不准确,易偏离用户需求。 软件质量不易保证。 软件可维护性差。 2. 缓解软件危机的途径 1.1 软件危机与生命周期 1.1 软件危机与生命周期 软件开发的基本目标 ? 付出较低的开发成本;? 达到预期的软件功能; ? 取得较好的软件性能;? 使软件易于移植; ? 需要较低的维护费用;? 能按时完成开发工作,及时交付使用。 1.1 软件危机与生命周期 软件生存周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程。包括 制定计划 需求分析 软件设计 程序编码 软件测试 运行维护 … 1.2 软件开发模型 1.2.1 瀑布模型 瀑布模型规定了各项软件工程活动,包括:制定开发计划、需求分析和说明、软件设计、程序编码、测试、运行维护。并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。如图1.2所示。 1.2 软件开发模型 1.2.2 快速原型模型 快速原型模型的基本思想是:软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便向用户展示软件系统应有的部分或全部的功能和性能,在征求用户对原型的评价意见后,进一步使需求精确化、完全化,并据此改进、完善原型,如此迭代,直到软件开发人员和用户都确认软件系统的需求并达成一致的理解为止。 1.2 软件开发模型 1.2.3 螺旋模型 螺旋模型将瀑布模型和原型模型结合起来,不仅体现了两个模型的优点,而且还增加了两个模型都忽略了的风险分析,弥补了两者的不足。 螺旋模型的结构如图所示,它由四部分组成:制定计划、风险分析、实施开发、客户评估。在笛卡尔坐标的四个象限上分别表达了四个方面的活动。 1.3 软件开发方法和软件开发工具 1.3.1 软件开发的基本方法 1. 结构化方法 它是采用结构化编程语句来编写的程序。这类方法的特点是容易把一个复杂的程序分解为若干个较小的过程,每个过程都可进行独立的调试。这类设计方法发展的总思想是从程序员角度考虑使程序设计更简单,而较少从使用角度去考虑。使用这类方法设计的程序流程完全由程序员控制,使用者只能做由程序员预先安排好的事情 2. 面向对象方法 这类程序设计思想是面向对象,即设计的重要任务在于描述对象。程序是由事件驱动的,因而,在执行过程中,持续等待的是一个发生在对象上的事件。而发生什么事件则要看使用者的操作,如单击、双击鼠标等。至于下一步的程序流向,则要看驱动的是什么事件。这类程序设计的主要目的是从任何方便与简化使用入手,由使用者控制程序流向,这在一定程序上增加了开发的难度。 1.3 软件开发方法和软件开发工具 1.3.2 软件开发工具 目前已经推出很多软件开发辅助工具,如需求分析阶段的PSL/PSA系统;编码阶段的各种语言编译工具、编辑程序、连接程序等,都是软件编码阶段的软件工具;测试阶段的测试数据产生程序、动态分析程序、静态分析程序等软件自动测试工具;维护阶段的版本控制系统等。从广义上来讲,软件分析、设计阶段的各种图形工具,如数据流图(DFD图)等也可以称为软件开发工具。 1.3 软件开发方法和软件开发工具 1.3 软件开发方法和软件开发工具 1.3 软件开发方法和软件开发工具 1.3 软件开发方法和软件开发工具 1.5 实例 项目名称: SNM, Communicator, PC Migration 1.6 未来的路 技术方面 面向对象软件开发知识 C系列或Basic系列语言 CASE工具 管理方面 软件工程 项目管理 团队管理 理论方面 OS知识 UML 其它 硬件方面理论与技术 网络方面理论与技术 … 王长军 印度软件产业何以崛起 ? 软件生存周期 开发工具的作用与功能 计算机辅助软件工程 CASE 作用 认识与描述系统需求 保存与管理开发过程中的信息 代码的生成 文档的编制与生成 软件项目的管理 开发工具的分类 分类 方法 按应用阶段划分 按功能划分 设计工具 分析工具 项目管理 软件配置 质量保证 分析设计 计划
文档评论(0)