软件构造常用技术

软件构造常用技术:

1.软件复用

软件复用是指在构造新的软件系统的过程中,对已存在的软件产品(设计结构、源代码、文档等)重复使用的技术

软件复用有三个层次:知识的复用、方法的复用和软件成分的复用,前两个属于知识工程的范畴,这里只讨论软件成分的复用。软件成分的复用包括

  (1)代码的复用,可以采用源代码剪贴、源代码包含和继承来实现。

  (2)设计结果的复用,是指复用某个软件系统的设计模型,适用于软件系统的移植。

  (3)分析结果的复用,是指复用某个软件系统的分析模型,适用于用户需求未改变,而系统体系结构变化的场合。

软件复用的意义是降低软件开发和维护的成本,提高软件开发效率,提高软件的质量。

2.类的设计与使用

  类是封装对象属性和行为的载体,在JAVA中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。类的设计与使用,另JAVA的编程更加简单,易于理解与操作。

3.抽象数据类型

抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

4.错误处理

  设置了具体的异常类,可以更加清晰地看出程序所发生地错误。在程序中可以捕获异常,另程序正常退出或者忽略错误继续执行。

5.分布式程序构造

  分布式应用程序利用多台机器的资源及许多进程的空间,把应用程序分成更易管理的任务组,这些任务组能在各种不同的结构下进行部署。把应用程序分成很多组有许多好处,最直接的就是可以重复使、扩充和管理。

1、两层应用程序(客户端/服务端)

    先举例简单描述一下两层的客户端/服务器结构。典型的结构是一个客户端的用户PC机(前端)和一个包含数据库的网络服务器(后端),逻辑上根据两者的物理位置划分。通常客户端包含大部分业务逻辑,随着数据库及存储过程的发展,SQL语言允许业务逻辑在数据库服务器中存储并执行。

2、三层和N层应用程序

   由于两层应用程序即客户端/服务器端结构的功能限制,分布式应用程序通常分为三层或者更多层。每层的组件都执行一个特定类型的处理,但目前最常用的是三层应用程序结构。在三层应用程序中,包含一个用户服务层(表现层),一个业务服务层和一个数据服务层。三层结构和传统的二层客户端/服务器结构的主要区别就是在三层体系内,业务逻辑层从用户界面和数据源中分离出来。把应用程序划分成独立的层或部分能减小整个应用程序的复杂性,并且使应用程序能够更好的扩展,跟得上企业发展的需要。

6.单元测试:

  单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

7.重构

   程序员对已有程序在尽量不改变接口的前提下,进行重新编写代码的工作,一般有以下几方面:

(1). 去除已知bug。

(2). 提高程序运行效率。

(3). 增加新的功能。

通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

8.极限编程

极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

猜你喜欢

转载自www.cnblogs.com/userrrr/p/9191913.html