软件工程——第2章可行性研究知识点整理

news2024/11/24 20:10:58

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!

文章目录

 1.可行性研究的目的?

2.可行性研究的实质?

3.从哪些方面研究逻辑模型的解法可行性?

4.可行性研究最根本的任务是什么?

5.可行性研究成本约占预期工程总成本的比例是多少?

6.可行性研究分为哪些步骤?

7.系统流程图的基本思想和作用?

8.面对复杂系统时,一般采用什么方式来描述系统?

9.数据流图(DFD)是什么?

10.数据流图中数据存储与数据流的异同点?

11.数据流图的4种组成部分?

12.数据流图分层的原则?

13.数据流图的用途?

14.数据字典是什么?

15.为什么数据流图和数据字典对构成系统逻辑模型是缺一不可?

16.数据字典由对哪4类元素的定义组成?

17.数据字典的用途?

 18.MVC模式的概念以及优点?

19.B/S架构和C/S架构分别是什么?

20.情景与描述了所有可能的动作序列的状态图之间有什么关系?

21.为什么数据流图没有像程序流程图那样关于结点之间可达性的相关规则?

章末小结


 1.可行性研究的目的?

最小的代价在尽可能短的时间内确定问题是否能够解决

2.可行性研究的实质?

        可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高抽象层次上以比较抽象的方式进行的系统分析和设计的过程。

3.从哪些方面研究逻辑模型的解法可行性?

  1. 技术可行性
  2. 经济可行性
  3. 操作可行性
  4. 社会可行性

4.可行性研究最根本的任务是什么?

对以后的行动方针提出建议

5.可行性研究成本约占预期工程总成本的比例是多少?

5%~10%

6.可行性研究分为哪些步骤?

  1. 复查系统规模和目标
  2. 研究目前正在使用的系统
  3. 导出新系统的高层逻辑结构:即从现有物理系统-->现有系统逻辑模型-->目标系统逻辑模型-->目标物理系统
  4. 进一步定义问题
  5. 导出和评价供选择的解法
  6. 推荐行动方案
  7. 草拟开发计划
  8. 书写文档提交审查

7.系统流程图的基本思想和作用?

        系统流程图的基本思想是用图形符号黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程等)。

        系统流程图的作用是了解和分析现有的系统,它是概括的描述物理系统的传统工具,表达的是数据在系统各部件之间的流动情况,而不是对数据进行加工处理的控制过程。

8.面对复杂系统时,一般采用什么方式来描述系统?

分层

9.数据流图(DFD)是什么?

        数据流图(DFD)是一种图形化技术,它只是描述数据在软件中流动和被处理的逻辑过程,数据流图中的数据流与程序流程图中箭头所表示的控制流有着本质的区别。

10.数据流图中数据存储与数据流的异同点?

        数据存储和数据流都是数据,仅仅是所处的状态不同。数据存储是处于静止状态的数据,而数据流是处于运动状态的数据。

11.数据流图的4种组成部分?

源点或终点、处理、数据存储、数据流

12.数据流图分层的原则?

  1. 对数据流图的分层必须保证信息的连续性。即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同
  2. 一张数据流图中处理的个数合适的范围是5~9个

【注】数据流图的命名顺序是顶层、0层、1层,如果图比较复杂,则可以在0层和1层的处理上标上序号,如下图所示:

 

13.数据流图的用途?

  1. 可作为交流信息的工具。因为数据流图仅仅使用4种基本符号,并且不包含物理实现的细节,绝大多数的用户都可以理解和评价它
  2. 可作为分析和设计的工具。面向数据流的设计方法基础就是数据流图

14.数据字典是什么?

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合

15.为什么数据流图和数据字典对构成系统逻辑模型是缺一不可?

        因为数据流图和数据字段共同构成系统的逻辑模型。没有数据字典,数据流图就不严格;没有数据流图,数据字典也难以发挥作用

16.数据字典由对哪4类元素的定义组成?

  1. 数据流
  2. 数据流分量
  3. 数据存储
  4. 处理

17.数据字典的用途?

  1. 作为分析阶段的工具
  2. 有助于改进分析员和用户之间的通信
  3. 有助于改进在不同开发人员或不同开发小组之间的通信
  4. 包含的每个数据元素的控制信息很有价值
  5. 数据字典是开发数据库的第一步

 18.MVC模式的概念以及优点?

        MVC全称是Model View Controller ,是模型(Model)-视图(View)-控制器(Controller )的缩写,是一种软件设计的典范,用一种业务逻辑、数据、界面显示分离的方法组织代码将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

        优点是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

19.B/S架构和C/S架构分别是什么?

        B/S架构,全称为Browser/Server,浏览器和服务器架构模式。在这种架构下,用户的工作界面是通过浏览器实现的,可以通过访问不同的网址(URL),来访问不同的服务器端程序。

        C/S架构,全称为Client/Server,客户端和服务器架构模式。在这种架构下,用户通过使用本地的客户端程序来发送网络请求,在远程有一个服务端程序响应请求并处理。

【注】详情见我下面写的这篇文章:Web开发基础知识介绍

20.情景与描述了所有可能的动作序列的状态图之间有什么关系?

        情景仅仅是通过部分或全部状态图的一条路径,即情景仅仅描述了系统的某个典型行为;而状态图则描述了系统的所有行为,所以状态图包含了情景。

【注】如下面电话系统的状态图所示,拨号仅仅是一个情景,它是电话系统的一个典型行为

 

21.为什么数据流图没有像程序流程图那样关于结点之间可达性的相关规则?

        因为数据流图不描述控制,因此,在一个数据流图中两个“处理”之间可能没有通路。如果每个处理都使用不同的输人数据,并生成不同的输出数据,而且一个处理的输出不用做另一个处理的输入,那么,在它们之间就没有弧。

章末小结

        可行性研究进一步探讨问题定义阶段所确定的问题是否有可行的解。在对问题正确
定义的基础上,通过分析问题(往往需要研究现在正在使用的系统),导出试探性的解,然
后复查并修正问题定义,再次分析问题改进提出的解法......经过定义问题分析问题、提
出解法的反复过程,最终提出一个符合系统目标的高层次的逻辑模型。然后根据系统的
这个逻辑模型设想各种可能的物理系统,并且从技术、经济和操作等各方面分析这些物理
系统的可行性。最后,系统分析员提出一个推荐的行动方针,提交用户和客户组织负责人
审查批准。
        在表达分析员对现有系统的认识和描绘他对未来的物理系统的设想时,系统流程图
是一个很好的工具。系统流程图实质上是物理数据流图,它描绘组成系统的主要物理元
素以及信息在这些元素间流动和处理的情况。
        数据流图的基本符号只有4种,它是描绘系统逻辑模型的极好工具。通常数据字典
和数据流图共同构成系统的逻辑模型。没有数据字典精确定义数据流图中每个元素,数
据流图就不够严密;然而没有数据流图,数据字典也很难发挥作用,二者缺一不可。
        成本/效益分析是可行性研究的项重要内容,是客户组织负责人从经济角度判断是
否继续投资于这项工程的主要依据。
        读者应该者重理解可行性研究的必要性,以及它的基本任务和基本步骤。在此基础上
再进一步学习具体方法和工具。对具体方法和工具的深入认识,又可以反过来加深对可
行性研究过程的理解。但是,不要陷于具体方法和工具的细节中而忽略了对软件工程基
本原理和概念的学习。

 

反反复复,扎扎实实;念念不忘,必有回响!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6个免费音效、配乐素材网站,无版权,可商用。

分享几个网站,配乐、音效素材都有,还是免费可商用的,希望能帮到大家,建议收藏起来~ 菜鸟图库 https://www.sucai999.com/audio.html?vNTYxMjky 虽然这是一个设计素材网站,但涵盖的素材非常广泛,想视频素材…

Git系列:运用Git创建空白分支进行项目相关文档管理

文章目录 起因一、为什么会选择Git分支二、Git分支的简单介绍和好处三、本次的具体操作1.$git checkout --orphan XXX2.删除当前分支里的内容3.提交新的分支 总结 起因 项目管理过程中没有做好相关文档管理,比如需求,开发,测试等文档&#x…

【Mysql】索引数据结构深入研究(一)

索引 1.什么是索引 数据库概论老师说:索引就是教科书的目录页,你要查哪个内容你就去目录页查询内容在哪。Mysql官网:索引是帮助Mysql高效获取数据的排好序的数据结构。 2.索引的数据结构 二叉树红黑树Hash表B-Tree 2.1 二叉树 我们先看…

右向辅助产品需求及交互策略说明书

介绍 Introduction 此文档的范围和目的 Scope and Purpose of This Document 定义并描述功能,功能逻辑,功能与驾驶员、环境和其它要素的依赖性和相互影响。为充分理解功能提供支持,以便支持后续阶段的研发活动。 To define and describe …

Prompt的技巧持续总结

Prompt 有很多网站已经收录了,比如:aimappro 有些直接抄上述网站的作业即可,不过也来看看, 有一些日常提问大概的咒语该怎么写。 1 三种微调下的提示写法 chatgpt时代的创新:LLM的应用模式比较 实际案例说明AI时代大…

在 Navicat Premium 中管理 MySQL 用户-第 1 部分:保护 Root 帐号

第 1 部分:保护 Root 帐号 管理数据库用户是数据库管理员(DBA)的主要职责之一。协调组织中的用户访问数据库的方式通常需要执行许多单独的任务,包括添加新用户,阻止已离开组织的用户的访问权限以及帮助无法登录的用户…

三、MNIST手写数字分类任务项目实战

分类任务和回归任务本质上并没有太大的区别,只是最终得到的结果和损失函数不同而已。 MNIST手写数字分类任务,最终得到的是10个值,也类似一个one-hot编码格式,表示该图片是0-9数字的概率,概率值最大的就是预测的最终结…

如何搭建企业内部Wiki?

企业内部wiki是一种基于web的知识管理系统,它可以帮助企业高效地管理和分享内部的知识和信息。搭建一个企业内部wiki需要考虑很多方面,包括选择合适的wiki软件、搭建服务器、设置权限、培训员工等。本文将介绍如何搭建企业内部wiki,以及如何管…

在职读研填充知识库,人大女王金融硕士项目是获取知识的有效途径

在工作中忙忙碌碌,等休息放空时,反而发现没有以前的快乐了。认识的人越来越多,反而觉得越来越孤独。或许这就是成长的代价。身在职场的我们距退休还有好久,这么漫长的时间不获取新知识怎么能行呢,让我们打开探索的窗户…

IO流(C++)

IO流C C语言的输入与输出流是什么CIO流C标准IO流C文件IO流二进制读写文本读写 stringstream的简单介绍 C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。printf():…

QtCreator屏蔽指定警告:如C4819等

QtCreator 频繁报出warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失。 方法一:(屏蔽此警告) 在工程文件.pro里面添加 # disable C4819 warning QMAKE_CXXFLAGS_WARN_ON -wd481…

【Linux】常用指令快速掌握

Linux常用指令 指令登录添加和删除普通用户ls 指令pwd & cd 指令touch 指令mkdir 指令tree 指令rm 指令man 指令nano 指令cp 指令mv 指令cat & tac 指令echo 指令more 指令less 指令head & tail 指令date & cal 指令find 指令which & whereis 指令alias 指…

【正项级数】敛散性判别(二)

【正项级数】敛散性判别(二) 比值判别法和根植判别法比值判别法和根植判别法例题比值/根植判别法失效时,该怎么处理?例题 比值判别法和根植判别法 比值判别法和根植判别法 例题 例1 一般遇到阶乘,为了方便约分&…

Java凉了吗?还能不能学Java?过来人谈谈看法!

别说Java,前端、python、C、C,哪一个没被提过“凉”?归根结底问题始终都只是一个:人确实改变了行业标准,但是人才过剩并不会造成行业衰退。 不可否认,现在Java技术栈相比前几年确实被不断拉长,难…

解决Tomcat控制台乱码、HTML乱码、system.out.println输出乱码、out.print乱码

开发环境 JDK8、IDEA 2023.1.2 (Ultimate Edition)、Tomcat 9.0.71 Tomcat控制台乱码 第一步:修改Tomcat目录下的 ./conf/logging.properties 文件,将3处UTF-8改为GBK,分别对应下图 IDEA 中的3个控制台的输出 第二步:删掉无用…

MySQL8.0与5.7版本的下载、安装与配置(atguigu)(史上最全最详细)

MySQL8.0与5.7版本的下载、安装与配置(atguigu)(史上最全最详细) 目录 MySQL8.0与5.7版本的下载、安装与配置(atguigu)(史上最全最详细)MySQL 8.0的下载MySQL5.7的下载MySQL8.0的安装…

01-初识threejs

基本概念 场景(Scene):场景是 three.js 中所有 3D 对象的容器。它包含了所有的相机、灯光、几何体、材质、纹理等对象。相机(Camera):相机定义了场景中的视角。它控制了场景中哪些部分会被渲染出来&#x…

逍遥自在学C语言 | 指针和数组的关联

前言 指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和数组指针。 一、人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学…

车友俱乐部APP小程序系统开发功能有哪些?

车友俱乐部APP小程序系统开发功能有哪些? 1、用户注册:用户首次使用需要使用个人信息进行注册,创建自己的账户并登录才能使用汽车俱乐部APP小程序系统所提供的各项服务。 2、品牌分类:车友俱乐部根据汽车品牌的不同…

6.16 map和set接口

目录 1 Map接口1.2 特点1.3 继承结构1.4 常用方法1.5 练习:Map常用方法测试2 HashMap2.3 练习:获取HashMap的数据2.4 练习:字符串中字符统计3、 set接口3.1 概述3.2 Set集合的特点3.3 常用方法3.4 HashSet3.5 练习: Set相关测试3.6 练习: Set…