引言
计算机软件尤其是数据库软件,成为了当代计算机应用的主流。因此软件开发人员就必须掌握正确的开发手段,了解软件开发的主要过程,这样心中对软件项目才有清醒的认识,才能达到事半功倍的效果。本文就软件开发过程中的一些方法,结合本人开发过的一些软件项目做一些详细论述。
1 开发前的准备工作
一般软件项目在开发前都有系统任务书,主要规定软件的开发目标、主要任务、功能、性能指标及研制人员和经费、进度等安排,作为系统设计开发和检验的基本依据。
系统任务书的基本框架如下:
(1)引言
包括编写目的,背景,参考资料。
(2)系统的目标及任务
包括系统建设目标,系统的主要任务,系统性能指标,系统标准化要求。
(3)系统的结构及功能
包括系统应用组成及结构,系统主要功能。
(4)系统的规模及进度要求
包括系统规模,系统研制进度,人员计划。
但是系统任务书只是这个软件项目的一个基本要求,针对具体情况,软件开发人员和需求分析人员就要联合对软件项目的细节进行具体分析,必要时还要进行实地调研,然后共同商讨写出系统的需求分析,需求分析的编写目的在于:
a. 说明系统在军事方面、技术方面、经济方面和社会条件方面实现的可行性和必要性;
b. 分析原系统(工作环境)现状,描述待开发系统的详细需求,提供用户和开发人员之间沟通的基础,提供项目设计的基本信息。
需求分析报告的基本框架如下:
(1) 概述
包括 编写目的,背景,参考资料,术语及缩写词。
(2) 对现有系统的分析
(3)待开发系统的详细需求
包括 功能需求,使用范围,业务流程,用户界面,输出要求,故障处理。
(4)使用环境
包括 网络环境,硬件环境,软件环境,与其他系统的关系,安全与保密。
(5) 可行性分析
包括 技术可行性分析,经济可行性分析,人员可行性分析,影响待开发系统的主要因素。
(6)结论意见
2 软件开发过程
有了系统任务书和需求分析报告,软件设计人员就要对软件项目的实现进行系统分析,系统分析包括系统的总体方案,系统的设计说明,作为软件设计的依据。具体说明如下。
2.1 系统总体方案
在系统开发单位和用户充分交互、理解的基础上,提出系统的技术构架,对系统功能、性能等主要指标作描述,对实现方法和要求作规定,是系统进行详细设计的依据。
系统总体方案基本框架包括:
(1)引言
包括 :编写目的,背景,参考资料,术语及定义。
(2)项目概述
包括 :
--项目的主要内容
--系统需求分析:①用户需求调查分析②现行系统的现状调查分析。
--系统功能:①系统的功能要求②系统主要技术性能。
--系统的数据要求:①基础数据②业务数据③交换数据④其它数据。
--系统的设计要求:①技术结构要求②系统划分及其接口要求③系统运行环境要求④系统标准化综合要求。
(3)实施总计划
包括 :进度,预算,问题和措施。
2.2 系统设计说明
根据《系统总体方案》提出的系统构架、功能、性能及数据要求,确定系统的物理结构,说明系统主要技术方面的设计和采用的技术方法以及系统的标准化约束等,是系统实施的基本依据。就本人曾经开发过的一个软件项目,说明其基本框架:
(1) 引言
包括 :编写目的;背景;条件和限制;参考资料;术语及定义。
(2) 系统总体技术方案
包括:
--概述:①系统目标②基本要求。
--系统设计:
①系统结构
a、 应用结构。
b、 功能结构。
c、 技术结构。
② 系统功能设计:根据以上的分析,功能设计自然
包括业务管理功能设计、综合查询功能设计、邮件收发功能设计、数据库接口设计、文电接口设计。在对这些功能进行综合分析的基础上,开始进行数据库表的设计。在对表的设计过程中,既要考虑到关系数据库冗余字段的处理,又要考虑到系统运行的速度和实现的方便性等综合因素,笔者在实际开发后认为这两种考虑比例可以为7:3。
③ 系统安全设计:可以考虑以下一些安全设计思想,例如系统的数据传输通过电子邮件实现,要求电子邮件内部只传代码,不传涉密数据;系统的数据库操作需要充分利用Oracle数据库的事务提交和回滚机制,确保业务处理的完整性和一致性;系统的数据结构应充分利用存储空间,在不同的用户之间通过数据冗余提高整个系统的数据安全性;系统中存贮的用户口令、备份口令、数据库连接信息等重要数据,必需经过安全加密。
④ Oracle数据库自动优化设计:对于Oracle数据库可以进行数据库配置,可以大大提高大数据量查询速度,笔者已经做过尝试,并已经成功应用。
⑤ 友好界面设计:对于一个良好的应用系统当然需要设计良好的使用界面。
2.3 软件开发
对于开发语言的选择因人而易,开发数据库系统我比较倾向于DELPHI,因为它对于数据库开发的支持是很完善的。在软件实现方面,上面已经说明了一种客户/服务器结构,但是这种结构本身也包含了一些问题,例如客户/服务器结构经常把应用系统的企业逻辑编写在客户端的应用程序中,因此当应用系统需要改变时,所有在客户端的应用系统都必须改变,这对于MIS系统的维护来说成本太高了;为了解决这些重复开发应用系统的成本以及为了增加应用系统的重复使用性发挥面向对象分析/面向对象设计的功能,就必须导入所谓的应用程序服务器,软件开发人员以一种特定的组件形式,例如Microsoft的COM/DCOM,CORBA对象,或是Enterprise Java Bean等,组装企业的逻辑程序代码。这种经过组装,能够执行特定企业功能的对象便称为"企业对象",然后把这些企业对象分发到此应用程序服务器。由于本文不是专门讨论多层系统的文章,所以只是简单提一下,不再赘述。
程序设计中要注意合理的程序设计结构,可以将所有的公用组件放在一起。例如Delphi语言中可以新建一个单元,将所有编写的函数放在这个单元里,其他单元均可以调用,还可以新建一个数据模块(Datamodule),将所有的公共数据库控件放在这里,可以减少系统资源浪费,优化数据库程序设计。
关于程序设计中的技巧很多,这里也不再赘述。
3 软件开发后的工作
软件项目在开发完成后还要进行系统测试,以测试开发出的软件的功能和性能是否达到预定要求。
3.1 软件测试大纲
这是软件设计人员用来自测系统的。包括:
(1)测试环境①硬件环境②软件环境③数据环境④网络环境。
(2)功能测试内容①模拟现场测试②应用现场测试。
(3)性能测试内容
另有附表:附表一 系统功能测试表;附表二 系统性能测试表。
3.2 用户应用测试
由用户在实际使用过程中进行测试,并给出应用证明。
4、总结
开发软件项目是一个庞大的系统工程,以上只是介绍了一般性软件主要是数据库软件的开发过程和设计思想,它要求软件开发者对此要有精深的理解,熟悉软件开发的思路。
通常一个人难以完成所有工作,需要一个良好的合作团队来协作完成,其中需求分析员和系统分析员要提供软件项目的具体要求和设计思想,由软件开发组把这些要求创建出便于维护和可持续开发的系统资源。
分享到:
相关推荐
【软件项目开发过程与思想】 软件项目开发是一个复杂的过程,涉及多个阶段,旨在确保软件产品的质量和满足用户需求。本文将详细阐述软件开发的关键步骤,包括开发前的准备工作、需求分析、系统设计和软件开发。 ...
在软件开发过程中,思想与流程是决定项目成功与否的关键因素。本文将深入探讨软件开发的思想、技巧以及标准的工作流程,并结合具体的资料管理策略,为读者提供一个全面的视角。 首先,软件开发思想主要包括理解客户...
"软件工程开发项目开发流程" 软件工程开发项目的开发流程是一个复杂的过程,它涉及到多个阶段和步骤。在本文中,我们将总结出项目开发的一般流程,并对每个阶段进行详细的说明。 一、系统开发的一般流程 系统开发...
在软件项目开发中,流程和思想的正确把握是至关重要的。软件开发不仅仅是编写代码,而是一系列有序步骤的集合,确保软件能够满足用户需求并高效运行。本文将深入探讨软件项目开发的关键环节,以帮助开发人员更好地...
### 软件工程在项目开发中的思想 #### 软件工程概述 软件工程作为一门学科,旨在解决软件开发过程中遇到的各种问题,包括但不限于质量问题、进度管理、成本控制等。自1968年首次提出以来,软件工程经历了从理论到...
在软件项目开发中,了解并遵循正确的流程与思想至关重要,因为这将直接影响到软件的质量、效率和维护性。本文将详细探讨软件开发的关键步骤,包括开发前的准备工作、需求分析、系统设计以及软件开发。 首先,开发前...
该书不仅是一本技术指南,更是一部充满个人感悟与经验分享的心血之作,旨在引领读者理解软件工程的核心思想,以及如何将其应用到实际的软件开发过程中。 ### 软件工程的重要性 软件工程作为一种工程学科,其目标是...
敏捷项目管理是软件开发领域的一种指导思想,旨在应对快速变化的需求和提高开发效率。它强调以工作的软件作为项目进展的主要衡量标准,推崇稳定的开发节奏,并鼓励团队成员、开发者和用户之间的紧密合作。敏捷方法的...
《软件工程思想》是林锐撰写的一本关于软件开发过程的经典著作,该书深入浅出地探讨了软件工程的核心理念和实践方法。软件工程是一门综合性的学科,它结合了计算机科学、工程学、管理学等多个领域的知识,旨在提高...
C#软件项目开发全程剖析——全面透视SharpDevelop软件...本书非常适合那些有一定编程经验并想全面掌握软件项目开发过程以及相关技术的中高级C#开发人员。也可以作为各高等院校和软件学院在软件开发项目方面的参考书目。
项目管理是软件开发过程中至关重要的一步骤,包括项目计划、质量管理、可行性分析、需求分析、系统设计、测试与改错、维护与再生工程等多个方面。软件工程是一门学科,讲述软件开发的道理,基本上是软件实践者的成功...
### 软件工程思想与软件开发的关键知识点 #### 一、软件工程的基本概念与重要性 《软件工程思想》这本书讲述了软件开发的核心理念以及如何成为一名优秀的程序员。它强调了软件工程的重要性,尤其是在解决“软件...
"软件工程开发设计思想"这一主题深入探讨了如何系统化、规范化的进行软件项目的设计与开发,以确保项目的高效、稳定和可维护性。以下是这个主题中涵盖的一些关键知识点: 1. **需求分析**:这是软件开发的第一步,...