码迷,mamicode.com
首页 > 其他好文 > 详细

mantis架构分析

时间:2016-04-09 23:21:18      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:

(一)Mantis介绍

  Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上、实用性上足以满足中小型项目的管理及跟踪。同时,基于Java的小型MVC Web框架的技术

技术分享

上图便是mantis的整体生命周期图。在测试期间,测试人员将发现的Bug 提交到缺陷跟踪系统,该系统至少应包含:

  • 失败描述:摘要、重建步骤、隔离信息;
  • 识别信息:顺序的ID号、报告作者、报告归档日期。

一个好的系统还需要:

  • 严重性等级,以评估在测试条件下,错误在系统中的绝对影响;
  • 优先级,评估顾客实际使用中发生事件的可能性,或对目标顾客的后续影响;
  • 环境:系统软、硬件配置,测试版本号;
  • 附件,错误信息或屏幕截图。

提交之后,Bug为"Submitted"状态,变更控制委员会(Change Control Board,视项目规模组织,可以是不同角色的几个人组成或一个人担当)评审决定:

  • 是Bug,分配给相关开发人员修复,状态为"Assigned";
  • 不是Bug或其他原因,关闭,状态为"Closed",解决方式(Resolution)根据实际情况选择;
  • 是Bug,但延迟到下一个版本修复,状态为"Postponed"。

开发人员将Bug修复后,其状态改为"Resolved",他们应发布到下一个测试版本(Test Build)中,测试人员测试所有"Resolved" Bug,没有问题应关闭("Closed"状态),未修复则要重新打开("Opened"状态)。

对于用户提交的Bug,有些系统会增加"Confirmed"的状态,表示经测试Bug确实存在。

对其他变更(如需求改变或新增),以上流程同样适用,但可能需要多次分配(assign),如需求变更,业务分析员要更新需求文档,系统分析员要更新设计文档,然后程序员改代码。

 (二)MVC框架

  MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

  它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

  视图

  视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
  MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
 

  模型

  模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。[6] 
 

  控制器

  控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
技术分享
(三)apache
    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中
    apache较同类服务器优势如下

  1.支持最新的HTTP/1.1通信协议

  2.拥有简单而强有力的基于文件的配置过程

  3.支持通用网关接口

  4.支持基于IP和基于域名的虚拟主机

  5.支持多种方式的HTTP认证

  6.集成Perl处理模块

  7.集成代理服务器模块

  8.支持实时监视服务器状态和定制服务器日志

  9.支持服务器端包含指令(SSI)

  10.支持安全Socket层(SSL)

  11.提供用户会话过程的跟踪

  12.支持FastCGI

  13.通过第三方模块可以支持JavaServlets

(四)php
  PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言语法吸收了C语言JavaPerl的特点,利于学习,使用广泛,主要适用于Web开发领域
  使用php的优势有如下几点:  

  (1)开放源代码

    所有的PHP源代码事实上都可以得到。

  (2)免费性

    和其它技术相比,PHP本身免费且是开源代码。

  (3)快捷性

    程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。
 

  (4)跨平台性强

    由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS、Android等平台
 

  (5)效率高

    PHP消耗相当少的系统资源。
 

  (6)图像理

    用PHP动态创建图像,PHP图像处理默认使用GD2。且也可以配置为使用image magick进行图像处理。
 

  (7)面向对象

    在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。
(五)MySQL  
  MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
  MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL
作为网站数据库。
  与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQ L是开放源码软件,因此可以大大降低总体拥有成本。
  Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合

mantis架构分析

标签:

原文地址:http://www.cnblogs.com/lhang555/p/5372769.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!