软件开发的内容是:需求、设计、编程和测试!
需求:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据......为了清楚地知道这些需求,你经常要和客户、项目经理等交流。
设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。
编程:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。
测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。
软件开发中,客户和开发人员都有自己的基本权利和义务。
客户:
定义每个用户需求的商业优先级;
制订总体计划,包括用多少投资、经过多长时间、达到什么目的;
在项目开发过程中的每个工作周,都能让投资获得最大的收益;
通过重复运行你所指定的功能测试,准确地掌握项目进展情况;
能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划;
能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。
开发人员:
知道要做什么,以及要优先做什么;
工作有效率;
有问题或困难时,能得到客户、同事、上级的回答或帮助;
对工作做评估,并根据周围情况的变化及时重新评估;
积极承担工作,而不是消极接受分配;
一周40小时工作制,不加班。
软件开发过程可以包括以下6个阶段:
计划
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计。制订完成开发任务的实施计划。
分析
软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。
维护
维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。
在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
分享到:
相关推荐
软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源...
软件工程课后习题答案 软件工程 软件工程 软件工程
软件工程PDF课件 01_SEIntro软件工程概述.pdf 软件工程PDF课件 02_Process软件过程.pdf 软件工程PDF课件 03_Management软件项目管理.pdf 软件工程PDF课件 04_Requirement需求工程.pdf 软件工程PDF课件 05_OOIntro...
JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码...
作者编著的枟软件工程导论枠被国内许多高校选作软件工程课的教材,累计销售约70 万册。为配合 读者学习软件工程,作者又精心编写了这本学习辅导书。 本书正文共10 章,每章由三部分内容组成:第一部分系统扼要地...
《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介 第一章 面向对象软件工程的范畴 第二章 ...
1、软件工程实习报告-8000字.doc 2、软件工程实习手册-7000字-日志+总结.doc 3、软件工程实习周记-11周-4500字.doc 4、软件工程实训总结-5300字.docx 5、软件工程专业实习报告-精选.docx 6、软件技术实习报告10篇....
2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业)....
(1) 上网查询浏览有关软件工程环境网站,了解有关软件工程环境的定义、配置、功能和用途; (2) 下载有关软件工程标准,如国际ISO9000-3、国家GB8567-1988、2006和行业标准等,重点阅读软件分析阶段的文档编写...
第1篇面向过程的软件工程 第1章软件危机、 软件工程 11软件工程的发展史 111程序设计时代 112程序系统时代 113软件工程时代 12软件危机主要表现形式 13产生软件危机的原因及解决途径 131产生软件...
实验1 软件工程CASE工具 1.实验目的与要求 (1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基 本原理。 (2)理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类等。 (3)...
本次软件工程实验,我选择的是图书管理系统,数据库采用SQL Server软件,界面实现部分我采用的是Visual Studio C#编写,文件中包含数据库文件、界面实现的代码、实验中各部分的数据流图以及架构图,实验报告和各部分...
中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx...
大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf...
本标准由中国软件行业协会制定,目的是规范软件工程定额估算的过程,为用户单位、财政审批部门、软件开发商估算软件工程项目的工作量、价格和工期等提供科学、统一、快捷的方法和实用工具。 本标准的主要用途如下: ...
软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程软件工程
武汉理工大学软件工程基础实验第五次实验报告.docx武汉理工大学软件工程基础实验第五次实验报告.docx武汉理工大学软件工程基础实验第五次实验报告.docx武汉理工大学软件工程基础实验第五次实验报告.docx武汉理工大学...
1. 软件工程学的概述: 为了更有效的开发与维护软件,软件工作者在20世纪60年 代后期 开始认为研究消除软件危机的途径,从而组 建形成了一门新兴的工程学科——计算机软 件工程学。 2. 软件危机的介绍: 软件危机是...
大连理工大学2021年春季《软件工程》课程大作业.pdf大连理工大学2021年春季《软件工程》课程大作业.pdf大连理工大学2021年春季《软件工程》课程大作业.pdf大连理工大学2021年春季《软件工程》课程大作业.pdf大连理工...
ISO软件工程模板(1)可行性研究报告 ISO软件工程模板(2)项目开发计划 ISO软件工程模板(3)数据要求说明书 ISO软件工程模板(4)需求说明书 ISO软件工程模板(5)用户手册 ISO软件工程模板(6)概要设计说明书 ISO软件工程...