精华内容
下载资源
问答
  • 思想、思维、技术、做事方法有很大一个考验 面临的问题 问题一:版本开发质量差 问题二:测试人员发现问题,总是只看其表不看其里 一个版本开发首次提测 质量很差,测试人员提很多的bug,依然还是没解决问题根本,...

    对象引言

    面向对象:0-2年软件测试工程师

    今天论述的这个问题,其实在很多中小企业项目团队常见之

    特别还是今天的这个敏捷开发时期,版本快速迭代中,一个月一个版 ,甚至2周1周一个版

    这种迭代方式对于刚入测试行业的测试人员来说,从思想、思维、技术、做事方法有很大一个考验

    面临的问题

    问题一:版本开发质量差

    问题二:测试人员发现问题,总是只看其表不看其里

    一个版本开发首次提测 质量很差,测试人员提很多的bug,依然还是没解决问题根本,导致项目不断的发版,一天六七次 四五次 ,问题依然很多。

    就聊聊 防范此问题出现我们可以从哪几个角度去避免该问题

    # 问题一:版本开发质量差

    相信很多同学会想到让开发做单元测试、冒烟测试,进行自测,那么开发测试了压根不知道。版本提过来发现还是很多问题

    # 测试人员可以做的:

    1.对团队开发试行bug引起人 绩效考核制度 (治根:让开发重视版本质量,严格执行自测)

    2.单元测试执行的测试用例,框架搭建带其邮件报告通知到开发经理、项目经理、研发总监、测试经理(要求其技术团队研发技术较高)

    3.提测版本经过开发自测后,测试人员首轮测试,执行冒烟测试用例,不通过打回(不需要执行大范围的测试)

    4.限制每天发版的次数。比如一天2次,代码构建发版权限将开发收回,由测试人员掌控。

    # 问题二:测试人员发现问题,总是只看其表不看其里

    这点体现出我们测试人员的技术层次,发现问题总是没找到真正的原因,就给开发新增bug+1

    并且提bug 一个模块相关联的bug  同类型的bug 提多个,还有为进行关联,导致开发改问题,耗费时间成本太大

    # 测试人员可以做的:

    1.提bug,不要只发现问题,我们测试人员要学会定位问题,不会就要学习定位

    例如:一个报表数据展示,发现数据与需求不对,与开发沟通一下开发的实现逻辑;这个数据是由后端传回来的,还是前端直接写死的,是不是做了什么处理方式;弄清楚其原理;在分析问题根本;同事进行查看请求的返回值,以及查看日志。

    这里要强调的是:弄清楚bug是前后端谁引起的,直接指派给相关人,这点很体现测试技术的专业度,也很受开发欣赏;因为你为他节约了他的时间成本,问题从创建到解决,流程很迅速。

    2.同类型的bug;例如测试一个模块,有几个相同的请求,只不过类型不同,你每个类型给开发提一个bug;开发此时心里绝对会骂你,这测试是不是欠打,会不会提bug,提这么多bug,绩效都扣完了。。。

    同类型 bug 提一个,在问题描述 ,将几个场景描述清楚 ;如果是2个完全不相同的模块,可有将问题单相关联,很多缺陷管理自带的链接问题功能。这也是体现出一个测试人员在项目中做事的方法,专业性。

    推荐一个做事的方法,不仅仅对于测试岗位,其实生活中也很受用, 东西不要远远只看表面,要深入其里,抓其要害,解之

    3W分析是一种优秀的实践方法,即碰到任何问题,不要急于解决它,不要只看表面现象,头痛医头、脚痛医脚,而是要明确真正的问题,找出根本原因,这样才能彻底地解决问题。不要急于提一个bug,丢失了自己的专业度。

    3W分析其实就是回答下面三个问题:

    ·What is the problem?(真正的问题是什么?)

    ·What is the root cause?(根本原因是什么?)

    ·What is the solution?(解决方案是什么?)

    大家好我是你们的小编:石可乐

    专注软件测试行业前景分析、测试思想、管理领域分享;划水之余带领1W+测试开发攻读功能、接口自动化测试、Python好文,

    希望在有空之余,给大家多分享点个人经验。觉得有用分享之,打赏之,让我看到生活的希望以及写作的动力,最后发布一个消息,最近创建了一个针对软件测试工程师在工作中提问以及面试少简历不会做的圈子,点击阅读原文可以查看详情。欢迎加入学习。


    题图:日常经验总结

    展开全文
  • 这是一款关于成功应用ERP的基本思想与方法,日常工作生活中可用于学习、参考、借鉴,喜欢成功应用ERP的基...该文档为成功应用ERP的基本思想与方法,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • scrum方法与思想

    2010-05-30 22:40:05
    scrum方法 sprint会议:将需求、任务细分blacklog,估时 每日早会、任务墙(查看每日工作、燃尽图burn down char监控项目进度) 真实的任务墙 开发自己管理任务、团队对目标负责。结合xp的测...

    scrum/xp敏捷项目管理已在全球各大公司使用。作为一个小项目团队,希望使用scrum/xp帮助项目管理,帮助团队建设,帮助人员成长。

    scrum方法

    1. sprint会议:将需求、任务细分blacklog,估时
    2. 每日早会、任务墙(查看每日工作、燃尽图burn down char监控项目进度)
    3. 真实的任务墙
    4. 开发自己管理任务、团队对目标负责。结合xp的测试驱动、持续集成、代码检查、代码重构优化。
    5. sprint回顾(完成的功能)、总结(估时是否正确)

     

    为何要scrum项目管理

    普遍员工对项目管理冷漠,认为无关己任。
    请员工回答,作为公司一名优秀员工,你使用了哪些项目管理?
    请员工回答,作为公司一名优秀员工,如果项目由你负责,你将使用哪些项目管理?

    在团队中、项目中积极实施项目管理,是增长每个员工专业技能的方法之一,能帮助个人的职业发展。所以,员工应积极参与项目管理实施工作。
    大部分员工都在工作中没有关心项目管理,并没有积极参与项目,处于被动安排状态,项目进度主要有项目负责人监控。

    scrum项目管理是众多软件开发管理者不断优化得出的项目管理方法。
    与传统的项目经理对项目进度风险控制、项目经理安排任务对比,scrum的全体成员对任务工作量评估,每日早会,任务认领,能发挥员工的工作主动性、参与性,并通过燃尽图(burn down char)及时监控项目,从而保证项目质量。

    scrum思想

    团队成员自我管理:scrum的目标是员工自主的完全参与项目进行中各个环节,任务时间估算、任务自我安排、任务质量保证、任务进度监控。

    展开全文
  • 支付方案1:网站直接银行对接 此种模式下,网站需要针对不同的银行开发不同的支付程序,编程工作量很大,并且银行接入规范一旦发生变动,网站程序也要跟着改, 维护工作量极大。 ---------------------...

    支付方案1:网站直接与银行对接

    此种模式下,网站需要针对不同的银行开发不同的支付程序,编程工作量很大,并且银行接入规范一旦发生变动,网站程序也要跟着改,

    维护工作量极大。

    -------------------------------

    支付方案2:通过第三方支付公司与银行对接


    优点:系统只需要与第三方支付公司打交道,第三方支付公司根据用户选择的支付银行,并根据支付银行的接入规范,引导用户与银行对接,从而实现支付。此种方案最大的优点,系统只需要与第三方支付公司交互,开发工作量极低。

    缺点:由于通过第三方支付公司引导用户支付的,所以用户支付的钱会支付给第三方支付公司,网站再与第三方支付公司定期进行资金结算。所以如果金额较大,资金安全是个大问题。并且这种支付模型也会收取一定的手续费,因此此种支付方案只适合月金额在百万以下的公司。


    举例:易宝支付


    如上图所示  主要思想

    1:客户访问网站下单以后发起支付请求

    2:我们自己的网站按照第三方的接口文档封装数据,并且用密钥加密

    3:第三方验证请求以后,引导用户访问银行

    4:用户通过卡号,密码访问银行完成支付

    5:支付完成后,银行引导返回第三方,再返回我们的网站,进行密钥检查,并判断是否支付成功,提示用户。



    通过如上所示的订单,生成的订单号,金额,选择的银行

    //第三方提供的支付工具类

    package com.itheima.util;
    
    import java.io.UnsupportedEncodingException;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;
    import java.util.Arrays;
    
    public class PaymentUtil {
    
    	private static String encodingCharset = "UTF-8";
    	
    	/**
    	 * 生成hmac方法
    	 * 
    	 * @param p0_Cmd 业务类型
    	 * @param p1_MerId 商户编号
    	 * @param p2_Order 商户订单号
    	 * @param p3_Amt 支付金额
    	 * @param p4_Cur 交易币种
    	 * @param p5_Pid 商品名称
    	 * @param p6_Pcat 商品种类
    	 * @param p7_Pdesc 商品描述
    	 * @param p8_Url 商户接收支付成功数据的地址
    	 * @param p9_SAF 送货地址
    	 * @param pa_MP 商户扩展信息
    	 * @param pd_FrpId 银行编码
    	 * @param pr_NeedResponse 应答机制
    	 * @param keyValue 商户密钥
    	 * @return
    	 */
    	public static String buildHmac(String p0_Cmd,String p1_MerId,
    			String p2_Order, String p3_Amt, String p4_Cur,String p5_Pid, String p6_Pcat,
    			String p7_Pdesc,String p8_Url, String p9_SAF,String pa_MP,String pd_FrpId,
    			String pr_NeedResponse,String keyValue) {
    		StringBuilder sValue = new StringBuilder();
    		// 业务类型
    		sValue.append(p0_Cmd);
    		// 商户编号
    		sValue.append(p1_MerId);
    		// 商户订单号
    		sValue.append(p2_Order);
    		// 支付金额
    		sValue.append(p3_Amt);
    		// 交易币种
    		sValue.append(p4_Cur);
    		// 商品名称
    		sValue.append(p5_Pid);
    		// 商品种类
    		sValue.append(p6_Pcat);
    		// 商品描述
    		sValue.append(p7_Pdesc);
    		// 商户接收支付成功数据的地址
    		sValue.append(p8_Url);
    		// 送货地址
    		sValue.append(p9_SAF);
    		// 商户扩展信息
    		sValue.append(pa_MP);
    		// 银行编码
    		sValue.append(pd_FrpId);
    		// 应答机制
    		sValue.append(pr_NeedResponse);
    		
    		return PaymentUtil.hmacSign(sValue.toString(), keyValue);
    	}
    	
    	/**
    	 * 返回校验hmac方法
    	 * 
    	 * @param hmac 支付网关发来的加密验证码
    	 * @param p1_MerId 商户编号
    	 * @param r0_Cmd 业务类型
    	 * @param r1_Code 支付结果
    	 * @param r2_TrxId 易宝支付交易流水号
    	 * @param r3_Amt 支付金额
    	 * @param r4_Cur 交易币种
    	 * @param r5_Pid 商品名称
    	 * @param r6_Order 商户订单号
    	 * @param r7_Uid 易宝支付会员ID
    	 * @param r8_MP 商户扩展信息
    	 * @param r9_BType 交易结果返回类型
    	 * @param keyValue 密钥
    	 * @return
    	 */
    	public static boolean verifyCallback(String hmac, String p1_MerId,
    			String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,
    			String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,
    			String r8_MP, String r9_BType, String keyValue) {
    		StringBuilder sValue = new StringBuilder();
    		// 商户编号
    		sValue.append(p1_MerId);
    		// 业务类型
    		sValue.append(r0_Cmd);
    		// 支付结果
    		sValue.append(r1_Code);
    		// 易宝支付交易流水号
    		sValue.append(r2_TrxId);
    		// 支付金额
    		sValue.append(r3_Amt);
    		// 交易币种
    		sValue.append(r4_Cur);
    		// 商品名称
    		sValue.append(r5_Pid);
    		// 商户订单号
    		sValue.append(r6_Order);
    		// 易宝支付会员ID
    		sValue.append(r7_Uid);
    		// 商户扩展信息
    		sValue.append(r8_MP);
    		// 交易结果返回类型
    		sValue.append(r9_BType);
    		String sNewString = PaymentUtil.hmacSign(sValue.toString(), keyValue);
    		return sNewString.equals(hmac);
    	}
    	
    	/**
    	 * @param aValue
    	 * @param aKey
    	 * @return
    	 */
    	public static String hmacSign(String aValue, String aKey) {
    		byte k_ipad[] = new byte[64];
    		byte k_opad[] = new byte[64];
    		byte keyb[];
    		byte value[];
    		try {
    			keyb = aKey.getBytes(encodingCharset);
    			value = aValue.getBytes(encodingCharset);
    		} catch (UnsupportedEncodingException e) {
    			keyb = aKey.getBytes();
    			value = aValue.getBytes();
    		}
    
    		Arrays.fill(k_ipad, keyb.length, 64, (byte) 54);
    		Arrays.fill(k_opad, keyb.length, 64, (byte) 92);
    		for (int i = 0; i < keyb.length; i++) {
    			k_ipad[i] = (byte) (keyb[i] ^ 0x36);
    			k_opad[i] = (byte) (keyb[i] ^ 0x5c);
    		}
    
    		MessageDigest md = null;
    		try {
    			md = MessageDigest.getInstance("MD5");
    		} catch (NoSuchAlgorithmException e) {
    
    			return null;
    		}
    		md.update(k_ipad);
    		md.update(value);
    		byte dg[] = md.digest();
    		md.reset();
    		md.update(k_opad);
    		md.update(dg, 0, 16);
    		dg = md.digest();
    		return toHex(dg);
    	}
    
    	public static String toHex(byte input[]) {
    		if (input == null)
    			return null;
    		StringBuffer output = new StringBuffer(input.length * 2);
    		for (int i = 0; i < input.length; i++) {
    			int current = input[i] & 0xff;
    			if (current < 16)
    				output.append("0");
    			output.append(Integer.toString(current, 16));
    		}
    
    		return output.toString();
    	}
    
    	/**
    	 * 
    	 * @param args
    	 * @param key
    	 * @return
    	 */
    	public static String getHmac(String[] args, String key) {
    		if (args == null || args.length == 0) {
    			return (null);
    		}
    		StringBuffer str = new StringBuffer();
    		for (int i = 0; i < args.length; i++) {
    			str.append(args[i]);
    		}
    		return (hmacSign(str.toString(), key));
    	}
    
    	/**
    	 * @param aValue
    	 * @return
    	 */
    	public static String digest(String aValue) {
    		aValue = aValue.trim();
    		byte value[];
    		try {
    			value = aValue.getBytes(encodingCharset);
    		} catch (UnsupportedEncodingException e) {
    			value = aValue.getBytes();
    		}
    		MessageDigest md = null;
    		try {
    			md = MessageDigest.getInstance("SHA");
    		} catch (NoSuchAlgorithmException e) {
    			e.printStackTrace();
    			return null;
    		}
    		return toHex(md.digest(value));
    
    	}
    	
    //	public static void main(String[] args) {
    //		System.out.println(hmacSign("AnnulCard1000043252120080620160450.0http://localhost/SZXpro/callback.asp杩?4564868265473632445648682654736324511","8UPp0KE8sq73zVP370vko7C39403rtK1YwX40Td6irH216036H27Eb12792t"));
    //	}
    }
    

    接受客户的支付请求,并按照第三方接口文档封装数据,请求指定的网站


    如图所示通过第三方提供的接口文档,封装请求参数

    package com.itheima.servlet;
    
    import java.io.IOException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.itheima.util.PaymentUtil;
    //组织数据
    public class PayServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		String ordernum = request.getParameter("ordernum");//订单号
    		String money = request.getParameter("money");//金额
    		String pd_FrpId = request.getParameter("pd_FrpId");//银行
    		
    		String p0_Cmd = "Buy";
    		String p1_MerId = "10001126856";
    		String p2_Order = ordernum;
    		String p3_Amt = money;
    		String p4_Cur = "CNY";
    		String p5_Pid = "unknown";
    		String p6_Pcat = "unknown";
    		String p7_Pdesc = "descrition";
    		String p8_Url = "http://localhost:8080"+request.getContextPath()+"/servlet/ResponsePayServlet";//返回的地址
    		String p9_SAF = "1";
    		String pa_MP = "unknown";
    		String pr_NeedResponse="1"; 
    		String hmac = PaymentUtil.buildHmac(p0_Cmd, p1_MerId, p2_Order, p3_Amt, p4_Cur, p5_Pid, p6_Pcat, p7_Pdesc, p8_Url, p9_SAF, pa_MP, pd_FrpId, pr_NeedResponse, "69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl");
    		
    		request.setAttribute("p0_Cmd",p0_Cmd );
    		request.setAttribute("p1_MerId",p1_MerId );
    		request.setAttribute("p2_Order", p2_Order);
    		request.setAttribute("p3_Amt", p3_Amt);
    		request.setAttribute("p4_Cur",p4_Cur );
    		request.setAttribute("p5_Pid",p5_Pid );
    		request.setAttribute("p6_Pcat",p6_Pcat );
    		request.setAttribute("p7_Pdesc",p7_Pdesc );
    		request.setAttribute("p8_Url",p8_Url );
    		request.setAttribute("pa_MP",pa_MP );
    		request.setAttribute("pr_NeedResponse",pr_NeedResponse );
    		request.setAttribute("hmac",hmac );
    		request.setAttribute("p9_SAF",p9_SAF );
    		request.setAttribute("pd_FrpId", pd_FrpId);
    		
    		request.getRequestDispatcher("/sure.jsp").forward(request, response);
    	}
    
    	
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    


    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>title</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    
      </head>
      
      <body>
      <-- 请求地三方支付的地址-->
     <form action="https://www.yeepay.com/app-merchant-proxy/node" method="post">
        	<input type="hidden" name="p0_Cmd" value="${p0_Cmd}"/>
        	<input type="hidden" name="p1_MerId" value="${p1_MerId}"/>
        	<input type="hidden" name="p2_Order" value="${p2_Order}"/>
        	<input type="hidden" name="p3_Amt" value="${p3_Amt}"/>
        	<input type="hidden" name="p4_Cur" value="${p4_Cur}"/>
        	<input type="hidden" name="p5_Pid" value="${p5_Pid}"/>
        	<input type="hidden" name="p6_Pcat" value="${p6_Pcat}"/>
        	<input type="hidden" name="p7_Pdesc" value="${p7_Pdesc}"/>
        	<input type="hidden" name="p8_Url" value="${p8_Url}"/>
        	<input type="hidden" name="pa_MP" value="${pa_MP}"/>
        	<input type="hidden" name="pr_NeedResponse" value="${pr_NeedResponse}"/>
        	<input type="hidden" name="hmac" value="${hmac}"/>
        	<input type="hidden" name="p9_SAF" value="${p9_SAF}"/>
        	<input type="hidden" name="pd_FrpId" value="${pd_FrpId}"/>
        </form>
        <script type="text/javascript">
        	document.forms[0].submit();
        </script>
      </body>
    </html>
    
    --这样就发起了支付

    --接下来是行方的响应处理

    package com.itheima.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.itheima.util.PaymentUtil;
    //处理支付结果
    public class ResponsePayServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		response.setContentType("text/html;charset=UTF-8");
    		PrintWriter out = response.getWriter();
    		String p1_MerId = request.getParameter("p1_MerId");
    		String r0_Cmd = request.getParameter("r0_Cmd");
    		String r1_Code = request.getParameter("r1_Code");//支付结果。1代表成功
    		String r2_TrxId = request.getParameter("r2_TrxId");
    		String r3_Amt = request.getParameter("r3_Amt");
    		String r4_Cur= request.getParameter("r4_Cur");
    		String r5_Pid= request.getParameter("r5_Pid");
    		String r6_Order = request.getParameter("r6_Order");//订单编号
    		String r7_Uid = request.getParameter("r7_Uid");
    		String r8_MP = request.getParameter("r8_MP");
    		String r9_BType = request.getParameter("r9_BType");//1浏览器访问的。2点对点
    		String hmac = request.getParameter("hmac");
    		
    		//数据校验
    		boolean ok = PaymentUtil.verifyCallback(hmac, p1_MerId, r0_Cmd, r1_Code, r2_TrxId, r3_Amt, r4_Cur, r5_Pid, r6_Order, r7_Uid, r8_MP, r9_BType, "69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl");
    		if(!ok){
    			out.write("数据有可能被篡改,请联系网站");
    		}else{
    			if("1".equals(r1_Code)){
    				//支付成功:根据订单号更改订单状态。  点卡或充值时注意表单的重复提交问题。
    				if("2".equals(r9_BType)){
    					out.write("success");
    				}
    				out.write("支付成功");
    			}
    		}
    		
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    

    这就是实际的支付功能的开发。只是一种思路,具体的实现,还要看网站自身的框架,与第三方需要提供的参数与密钥的具体申请方式.

















    展开全文
  • 1.用猜想学习新知识! 这是波利亚的呼吁,也是培养创造力的常用方法之一。只有经过自己猜想之后学习到的知识,才会印象... 第二点,猜想是高效的学习工作方法。人们猜想一般都是在实践之初进行的,这个时候猜想...

    1.用猜想学习新知识!

        这是波利亚的呼吁,也是培养创造力的常用方法之一。只有经过自己猜想之后学习到的知识,才会印象深刻。中国教育的弊端就在于对猜想的扼杀,填鸭式的教育造就了无数高分低能的大学生。

        猜想的好处有什么呢?

        第一点,猜想可以帮助人深入地思考自己所学的知识。对于学习的积极性非常有帮助。

        第二点,猜想是高效的学习工作方法。人们猜想一般都是在实践之初进行的,这个时候猜想可以帮助人们敢于尝试,快速寻找到最合适的方法去解决手头的问题。

        第三点,猜想可以激发人的创造性思维。猜想并不一定是提出什么很深奥的理论,只要你对未知的知识进行大胆合理地假设,就是合格的猜想。

    2.用猜想学习事物的规律!

        当我们掌握了一定的知识和技能之后,在遇到全新陌生的知识时,要用猜想去学习事物之间的规律,利用自己的经验来学习新的事物。这样可以降低学习新知识的难度和提高效率。

        小结:在学习和工作中,练习猜想,可以帮助我们进行终生学习,不断提升自己。

    展开全文
  • 以精益思想为产品方法 精益:看不见的角落,更要有光 精益 ——以最小的资源为用户提供更有价值的产品。...**精益理念:**并不是对精益思想的概念解释,而是将精益实际工作相结合而总结出的经验。精益理念是一种心智
  • 没有计算机,这个社会是很难运转起来的,也是很难提高社会的工作效率的,人民的生活难以改善。 计算机的存在如此广泛,以至于很多人只懂得它的名字而忘了它还有广泛的应用。计算机可以进行图片处理、文字编辑、动画...
  • 本文基于数据可视化的工作步骤,介绍了每一环节的工作方法与注意事项,并阐明其中业务逻辑与图形语言的翻译关系。此部分内容有其显著的泛化能力,在日常工作中的诸多场景都用得着,比如: ·上级领导让你写个宣传...
  • 通过用心爱学生、做学生忠实的倾听者和运用心理学的方法帮助学生解决问题这三个方面阐述了人文关怀和心理疏导相结合的方式和方法,并进一步提出了在实践中创新大学生思想政治工作的途径:丰富校园文化生活,借助网络...
  • 浅谈结构化方法与面向对象方法 二. 结构化软件开发方法 结构化软件开发方法是一类早期的传统的软件开发方法,它的基本思想是将软件基于功能进行分解并抽象,形成系统化的模块结构,从而针对每个模块进行结构化...
  • 针对采煤工作面的具体施工过程,提出施工规划方法编制工作面衔接计划。...应用研究结果表明,采用施工规划方法与采煤产量计算方法编制的采煤衔接计划与煤矿实际生产过程相吻合,施工规划方法科学合理、切实可行。
  • 论文研究- 防空导弹武器系统设计的系统思想和系统方法.pdf, 一、导弹武器系统设计中的主要问题 广大科技工作者和有关人员经过三十多年的辛勤工作,使我国的防空导弹技术取得了引人注目的成绩。这些成绩使我国在世界...
  • 对于大部分人来说,可能并没有机会进行需求分析,因为在大部分的公司里面,需求分析都是有很多工作经验的资深人员,或者是对系统很熟悉的老的开发人员。 所以,很多人都会对需求分析有一种景仰的心态,认为既然做...
  • 对于大部分人来说,可能并没有机会进行需求分析,因为在大部分的公司里面,需求分析都是有很多工作经验的资深人员,或者是对系统很熟悉的老的开发人员。   所以,很多人都会对需求分析有一种景仰的心态,认为既然...
  • 本文对转换桥方法与应用研究进行了综述.转换桥理论与方法研究工作主要在“传导矛盾问题链、矛盾问题系统”的刻画和“转换桥分类”、“转换桥设计”、“转换桥系”、“转换桥设置”等问题,应用研究主要涉及“产品设计...
  • Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义   首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使用...
  • 特征选择的主要思想是通过去除一些包含少量或不相关的信息的特征...文中的主要工作就是综述一些基本特征选择算法,根据文献中已有的理论和实验结果对特征选择方法和算法进行比较分类,然后提出一种可以依赖或判定的标准。
  • 此博文内容摘自《java编程思想》,我精选出来的片段并加以添加、修改,做以记录,以便翻看!如果有建议或者需要添加内容,请联系我,我将虚心赐教!不喜勿喷!谢谢~     垃圾回收机制用到了finalize()方法...
  • java的finalize( )方法与C++的析构函数

    千次阅读 2018-03-08 13:10:16
    一、析构函数的作用 析构函数(destructor) 构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕)...二、对比Java和C++读《java编程思想》读到初始化清理一章,文中提及java的finalize()方法...
  • Atitit 软件开发中瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使用,...
  • 本文采用边界扫描技术传统的外部输入矢量测试方法相结合,为含DSP电路板的测试诊断提供了可以借鉴的方法。  2.电路原理简介及总体测试思想  2.1 电路原理介绍  本文以雷达系统中某含DSP电路板为例对测试...
  • 本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。...
  • 提出利用人工社会的思想, 结合复杂系统的理论和方法, 建立人工人口系统以及相应的人口计算试验手段和人口管理平行系统的设想。主要工作包括人工人口系统的基本框架, 计算试验人口政策的评估、平行系统人口的...
  • FPGA/CPLD的设计思想与技巧是一个非常大的话题,本文仅介绍一些常用的设计思想与技巧,包括乒乓球操作、串并转换、流水线操作和数据接口的同步方法。希望本文能引起工程师们的注意,如果能有意识地利用这些原则指导...
  • 软件工程方法与实践(ppt)

    热门讨论 2010-07-04 08:14:56
    《软件工程方法与实践》包括软件工程与过程、软件需求分析与建模、软件设计、软件测试与维护和软件工程管理五个部分,共16章,深入介绍了软件开发“工程化”思想。 《软件工程方法与实践》适合作为高等院校软件工程...
  • 马占新编*的《数据包络分析模型与方法》旨在 给出一种*具广泛含义的数据包络分析方法——广义 数据包络分析方法,并探讨其在自然科学社会科学 领域中的应用。主要包括作者博士后出站报告(2001) 的部分内容以及作者...
  • ​ 管理者由此极为便利地弄清一项任务(项目)还剩下哪些工作要做,并可评估工作是提前还是滞后,亦或正常进行。是一种理想的控制工具。 目标: ​ 1)概述项目活动 ​ 2)计划项目活动 ​ 3)设计关键路径 ​ 4...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,580
精华内容 1,032
关键字:

思想方法与工作方法