zoukankan      html  css  js  c++  java
  • 软件项目与过程管理第三周作业

    作业来源4:在实际项目中,结合软件工程知识点,提出作业

    题目:结合本次验证码个人项目叙述软件开发的具体流程

    答:软件开发流程即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序等一系列操作。

    第一步、需求分析

           1、初步向用户了解验证码项目具体的功能和需求,目的是将一串随机产生的数字和字母,生成一幅图片,图片里加上一些干扰点和干扰线,在网页界面的输入框旁可以显示验证码图片,以便用户根据图片,输入验证码。作用是可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。

           2、进一步深入了解和分析需求,根据自己的经验和需求做出一份详细的需求规格分析说明书。通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为使用者提供参考。

           3、将该需求规格分析说明书给用户查看以便再次确认需求。为软件设计人员的设计依据和使用单位的验收标准,对验证码的产生和使用分析与总结,便于识别整系统的功能。

    第二步、概要设计

           对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。(以下列出了概要设计的一小部分)

           1、系统的基本处理流程

              

          2、系统的总体设计

            需求规定:

           (1)输入:由于在字符库中只是设计了数字和字母两种,所以输入框只能输入数字和字母才能被接受。

           (2)处理:当输入完成时,点击确定,软件获取的数据与服务端获取的数据一致时,可认为是人工操作,即通过。否则,失败。

           (3)输出:会在浏览器中出现信息。

         3、设计运行

           (1)运行模块:客户端所呈现的数据,服务端所保存的数据,最后是双方进行对比。

           (2)运行控制: 客户端提交的数据与服务器的数据进行比较即可。

         4、数据结构设计

           (1)用随机函数随机生成图片。

           (2)将数据保存在服务端并显示在浏览器中。

           (3)客户端数据与服务端数据做对比。

         5、系统出错处理设计

           (1)出错信息:进入登陆界面后,会出现验证码,根据用户判断,填写验证码,如果错误,则是验证码错误。

           (2)错误处理:如果验证未能通过 ,从新登陆即可。

    第三步、详细设计

         在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计报告进行编码。(详细设计的过程未列出)

    第四步、编码

           在软件编码阶段,开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都出现过。

          编码思路:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。           

         1、产生一张png的图片;

         2、为图片设置背景色;

         3、设置字体颜色和样式;

         4、产生4位数的随机的验证码;

         5、把产生的每个字符调整旋转角度和位置画到png图片上;

         6、加入噪点和干扰线防止注册机器分析原图片来恶意破解验证码;

         7、输出图片;

         8、释放图片所占内存。

    第五步、测试

         1、黑盒测试:等价分类法;边值法;猜错法。

         2、白盒测试:首先判断是否满足4个字符,若是则判断是否满足4个字符,若是则看是否与验证码匹配,若匹配则认真成功,其他情况一律为认证失败,程序会返回输入验证码的界面重新进行流程。

         3、兼容性测试:为测试该验证码系统与浏览器的兼容情况

    第六步、软件交付

         在软件测试证明软件达到要求后,软件开发者应向用户提交开发的目标安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等双方合同约定的产物。(本项目没有涉及到交付)

    第七步、验收

         用户验收

    第八步、维护

         根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。

  • 相关阅读:
    css3 练习
    onethink 返回上一页
    小程序之轮播图
    Node 基本使用
    IDEA Terminal
    Spring Shell简单应用
    Spring Theme简单应用
    Spring MVC的学习笔记
    Win10出现键盘未失灵,按下的键都是快捷键的问题
    SQL Server 添加描述
  • 原文地址:https://www.cnblogs.com/huxinyu2013551711/p/5296576.html
Copyright © 2011-2022 走看看