热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

学渣眼中的软件工程(三)

学渣眼中的软件工程(三)软件需求获取与结构化分析方法:熟悉到了软件开发的另一部分内容之后,学渣Big-man继续带你去软

学渣眼中的软件工程(三)

软件需求获取与结构化分析方法:


  • 熟悉到了软件开发的另一部分内容之后,学渣Big-man继续带你去软件工程了解下一部分的内容——软件需求获取与结构话分析方法



需求获取的任务和原则:


主要任务:


  • 需求获取的主要任务就是与用户进行沟通。了解系统产品的目标是什么,用户想要实现什么,系统和产品如何满足业务的要求,最终系统或产品如何用于日常工作。以前的Big-man只是知道开发项目是十分地困难,看到了产品的分析与产品的任务发现,产品的重要性一点也不比软件的技术开发来得轻松。

  • 获取并理解用户需求是软件工程师所面对的最困难的任务之一。获取需求困难有几个方面的的原因:

    • 系统的目标和范围难以界定;
    • 需求的不准确性;
    • 需求的易变;
      • 需求获取除了需要有专业的系统分析师,还需要通过有效的客户/开发者的合作才能成功。



需求获取的任务:


  • (1)、 发现和分析问题,并分析问题的原因/结果关系
  • (2)、 与用户进行各种方式的交流,并使用调查研究方法收集信息
  • (3)、 按照三个成分观察问题的不同侧面:即数据、过程和接口
  • (4)、 将获取的需求文档化



需求获取应遵循的原则:


  • (1)、 深入浅出的原则。
    • 需求获取要尽可能全面、细致。
  • (2)、 以流程为主线的原则。

    • 在与用户交流的过程中,应该用流程将所有的内容串起来。如信息、组织结构、处理规则等,便于交流沟通。

    • 学渣Big-man就着现在的项目进行流程的串联图如下:
      软件分析




需求获取的过程:


过程:


  • 1、开发高层的业务模型;
  • 2、定义项目范围和高层需求;
  • 3、识别用户类和用户代表;
    • 系统的不同用户之间在很多方面存在差异,例如:
      • 使用产品的频率;
      • 用户在应用领域的经验和使用计算机系统的技能;
      • 所用到的产品功能;
      • 为支持业务过程所进行的工作;
      • 访问权限和安全级别
  • 4、获取具体的需求;
    • 确定了项目范围高层需求,并确定了用户类及用户代表后,就需要获取更具体完整详细的需求。
    • 获取需求的几种方式:
      • (1)、与用户进行交流。
      • (2)、现有产品或竞争产品的描述文档。
      • (3)、系统需求规格说明。
      • (4)、当前系统的问题报告和改进要求。
      • (5)、市场调查和用户问卷调查。
      • (6)、观察用户如何工作。



  • 结构化分析方法:是一种建模技术。
    结构化分析模型



JackDan9 Thinking


推荐阅读
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • 腾讯云移动推送TPNS(Tencent Push Notification Service)为APP开发者和运营人员提供了一站式、高效、稳定的推送解决方案,帮助提升用户活跃度和运营效率。 ... [详细]
  • 英特尔推出第三代至强可扩展处理器及傲腾持久内存,AI性能显著提升
    英特尔在数据创新峰会上发布了第三代至强可扩展处理器和第二代傲腾持久内存,全面增强AI能力和系统性能。 ... [详细]
  • 本文详细介绍了 JavaScript 中面向对象编程的基本概念,包括对象的创建、工厂模式、构造函数、原型及其优缺点,并探讨了继承的多种实现方式。 ... [详细]
  • Android 属性 allowBackup 的安全风险分析
    在 Android API Level 8 及以上版本中,系统提供了一种机制来备份和恢复应用程序数据。通过设置 allowBackup 属性,开发者可以控制是否允许这种备份和恢复功能。然而,这一功能也带来了潜在的安全风险。 ... [详细]
  • 在开发板的启动选项中看到如下两行:7:LoadBootLoadercodethenwritetoFlashviaSerial.9:LoadBootLoadercodethenwri ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 本文来自微信公众号:界面新闻(ID:wowjiemian),作者:席菁华,头图来自:视觉中国海底打桩,安装基座,吊装塔筒、机舱、叶片……北至山东,南至广东,在中国东部广袤的海域上, ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
  • EHF频段(5G毫米波频段)的应用与发展
    国际电信联盟(ITU)负责管理卫星业务的频段分配,其中Ka频段因其较高的雨衰减和对器件工艺的高要求,发展相对缓慢。然而,随着C波段和Ku波段卫星轨道资源的枯竭及频率带宽的紧张,Ka频段近年来得到了快速发展。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • Win10蓝屏错误代码 DRIVER_IRQL_NOT_LESS_OR_EQUAL (Netwbw) 的解决方法
    本文介绍了如何解决 Win10 系统中出现的蓝屏错误代码 DRIVER_IRQL_NOT_LESS_OR_EQUAL (Netwbw),包括软件和硬件方面的解决方案。 ... [详细]
  • 花生壳内网穿透:实现企业智能网关远程管理和维护
    随着物联网技术的发展,企业对智能网关的需求日益增加。本文介绍如何利用花生壳内网穿透技术,实现企业智能网关的远程管理和维护,提高效率,降低成本。 ... [详细]
  • 1.前言PAP和CHAP协议是目前的在PPP(MODEM或ADSL拨号)中普遍使用的认证协议,CHAP在RFC1994中定义,是一种挑战响应式协议&#x ... [详细]
  • MartyCagan是享有世界声誉的产品管理专家,曾经担任网景副总裁、eBay产品管理及设计高级副总裁。本文是他回顾自己二十多年来从事软件产品管理工作的总结和经验分享,描述了产品开发需要遵循的 ... [详细]
author-avatar
捕鱼达人2502856571
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有