400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

敏捷开发技术-创新互联

敏捷开发是一种以人为核心、迭代、循序渐进的开发方式。在Spring框架的发展历程中,处处彰显敏捷开发思想的身影。我们可以从Spring中提出的“约定优于配置”的思想,实现业务Bean零配置及按需加载、敏捷单元测试和模块化管理机制等。学习怎样运用敏捷开发思想,有助于提高应用开发效率和编写易于测试的代码。因此要成为一名出色的软件开发工程师,学习敏捷开发相关思想是非常有必要的。

创新互联服务项目包括厦门网站建设、厦门网站制作、厦门网页制作以及厦门网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,厦门网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到厦门省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

    1、敏捷开发概述

        敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切成多个子项目,各个子项目的成果都是经过测试,具备集成和可运行性。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的子项目,并分别完成,在此软件过程中软件一直处于可使用状态。

        1.1、敏捷开发原则

        1.2、敏捷开发过程

        1.3、敏捷开发方法Scrum

            Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干小的迭代周期,每个小的迭代周期成为Spint,每个Sprint的建议长度为2~4周。

        1.4、测试驱动开发TDD实例

//为了便于测试,这里写一个测试基类
package com.smart.web;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter;
import org.testng.annotations.BeforeClass;
import org.unitils.UnitilsTestNG;
import org.unitils.spring.annotation.SpringApplicationContext;
import org.unitils.spring.annotation.SpringBeanByType;
@SpringApplicationContext( { "classpath:applicationContext.xml" })
public class BaseWebTest extends UnitilsTestNG {
 
 @SpringBeanByType
 public AnnotationMethodHandlerAdapter handlerAdapter;

 //声明Request与Response模拟对象
 public MockHttpServletRequest request;
 public MockHttpServletResponse response;
 public MockHttpSession session;

 //执行测试前先初始模拟对象
 @BeforeClass
 public void before() {
  request = new MockHttpServletRequest();
  response = new MockHttpServletResponse();
        request.setAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING, true);
        request.setCharacterEncoding("UTF-8");
 }
}


package com.smart.web;
import org.springframework.web.servlet.ModelAndView;
import org.testng.annotations.Test;
import org.unitils.spring.annotation.SpringBeanByType;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;

public class AddUserViewTest extends BaseWebTest {
    //注入用户管理控制器
    @SpringBeanByType
    private UserManageController controller;

    @Test
    public void addUserView() throws Exception {
        //设置请求URI及方法
        request.setRequestURI("/admin/user/add");
        request.setMethod("GET");
        //验证结果
        ModelAndView mav = handlerAdapter.handle(request, response, controller);
        assertNotNull(mav);
        assertEquals(mav.getViewName(), "/addUser");
    }
}

package com.smart.web;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
@RequestMapping("/admin/user")
public class UserManageController {
    @RequestMapping("/add")
    public String  addUser() {
        return "/addUser";
    }
    @RequestMapping("/save")
    public String saveUser(HttpServletRequest request) {
          String userName = request.getParameter("userName");
          String password = request.getParameter("password");
        if(StringUtils.isEmpty(userName)||StringUtils.isEmpty(password)){
            request.setAttribute("errorMsg", "用户或密码不能为空!");
            return "/addUser";
        }else{
            return "/success";
        }
    }
}

如果assert出现红色的,说明测试驱动开发未成功,继续微调,直到assert全部为绿色的,说明测试驱动开发实例完成。感兴趣的童鞋可以继续测试一下Service和Dao层。

 2、版本控制器GIT

    2.1、版本控制器的意义

        实现开发团队并行并发、提高开发效率的基础。其目的在于对软件开发进程中文件或目录的发展提供有效的追踪手段,保证在需要时课回到旧版本,避免文件的丢失、修改的丢和和相互覆盖,通过对版本库的访问控制避免未授权的访问和修改,达到有效保护企业软件资产和只是产权的目的。

    2.2、SVN

    2.3、GIT

        与常用的CVS、SVN等不同,GIT采用了分布式版本的方式,不必服务器端软件支持,使源码的发布和交流极其方便。每个GIT克隆都是一个完整的文件库,含有全部历史记录和修订追踪能力。大特色是“分支”及“合并”操作快速、简便。支持离线工作,GIT是整个项目访问的原子提交。

3、代码构建利器Maven

    maven是一个强大的构建工具,能够帮助用户建立一套有效的自动化构建体系。从清理、编译、测试到生成报告,再到打包和部署。用户不再需要一遍又一遍得输入命令,只需要利用简单的命令(mvn clean、install等)就可以完成构建任务。

    maven的生命周期,基本上包括:项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等步骤。maven项目周期是一个抽象概念,这意味着它不做任何实质性的事情,也就是说它的实现细节交给maven的各种强大插件完成。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:敏捷开发技术-创新互联
URL分享:http://mzwzsj.com/article/dcihjs.html

其他资讯

让你的专属顾问为你服务