系统分析——系统构建最重要的一环
🌟所属专栏:信息系统分析与设计
🐔作者简介:rchjr——五带信管菜只因一枚
😮前言:该系列将持续更新信息系统分析与设计课程的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~
👉文章简介:本文介绍信息系统建设的第一步——系统规划
🔥系统分析的任务
系统分析师与用户在一起充分理解用户的要求,并把双方的理解用书面文档——系统分析说明书表达出来。 也称需求分析。
1.系统分析的困难
系统分析是研制信息系统最重要的阶段,也是最困难的阶段。 困难主要来自三个方面: 问题领域(problem domain)的理解 人与人之间的沟通 环境的不断变化
2.系统分析师
任务
理解和明确企业目标、经营业务和战略发展方向。 按照企业目标制定信息系统建设的目标并进行分解。 根据企业所处环境和条件制定适合企业信息系统的开发策略。 从可供选择的方法和工具中进行选择,确定适合信息系统开发的方法和工具。 与企业决策层和业务人员充分沟通,了解企业业务需求,准确建立企业的业务模型。 根据企业目标和技术发展动向,结合业务模型建立完善的信息系统逻辑模型。 对信息系统开发的组织、人员和进度计划提出建议。 撰写系统说明书。
应具备的素质
具备坚实的信息系统知识,了解信息技术的发展,懂得管理科学的知识 应有较强的系统观点和较好的逻辑分析能力,能够透过现象看到问题本质,从复杂的事物中抽象出系统模型。 具有突出的批判性思维和创新思维,善于接受新鲜事物,从经验积累中进行改革和创新。 还应具备较好的口头和书面表达能力,谈判和协商的能力,较强的组织能力,善于与人共事。
🔥系统分析的过程和方法
分析的重要任务是识别和表达需求,建立系统的逻辑模型。 要解决以下问题: 如何采集信息、理解和分析问题? 如何进行需求分析、确定需求? 如何表述需求?

1.问题分析
通过详细调查全面深入理解用户的业务,找出用户所面临的问题,准确把握用户真正的需要,为最终整理出符合用户需要的需求做准备。
分析过程如下
明确项目的背景
明确项目目标、范围、相关部门和人员
找出关键涉众(stakeholder,也称利益相关人员)及待解决的问题。涉众包括系统的用户、项目决策者、受项目影响的第三方等。
调查和分析业务流程,建立业务流程模型以描述用户处理业务的过程及过程中数据的流转。
2.1系统调查方法
调查是识别需求的基础,是建立系统逻辑模型的基础。调查包括: 业务处理过程是什么样的?(干什么?) 业务过程应该怎样完成?(怎么干?) 业务谁负责,完成业务需要什么输入,能输出什么?
传统的系统调查方法有: 资料收集 访谈 实地观察 问卷调查
01资料收集
可以收集以下资料: 组织机构、部门职能、岗位职责说明 业务流程说明、操作规程 管理工作标准和人员配备 单位内部管理用的各种单据、报表、报告 历史的系统分析文档 从现有文档中获取客观事实
02访谈
与领域专家的面谈是获取需求的基本技术。 面谈类型: 结构化面谈:有为面谈专门设计的问题 非结构化面谈:通常为开放式问题
优点: 激发面谈对象主动贡献、自由表达的机会,可以得到更多反馈,近距离接触还能获得隐性信息
缺点: 耗时、成本高,取决于分析员的人际交往能力,受制于地理位置
03实地观察
直接参与到企业活动中,或观察他人执行活动来了解系统,“耳听为虚,眼见为实”。
优点: 收集到的信息可靠,获得确切的感性认识,了解物理环境和事务背景
缺点: 被观察者因为不自然可能与常规表现有差异,可能会漏掉特殊情形下的任务,观察会被打断
04调查问卷
调查表可以收集大规模的事实表格。 调查表类型: 固定格式调查表:只能选择问题答案 自由格式调查表:允许自由填写文字
优点: 方便填写,廉价,允许匿名,可以进行快速表格分析
缺点: 不够灵活,无法保证能深入回答问题,无法保证问卷回收数量,设计好的调查表十分困难
2.2需求引导法
一般用户在开发之初,对所要开发的信息系统应该具有的功能和所能达到的结果并没有清楚的认识,因此,需求调查比现行组织系统调查难度更大。 对用户进行引导和启发,让用户获得信息系统的感性认识,引导他们发现现行组织管理和业务处理中所存在的问题,从而发掘需求和找到解决方案。
采用以下需求引导方法: 原型法 联合应用开发(JAD)会议 观摩法
01原型法
利用快速开发工具,根据用户的初步需求,构造出信息系统的初步原型。
优点: 用户和调查人员深度沟通,能准确地反映了用户需求,澄清和纠正模糊和矛盾的问题
缺点: 额外工作量,原型开发工具购买成本
02JAD会议
JAD,joint application development(联合会议) 是一种类似于头脑风暴的技术,在一个或多个工作会议中将所有利益相关者带到一起,集中讨论和解决最重要的问题。 参加人员: 领导(主持人)、记录员、客户、开发人员
优点: 群体智慧,提高生产力,更理智的判断,降低犯错
缺点: 会议长度难以控制,人员之间容易受干扰和影响
03观摩法
在系统开发之初,可以让用户参观同行业或同类型成功的信息系统。 用户看到这些具体系统,将会对信息系统的功能、作用、外在效果、人机交互方式等产生直观印象,这样就会引导和启发用户,通过类比思维,提出自己信息系统的需求。 可采用研究类似产品或解决方案来替代观摩。
3需求分析
系统需求是新系统必须完成的功能或其局限性。 需求分析就是识别需求的过程
需求有两种类型:业务性需求和技术性需求
01功能性需求
涉及商业应用,是系统必须完成的活动或过程,即系统功能以及相关数据。 功能性需求是根据业务过程和业务规则确定的,有些容易获取,有些则是隐含的,需要去发现。
02技术性需求
技术性需求也称非功能性需求,是和公司的环境、硬件和软件有关的所有质量目标。 例如:系统必须能支持100个并发用户;保存订单的时间不能超过0.5秒等等,涉及系统性能、可靠性、安全性等质量特性。 通常是一些技术目标。
需要和需求
问题分析获得业务和用户的“需要”,可以采用自然语言表达,提出的是比较模糊和高层次的目标。 需求分析则是对原业务进行抽象和升华,根据业务和用户需要确定计算机信息系统的“需求”。系统需求是精确和具体的。
4需求分析方法
需求分析的传统方法: 面向过程的结构化方法(自顶向下、逐层分解) 面向数据的信息工程方法(数据驱动) 面向对象方法(对象驱动、UML) 目前系统分析的一般做法是综合运用以上方法,最后统一采用UML来建立系统逻辑模型。
5系统分析建模内容
01流程建模
业务流程(业务流程图/UML活动图) 数据处理流程(数据流图)
02用例建模
信息系统功能模型(UML用例图)
03领域对象建模
领域对象模型(UML类图、UML状态图)由UML类图可以替代ER数据模型
6需求定义
需求分析是分析人员与用户反复沟通和谈判的过程。 需求定义就是在各方就系统需求达成一致意见后,整理并建立最终的需求模型,详细定义和描述每项需求,确认约束条件及限制,编写需求规格说明。
🔥系统说明书
内容
01引言
项目名称、目标、背景、引用资料、术语说明等
02项目描述
项目的主要工作内容 现行系统的调查情况 功能需求 数据需求 其他需求
03实施计划
工作任务的分解 进度 预算
审议
系统说明书经过审议后,成为下一阶段工作的依据。 系统说明书应该具备以下品质: 正确性 完整性 一致性 无二义性 可修改性 可跟踪性 审议由项目技术人员、企业管理人员、专家等共同完成。
相关文章:
系统分析——系统构建最重要的一环
🌟所属专栏:信息系统分析与设计 🐔作者简介:rchjr——五带信管菜只因一枚 😮前言:该系列将持续更新信息系统分析与设计课程的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步…...
第1-第20个高级shell程序
高级shell脚本 1.使用Shell脚本批量修改文件名 #!/bin/bash for fi lein$(ls*.txt) do mv $file${file%%.*}.md done2.统计一个文本文件中某个单词出现的次数 #!/bin/bashword"example" count0 whilereadline do forwin$line do if["$w""$word&qu…...
【致敬嵌入式攻城狮第2期活动预热征文】学习安排
文章目录「 致敬未来的攻城狮计划 」——学习计划前言学习计划🚗单片机理论实践🚗学业阅读计划「 致敬未来的攻城狮计划 」——学习计划 🚀🚀开启攻城狮的成长之旅!这是我参与的由 CSDN博客专家 架构师李肯和 瑞萨MCU …...
035:cesium加载KML文件,显示图形
第035个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载KML文件, 显示图形。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共83行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https:/…...
随想录Day42--动态规划: 416. 分割等和子集(终于吃下01背包了)
今天只有1道题,属于动态规划的01背包问题的应用。首先理解一下动态规划的01背包问题。推荐一个视频,动态规划DP0-1背包,这是我认为讲得最为通透的。很多讲解动态背包问题的,一上来就画二维表格,遍历背包或者遍历容量&a…...
字节跳动软件测试岗,前两面过了,第三面被面试官吊打,结局我哭了
阎王易见,小鬼难缠。我一直相信这个世界上好人居多,但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。 在这里,我只想告诫大家,offer一定要拿到自己的手里才是真的,口头offer都是不牢靠的࿰…...
bitlocker 笔记
介绍 bitlocker是windows自带的磁盘加密工具,win10专业版是可以使用的,其他家庭版本可能没有这个功能。有点类似与wd security。 功能 加密磁盘,当磁盘物理丢失时,防止磁盘中的数据泄露。举个例子,移动硬盘被偷&…...
Linux 压缩与解压命令
一、常见的压缩文件扩展名 1、*.Z compress程序压缩的文件 2、*.gz gzip程序压缩的文件 3、.tar.gz tar程序打包的文件,其中经过gzip的压缩 4、.tar tar程序打包的数据,并没有压缩过 5、.bz2 bzip2程序压缩的文件 6、.tar.bz2 tar程序打包的文件&a…...
python global函数用法及常用的 global函数代码
Python中的 global函数是用于在程序中定义变量的函数,在我们实际的开发中,我们可能会用到 global函数来定义变量,但是我们在这里就不具体介绍它的用法了。 global函数定义变量的方法: global函数使用参数a来指定变量在程序中的地址…...
大数据学完好就业么
Python的普及与数据挖掘、人工智能和数值计算等领域的蓬勃发展相关,但同时也与普遍编程需求的增加有关。 Python应用领域广泛,意味着选择Python的同学在学成之后可选择的就业领域有很多,加上Python本身的优势,致使现在越来越多的…...
CASAtomic 原子操作详解
文章目录CAS&Atomic 原子操作详解什么是原子操作CAS相关原子操作类的使用AtomicIntegerAtomicIntegerArray更新引用类型原子更新字段类LongAdderCAS&Atomic 原子操作详解 什么是原子操作 Mysql事务中的原子性就是一个事务中执行的多条sql,要么同时成功&am…...
卷积神经网络(convolutional neural network, CNN)
卷积神经网络(convolutional neural network, CNN) 卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络是指那些至少在网络的一层中使用卷积运算来替代…...
kube-apiserver启动流程源码分析
1. 概述 KubeAPIServer 主要是提供对 API Resource 的操作请求,为 kubernetes 中众多 API 注册路由信息,暴露 RESTful API 并且对外提供 kubernetes service,使集群中以及集群外的服务都可以通过 RESTful API 操作 kubernetes 中的资源。 2…...
Scala基础(二)
单例对象(object) Scala的类中无法定义静态成员,即无static关键字。如何像Java一样表达类的静态成员变量、成员方法与静态代码块? Scala解决方案:单例对象 使用“object”关键字声明,可包含变量、方法与…...
Python 生产者消费者模型是什么?
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注! 作者| 慕课网精英讲师 朱广蔚 1. 简介 生产者和消费者问题是线程模型中的经典问题: 生产者和消费者共享同一个存储空间生产者往存储空间中添…...
手机银行评测系列:北京银行“京彩生活”7.0从用户视角出发,实现沉浸式体验重塑
易观:2023年3月28日,北京银行发布“京彩生活”APP 7.0版本,从旅程再造、特色金融、场景生态、平台联动、协同经营、体验管理和安全守护七大方面全面升级,从用户视角出发,重塑用户旅程,简化操作流程…...
ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L
ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L 难度分布: 签到:CJ Easy:BL Midium:IAGKFE Hard:DH 题解: 签到:CJ C - ^{-1} 参考代码: #include<bits/std…...
百科创建:7种有效的百科词条创建技巧
百科词条是互联网上最常见的知识信息资源之一,它们是人们查找信息的主要途径之一。创建一个高质量的百科词条并不是一件容易的事情,需要一些技巧和经验才能做到。下面是一些创建百科词条的技巧: 一、确保词条的独特性 在创建百科词条之前&…...
ThreeJS-dat.gui界面控制颜色、隐藏、位置(六)
下载组件dat.gui npm install dat.gui -S 引入组件 import * as dat from dat.gui //界面控制 代码: <template> <div id"three_div"> </div> </template> <script> import * as THREE from "three"; import {O…...
接口自动化测试,完整入门篇
目录 1. 什么是接口测试2. 基本流程3. 需求分析4. 用例设计5. 脚本开发6. 结果分析7. 完整脚本8. 参考资料1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...
