当前位置: 首页 > news >正文

系统分析——系统构建最重要的一环

🌟所属专栏:信息系统分析与设计
🐔作者简介: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都是不牢靠的&#xff0…...

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版本,从旅程再造、特色金融、场景生态、平台联动、协同经营、体验管理和安全守护七大方面全面升级,从用户视角出发,重塑用户旅程,简化操作流程&#xf…...

ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L

ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L 难度分布&#xff1a; 签到&#xff1a;CJ Easy&#xff1a;BL Midium&#xff1a;IAGKFE Hard&#xff1a;DH 题解&#xff1a; 签到&#xff1a;CJ C - ^{-1} 参考代码&#xff1a; #include<bits/std…...

百科创建:7种有效的百科词条创建技巧

百科词条是互联网上最常见的知识信息资源之一&#xff0c;它们是人们查找信息的主要途径之一。创建一个高质量的百科词条并不是一件容易的事情&#xff0c;需要一些技巧和经验才能做到。下面是一些创建百科词条的技巧&#xff1a; 一、确保词条的独特性 在创建百科词条之前&…...

ThreeJS-dat.gui界面控制颜色、隐藏、位置(六)

下载组件dat.gui npm install dat.gui -S 引入组件 import * as dat from dat.gui //界面控制 代码&#xff1a; <template> <div id"three_div"> </div> </template> <script> import * as THREE from "three"; import {O…...

接口自动化测试,完整入门篇

目录 1. 什么是接口测试2. 基本流程3. 需求分析4. 用例设计5. 脚本开发6. 结果分析7. 完整脚本8. 参考资料1. 什么是接口测试 顾名思义&#xff0c;接口测试是对系统或组件之间的接口进行测试&#xff0c;主要是校验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及…...

利用ControlNet重新定义你的AI姿势

利用ControlNet重新定义你的AI姿势 前段时间给大家分享了如何利用colab实现AI绘画自由&#xff0c;现在Stable Diffusion WebUI Colab TW又更新了不少新功能。最重要的是可以通过谷歌硬盘的快捷方式导入模型&#xff0c;极大的节省了谷歌硬盘容量。 众所周知&#xff0c;谷歌…...

中医药NER命名实体识别基于SPANNER方式

一个不知名大学生&#xff0c;江湖人称菜狗 original author: Jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.3.5 Last edited: 2023.3.5 导读 本文使用SPANNER方式实现对中医药进行实体识别&#xff0c;采用focal loss 进行优化。 本文章作用防止安静…...

Vue必掌握

目录 一、组件通信方式 二、v-if和v-for 三、生命周期 1、描述 2、setup和created谁先执行 3、setup中为什么没有beforeCreate和created 四、双向绑定 v-model 1、定义 2、本质&#xff0c;原理 3、好处 五、如何扩展一个组件 1、mixins 缺点 2、slot插槽 3、e…...

SSM部分

声明式事务 从之前的事务控制的代码中可以看出&#xff0c;是有规律可循&#xff0c;代码的结构基本是确定的&#xff0c;所以框架就可以将固定模式的代码抽取出来&#xff0c;进行相关的封装。 封装起来后&#xff0c;我们只需要在配置文件中进行简单的配置即可完成操作。 …...

【Springboot系列】Springboot接管所有Controller,magic-api源码阅读

系列文章地址:Spring Boot学习大纲,可以留言自己想了解的技术点 最近在项目中使用了一个第三方的包 magic-api,节省了很多的时间,整体来说就是只用写sql就好了,不用写service,controller那些,全部统一处理了。 具体的使用大家可以搜索下,网上到处都是,建议去官网看。…...

二、LED子系统数据结构详解

个人主页&#xff1a;董哥聊技术我是董哥&#xff0c;嵌入式领域新星创作者创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01;文章目录1、核心数据结构1.1 gpio_led_platform_data1.2 gpio_leds_priv1.3 gpio_led1.4 gpio_led_data1.5 led_…...

Kubernetes(11):数据存储详解

在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。 Volume是Pod中能够被多个容器访问的共享目录…...

随想录Day43--动态规划: 1049. 最后一块石头的重量 II , 494. 目标和 , 474.一和零

最后一块石头重量转化为将一个集合分隔成两个集合&#xff0c;两个集合之间的差值最小&#xff0c;就是最后剩下最小的石头重量。这里可以求集合的一个平均值&#xff0c;如果正好等于平均值&#xff0c;说明可以抵消&#xff0c;这时候重量为0&#xff0c;如果不行&#xff0c…...

Qt中对TCP粘包的处理

当时用TCP协议传输数据时&#xff0c;经常出现粘包的现象 当服务器向客户端发送数据之后&#xff0c;客户端还没有接收数据的时候&#xff0c;这段时间数据在什么地方&#xff1f; 1、服务器&#xff1f;服务器已经发出数据了 2、网线&#xff1f;数据应该在内存&#xff0c;怎…...

贪心-单调递增的数字

当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 示例 1: 输入: n 10 输出: 9示例 2: 输入: n 1234 输出: 1234示例 3: 输入…...