JAVA软件的可维护性改进方案

原创 2003年06月09日 07:37:00

摘要:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

              本文介绍通过导入JTracker.rem改进java软件的可维护性的解决方案

背景:

              软件的生命周期中需求提取,系统分析,系统设计,实现设计,开发,测试,部署,维护。软件在完成测试阶段后,提交给用户的成品一般包括规整的可执行代码及相应的注释。但测试阶段完成并不代表着软件当中的bug已完全清除干净,实际上也不可能完全清除。这些bug在软件的维护阶段出现时,维护人员如何快速的定位问题的所在,本文将介绍通过在开发阶段导入JTracker.rem,来改进软件本身的可维护性,降低软件的维护成本,提高维护质量。

正文:

JTracker

              JTracker是一致力于java软件的开发模式改进的研发项目

              JTracker.remJTracker项目中致力于java软件可维护性改进的部分

JTracker.rem

件的开发阶

件的开发阶段加代释时将需要在维护应对时出的调试信息以JTracker.rem所要求的方式写。注内容可以为设计书对应的内容

比如我设计书中有如下

·         1.1 初始化全局

·         ...

·         2.1.1 count加1

·         ...

·         2.2.2 出网内容

·         ...

·         2.3

当我希望在对应时输1.1, 2.1.1 2.2.2信息,我可以按JTracker.rem的范在源代中写相的注

package testservlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class sample extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=gb2312";
static int count=0;
/*<<1.1初始化全局
>>*/
public void init() throws ServletException {
}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
/*<<2.2.1 count加1>>*/
count++;
out.println("<head><title>sample</title></head>");
out.println("<body>");
out.println("<p>The servlet has received a GET. This is the reply.</p>");
out.println("</body></html>");
/*<<2.2.2
出网内容>>*/
}
/**
*/
public void destroy() {
}
}

件的维护阶

           件在维护阶段出bug,需要应对。我可以将对应调试器运行于调试模式(JVM运行于调试模式)这时可以通JTracker接到机,得我开发时加入的JTracker.rem调试信息,于上面的例子果如下

==============className:testservlet.sample*lineNo:11 ==============
1.1 初始化全局
1.1
=====================================================================
==============className:testservlet.sample*lineNo:21 ==============
2.2.1 count加1
=====================================================================
==============className:testservlet.sample*lineNo:27 ==============
2.2.2
出网内容
=====================================================================

过这些信息结合设计书可以帮助维护了解程序实际逻辑快速定位bug可能出的位置。

JTracker.rem 能给我们带来什么

通过导入JTracker.rem我们不需要在代码中引入额外的调试代码,在不影响代码的整洁性的同时,又留下了大量我们可能在维护时需要的调试信息,并且这些信息只有运行在调试状态才出现,并不会影响代码的运行效率。

在维护阶段我们可以通过这些信息可以帮助开发者了解程序的实际运行流程,定位可能出现问题的位置,增强java软件的可维护性

相关术语

调试模式:指该程序所在的JVM运行于调试模式,请参照sun公司有关java虚拟机的相关文档

相关资料

JTracker.rem :  http://www.jtracker.net

软件的可维护性与可复用性

我们常说一个好的系统设计在于其有较高的可维护性和较高的可复用性。其实可维护性与可复用性是两个独立的目标,并不总是方向一致。         软件的维护就是软件的再生。一个好的软件设计,必须能够允许新的...
  • zsh2050
  • zsh2050
  • 2015年01月10日 16:01
  • 1171

如何编写无法维护的代码(现实中有的程序员就是这么干的)

让自己稳拿铁饭碗 ;-) – Roedy Green(翻译版略有删节) http://blog.jobbole.com/80241/ 简介 永远不要(把自己遇到的问题)归因于(他人的)恶意,这...
  • huangkangying
  • huangkangying
  • 2014年11月27日 20:36
  • 18412

软件的可维护性问题知识与分析

前言        很多包括自己在内的开发人员都会经常去借用(我们不用剽窃这个词了!呵呵)开源代码进行二次开发;或者在前辈的遗留代码下,继续修修补补。这种经历往往并不像看起来那么简单——有时看懂,进...
  • huwei2003
  • huwei2003
  • 2014年08月22日 16:28
  • 4082

如何提高软件可维护性

软件工程中把软件开发大概分了六步:可行性分析、需求分析、设计、编码、测试、运行与维护,在这几大部分中,维护占有重要地位,一般我们不想把大分分精力、财力花费在维护上,这就需要我们提高软件的可维护性。...
  • lilongsheng1125
  • lilongsheng1125
  • 2011年09月30日 20:20
  • 3214

软件的可维护性与可复用性

我们常说一个好的系统设计在于其有较高的可维护性和较高的可复用性。其实可维护性与可复用性是两个独立的目标,并不总是方向一致。         软件的维护就是软件的再生。一个好的软件设计,必须能够允许新的...
  • zsh2050
  • zsh2050
  • 2015年01月10日 16:01
  • 1171

计算机软件可靠性和可维护性管理GB.docx

  • 2012年07月27日 16:04
  • 14KB
  • 下载

GBT 14394-1993 计算机软件可靠性和可维护性管理

  • 2009年06月11日 22:14
  • 244KB
  • 下载

GBT 14394计算机软件可靠性和可维护性管理.pdf

  • 2012年03月13日 15:27
  • 323KB
  • 下载

计算机软件可靠性和可维护性管理

  • 2012年03月23日 19:18
  • 1.11MB
  • 下载

软件可维护性探讨

  • 2013年08月22日 15:10
  • 1.49MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA软件的可维护性改进方案
举报原因:
原因补充:

(最多只允许输入30个字)