软件开发

1计划

对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本 软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如 计算机硬件、系统软件、人力等)成本,可取得的效益和 开发进度作出估计,制订完成开发任务的实施计划。

2分析

软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用 软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立 软件逻辑模型,编写需求规格说明书文档并最终得到用户的认可。 需求分析的主要方法有 结构化分析方法数据流程图数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的 软件系统体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件 概要设计详细设计说明书,数据库或 数据结构设计说明书,组装 测试计划。在任何 软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。 系统工程师最终将据此完成 设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。

3设计

软件设计可以分为 概要设计和详细设计两个阶段。实际上 软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的 程序单元。可以是一个 函数、过程、 子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行 模块设计概要设计就是结构设计,其主要目标就是给出 软件的模块结构,用 软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和 数据结构,次要任务就是设计 数据库,常用方法还是 结构化程序设计方法

4编码

软件编码是指把 软件设计转换成 计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解 软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前 软件开发中除在专用场合,已经很少使用二十世纪80年代的 高级语言了,取而代之的是 面向对象的开发语言。而且 面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。

5测试

软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于 设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了 测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的 测试用例设计方法。两种常用的测试方法是 白盒法测试对象是 源程序,依据的是程序内部的的 逻辑结构来发现 软件的编程错误、结构错误和数据错误。结构错误包括逻辑、 数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的 内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、 集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

6维护

维护是指在已完成对软件的研制(分析、设计、编码和 测试)工作并交付使用以后,对软件产品所进行的一些 软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写 软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对 软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在 测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
 

2设施需求

1开发平台

软件开发平台源于繁琐的实践开发过程中。开发人员在实践中将常用的 函数、类、抽象、 接口等进行总结、封装,成为了可以重复使用的“ 中间件”,而随着“中间件”的成熟和通用,功能更强大、更能满足企业级客户需求的——软件开发平台应运而生。 [1]
平台是一段时间内科研成果的汇聚,也是阶段性平台期的标志,为行业进入新的研发领域提供了基础。由于平台对 企业核心竞争力的提升非常明显,目前国内的管理 软件市场,软件开发平台的应用已经成为一种趋势。
由于 开发环境、开发人员、 功能定位、行业背景等的不同,不同 品牌的平台存在较大差别。

2开发环境

软件开发环境在欧洲又叫集成式项目支持环境(Integrated Project Support Environment,IPSE)。 软件开发环境的主要组成成分是 软件工具。人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。存储各种 软件工具加工所产生的软件产品或半成品(如 源代码、测试数据和各种文档资料等)的软件 环境数据库是软件开发环境的核心。工具间的联系和相互理解都是通过 存储信息库中的共享数据得以实现的。
软件开发环境数据库是面向软件工作者的知识型信息数据库,其 数据对象是多元化、带有智能性质的。 软件开发数据库用来支撑各种 软件工具,尤其是自动设计工具、 编译程序等的主动或被动的工作。
较初级的SDE数据库一般包含通用子程序库、可重组的程序加工 信息库、模块描述与接口信息库、 软件测试与纠错依据信息库等;较完整的SDE数据库还应包括可行性与需求信息档案、阶段设计详细档案、测试驱动数据库、 软件维护档案等。更进一步的要求是面向 软件规划到实现、维护全过程的自动进行,这要求SDE 数据库系统是具有智能的,其中比较基本的智能结果是 软件编码的自动实现和优化、软件工程项目的多方面不同角度的自我分析与总结。这种智能结果还应主动地被重新改造、学习,以丰富SDE数据库的知识、信息和软件积累。这时候, 软件开发环境软件工程人员的恰当的外部控制或帮助下逐步向高度智能与自动化迈进。
软件实现的根据是计算机语言。时至今日, 计算机语言发展为 算法语言数据库语言、智能模拟语言等多种门类,在几十种重要的算法语言中,C&C++语言日益成为广大 计算机软件工作人员的亲密伙伴,这不仅因为它功能强大、构造灵活,更在于它提供了高度结构化的语法、简单而统一的软件构造方式,使得以它为主构造的SDE数据库的基础成分——子程序库的设计与建设显得异常的方便。

3开发语言

常见的软件开发语言: JAVA、C/C++/php/JSP/ASP/POWERBUILDER/DELPHI/.NET/C#/vb/等。
与应用最关键的需要用到数据库,常见 数据库:MySQL/SQLSERVER/ORACLE等。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值