信息系统项目管理师_2024年软考学习应考交流_信息系统项目管理师考试

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 9408|回复: 20
打印 上一主题 下一主题

软件工程基本概念

[复制链接]
  • TA的每日心情
    开心
    2024-2-1 15:09
  • 签到天数: 58 天

    [LV.5]常住居民I

    跳转到指定楼层
    楼主
    发表于 2008-9-11 12:14:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    早期的软件主要指程序。程序的开发采用个体工作方式,开发工作主要依赖于开发人员的个人技能和程序设计技巧。当时的软件通常缺少与程序有关的文档,软件开发的实际成本和进度往往与预计的相差甚远,软件的质量得不到保证,开发出来的软件常常不能使用户满意。随着计算机应用的需求不断增长,软件的规模也越来越大,然而软件开发的生产率远远跟不上计算机应用的迅速增长。此外,由于软件开发时缺少好的方法指导和工具辅助,同时又缺少有关的文档,使得大量已有的软件难以维护。上述这些问题严重地阻碍了软件的发展,20世纪60年代中期,人们把上述软件开发和维护中的各种问题称为“软件危机”。
        1968年在德国召开的NATO会议上,首次提出了“软件工程”一词,希望用工程化的原则和方法来克服软件危机。在此以后,人们开展了软件开发模型、开发方法、工具与环境的研究,提出了瀑布模型、演化模型、螺旋模型、喷泉模型等开发模型,出现了面向数据流方法、面向数据结构的方法、面向对象方法等开发方法,以及一批CASE(computer aided software engineering)工具和环境。

       (一)软件生存周期
        如同人的一生要经历婴儿期、少年期、老年期直至死亡这样一个全过程一样,任何一个软件产品或软件系统也都要经历软件定义、软件开发、软件维护直至被淘汰这样一个全过程,我们把软件的这一全过程称为软件生存周期。
        软件定义、软件开发、软件维护等阶段还可分为若干个阶段,每个阶段相对独立又彼此有联系,上一阶段的工作结果是下一阶段工作的依据,下一阶段是上一阶段的进化,它更接近于问题的解。

    1.软件定义
        软件定义阶段主要解决的问题是待开发的软件要“做什么”,也就是要确定软件的处理对象、软件与外界的接口、软件的功能和性能、界面以及有关的约束和限制。软件定义阶段通常可分成系统分析、软件项目计划、需求分析等阶段。

        (1)系统分析
        这里讲的系统是指计算机系统,包括计算机硬件、软件和使用计算机的人。系统分析的任务是确定待开发软件的总体要求和适用范围,以及与之有关的硬件、支撑软件的要求。系统分析阶段的参加人员有用户、项目负责人、系统分析员。该阶段产生的文档可合并在软件项目计划阶段的文档(项目计划书)中。
        (2)软件项目计划
        软件项目计划的任务是确定待开发软件的目标,对其进行可行性分析,并对资源分配、进度安排等做出合理的计划。
        软件项目计划阶段的参加人员有用户、项目负责人、系统分析员。该阶段所产生的文档有可行性分析报告、项目计划书。
        (3)需求分析
        需求分析的任务是确定待开发软件的功能、性能、数据、界面等要求,从而确定系统的逻辑模型。需求分析阶段的参加人员有用户、项目负责人和系统分析员。该阶段产生的文档有需求规约(requirements specification),习惯上称它为需求规格说明书。
    2.软件开发
        软件开发阶段主要解决的问题是该软件“怎么做”,包括数据结构和软件结构的设计,算法设计,编写程序,测试,最后得到可交付使用的软件。软件开发阶段通常可分成软件设计、编码、软件测试等阶段。

        (1)软件设计
        软件设计通常还可分成概要设计和详细设计。概要设计的任务是模块分解,确定软件的结构、模块的功能和模块间的接口,以及全局数据结构的设计。详细设计的任务是设计每个模块的实现细节和局部数据结构的设计。
        概要设计阶段的参加人员有系统分析员和高级程序员,详细设计阶段的参加人员有高级程序员和程序员。设计阶段产生的文档有设计规约(design specification),也称为设计说明书,它也可分为概要设计说明书和详细设计说明书。根据需要还可产生数据说明书和模块开发卷宗。

        (2)编码
        编码的任务是用某种程序语言为每个模块编写程序。
        编码阶段的参加人员有高级程序员和程序员,产生的文档有程序清单。

        (3)软件测试
        软件测试的任务是发现软件中的错误,并加以纠正。
        软件测试阶段的参加人员通常由另一部门(或单位)的高级程序员或系统分析员承担,该阶段产生的文档有软件测试计划和软件测试报告。

    3.软件维护
        软件开发阶段结束后,软件即可交付使用。软件的使用通常要持续几年甚至几十年,在整个使用期间,都可能因为某种原因而修改软件,这便是软件维护。引起修改软件的原因主要有三种:一是在软件运行过程中发现了软件中隐藏的错误而修改软件;二是为了适应变化了的环境而修改软件;三是为修改或扩充原有软件的功能而修改软件。因此软件维护的任务就是为使软件适应外界环境的变化、实现功能的扩充和质量的改善而修改软件。
        软件维护阶段的参加人员是维护人员,该阶段产生的文档有维护计划和维护报告。
        目前,软件生存周期各阶段的划分尚不统一,有的分得粗些,有的分得细些。许多场合软件开发阶段都是从需求分析阶段开始的。本书中,我们也将需求分析看作为软件开发的开始阶段。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享 顶 踩
  • TA的每日心情
    开心
    2012-8-10 12:57
  • 签到天数: 42 天

    [LV.5]常住居民I

    沙发
    发表于 2011-7-3 08:50:37 | 只看该作者
    好帖子,谢楼主
  • TA的每日心情
    开心
    2016-2-19 09:25
  • 签到天数: 66 天

    [LV.6]常住居民II

    升级  0.01%

    藤椅
    发表于 2011-7-3 08:50:37 | 只看该作者
    感謝樓主  
  • TA的每日心情
    开心
    2015-8-14 08:20
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    升级  0.04%

    板凳
    发表于 2011-7-7 09:44:49 | 只看该作者
    不错,感谢楼主
  • TA的每日心情
    开心
    2014-2-10 14:43
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    升级  0.03%

    报纸
    发表于 2011-7-7 09:44:49 | 只看该作者
    天啊.  
  • TA的每日心情
    开心
    2013-8-4 14:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    升级  0.04%

    地板
    发表于 2011-7-8 17:58:38 | 只看该作者
    我来看看!谢谢  
  • TA的每日心情
    开心
    2013-8-4 14:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    升级  0.04%

    7
    发表于 2011-7-8 17:58:38 | 只看该作者
    晕  不信啊  
  • TA的每日心情
    开心
    2016-1-28 08:54
  • 签到天数: 62 天

    [LV.6]常住居民II

    升级  0.03%

    8
    发表于 2011-7-8 17:58:38 | 只看该作者
    先顶后看  
  • TA的每日心情
    开心
    2013-8-4 14:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    升级  0.04%

    9
    发表于 2011-7-14 01:33:55 | 只看该作者
    多次欣赏,每一次都有一番震撼~   
  • TA的每日心情
    开心
    2016-1-28 08:54
  • 签到天数: 62 天

    [LV.6]常住居民II

    升级  0.03%

    10
    发表于 2011-7-14 01:33:55 | 只看该作者
    努力~~各位。。。  
    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    小黑屋|手机版|Archiver|信息系统项目管理师_软考交流平台. ( 鄂ICP备11002878号-1  公安备案号:42011102001150

    GMT+8, 2025-7-5 07:55

    Software by Discuz! X3.2

    © 2001-2013 SKIN BY DSVUE

    快速回复 返回顶部 返回列表