软件工程期末复习(5)

news2024/11/25 19:52:47

可行性研究

可行性研究的任务

可行性研究的目的:

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

可行性研究的实质:

就是一次压缩、简化了的系统分析和设计的过程。

可行性研究的路线:

  • 分析和澄清问题定义;
  • 导出系统逻辑模型;
  • 探索若干种可供选择的主要解法(系统实现方案);
  • 对每种解法进行可行性研究;
  • 为每种可行的解法制定一个粗略的实现进度。

可行性研究应着重考虑如下几个方面:

  • 技术可行性:使用现有的技术能否实现这个系统。
  • 经济可行性:进行成本∕效益分析。从经济角度判断系统开发是否“合算”。
  • 操作可行性:系统的操作方式在这个用户组织内是否行得通。
  • 法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。
  • 开发方案的选择性研究:提出并评价实现系统的各种开发方案,并推荐较优方案。

可行性研究最根本的任务:对以后的行动方针提出建议

  • 如果问题没有可行的解,应建议停止项目。
  • 如果问题值得解,应推荐一个较好的解决方案,并为项目制定一个初步的计划。

可行性研究的成本一般为预期总成本的5%~10%。

研究正在使用的系统,导出新系统的逻辑模型

导出和评价供选择的解法

 

可行性研究过程:

  • 书写文档提交审查,重要的内容应该有:
  • 项目背景:问题描述、实现环境、限制条件;
  • 管理概要和建议:重要的研究结果、说明、建议、影响;
  • 系统描述:系统工作范围的简要说明、系统元素的可行性;
  • 候选方案:候选系统的配置、最终方案的选择标准;
  • 经济可行性(成本/效益分析);
  • 技术可行性(技术风险评价);
  • 法律可行性;
  • 用户使用可行性:用户单位的行政管理和工作制度以及员工的素质;
  • 其他与项目有关的问题:其他方案介绍、未来可能的变化。

可行性研究系统流程图

系统流程图:

是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。包括程序、文档、数据库和人工过程等。它表达了数据在系统各部件之间的流动情况。

 

 系统流程图实例:

例:某装配厂有一座零件仓库,仓库中现有各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的临界值时,则应报告给采购部门以便定货。规定每天向采购部门送一次定货报告。

装配厂使用一台小型计算机处理更新库存清单主文件产生定货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中; 系统中的库存清单程序负责对事务进行处理,更新存储在磁盘上的库存清单主文件; 必要的定货信息写在磁带上; 每天由报告生成程序读一次磁带,生成并打印出定货报告

  • 用一张高层次的系统流程图描绘系统的总体概貌,表明系统的关键功能;
  • 分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上;
  • 便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。

可行性研究成本/效益分析

成本/效益分析的第一步是估计开发成本运行费用和新系统将带来的经济效益

成本估计

  • 软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)
  • 代码行技术
  • 任务分解技术
  • 自动估计成本技术

成本估计的例子:e=(a+4m+b)/6

 

  • 运行费用取决于系统的操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用
  • 经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用
  • 在进行成本/效益分析时一律假设生命周期为5年

成本/效益分析的方法

货币的时间价值

i—年利率;

P—现在存入的钱数;

n—年数;

n年后可以获得的钱数为F=P(1+i)n

反之,如果n年后能收入F元,这些钱的现在价值为P=F/(1+i)n

投资回收期:

  • 使累积的经济效益等于最初投资所需要的时间
  • 投资回收期越短,就能越快地获得利润
    • 这项工程也就越值得投资

纯收入:

  • 在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差

投资回收率:

  • 把资金存入银行或贷给其他企业能够获得利息
    • 通常用年利率衡量利息多少
  • 类似的也可以计算投资回收率
    • 用它衡量投资效益的大小,并同年利率进行比较
  • 投资回收率 = 银行的年利率
    • 此系统没有必要开发,因为它不能增加收入
  • 投资回收率 > 年利率
    • 才考虑开发问题
  • P=F1/(1+j)+F2/(1+j)2+…+Fn/(1+j)n

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

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

相关文章

在word中创建宏来多级列表的编号不显示的bug

出现问题的示意图如下,可以看出标题前面1.1消失了 第一步:选择开发工具 第二步: 第三步:选择当前文件(创建宏后,方便查找) 第四步: 第五步:打卡VB 第七步&#xf…

汇昌联信:拼多多入驻条件是哪些?

在电商领域,拼多多以其独特的团购模式迅速崛起,吸引了众多商家的目光。想要在拼多多上开店,了解其入驻条件是必不可少的第一步。下面将详细解读拼多多的入驻条件,帮助有意加入的商家们做好准备。 一、企业资质要求 想要成功入驻拼…

人工智能中的概率魔法:解锁不确定性的智慧之钥

在人工智能(AI)的广阔天地中,概率论以其独特的魅力,成为了连接现实世界与智能决策的桥梁。从语音识别到图像识别,从自然语言处理到机器翻译,从智能推荐到自动驾驶,概率论知识在这些领域中发挥着…

SpringCloud 集成 RocketMQ 及配置解析

文章目录 前言一、SpringCloud 集成 RocketMQ1. pom 依赖2. yml 配置3. 操作实体4. 生产消息4.1. 自动发送消息4.2. 手动发送消息 5. 消费消息 二、配置解析1. spring.cloud.stream.function.definition 前言 定义 Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力…

文件流-二进制文件(中北大学-程序设计基础(2))

目录 题目 源码 结果示例 题目 建立两个二进制磁盘文件f1.dat,f2.dat,编程实现以下工作: (1)将20个整数(可在程序中初始化),分别存放到两个磁盘文件中,前10个放到f1.dat中&…

C++类和对象下——实现日期类

前言 在学习了类和对象的六大成员函数后,为了巩固我们学习的知识可以手写一个日期类来帮助我们理解类和对象,加深对于其的了解。 默认函数 构造函数 既然是写类和对象,我们首先就要定义一个类,然后根据实际需要来加入类的数据与函…

windows和Linux卸载移动磁盘

文章目录 Linux卸载磁盘target is busy.window卸载磁盘打开事件查看器 Linux卸载磁盘target is busy. #查看有哪些进程访问挂载点 lsof /media/lei/repository/#杀死进程 pkill node window卸载磁盘 #提示 #该设备正在使用中. 请关闭可能使用该设备的所有程序或窗口,然后重试…

【React】redux开发者工具redux-devtools-extension的安装和使用

前言 redux-devtools-extension: 是一个用于Redux的开发者工具扩展。适合用于需要调试和监控Redux应用的状态管理。特点是可以提供实时的状态查看、行动日志和错误检测等 安装 chrome安装redux-devtools-extension 项目中安装并引入redux-devtools-extension yarn add re…

强化学习——马尔可夫奖励过程的理解

目录 一、马尔可夫奖励过程1.回报2.价值函数 参考文献 一、马尔可夫奖励过程 在马尔可夫过程的基础上加入奖励函数 r r r 和折扣因子 γ \gamma γ&#xff0c;就可以得到马尔可夫奖励过程&#xff08;Markov reward process&#xff09;。一个马尔可夫奖励过程由 < S , …

C++语言的字符数组

存放字符数据的数组是字符数组&#xff0c;字符数组中的一个元素存放一个字符。字符数组具有数组的共同属性。 1. 声明一个字符数组 char c[5]; 2. 字符数组赋值方式 &#xff08;1&#xff09;为数组元素逐一赋值 c[0]H c[1]E c[2]L c[3]L c[4]O &#xff08;2&…

【JVM】从可达性分析,到JVM垃圾回收算法,再到垃圾收集器

《深入理解Java虚拟机》[1]中&#xff0c;有下面这么一段话&#xff1a; 在JVM的各个区域中&#xff0c;如虚拟机栈中&#xff0c;栈帧随着方法的进入和退出而有条不紊的执行者出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的&#xff08;尽管在…

【qt】数值的输入与输出

数值的输入与输出 一.与c中的输入与输出的区别二.QString转数值三.数值转QString1.number()2.asprintf() 四.小项目1.总价和进制2.QSpinBox代替3.QSlider滑动块4.QScrollBar滚动条5.QDial表盘6.QLcdnumber lcd显示 五.总结一下下 一.与c中的输入与输出的区别 在c中我们一般通过…

java项目之相亲网站的设计与实现源码(springboot+mysql+vue)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的相亲网站的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 相亲网站的设计与实…

泛微E9开发 添加多个多选框,实现单选框的效果

利用多个多选框实现单选框的效果 1、功能背景2、展示效果3、实现效果 1、功能背景 如下图所示&#xff0c;在表单中新增四个“选择框-复选框”类型的字段&#xff0c;并且设置其中的选项&#xff0c;每个多选框都只有一个选项&#xff0c;通过代码块实现单选框的效果 1.显示模…

网络工程师练习题

网络工程师练习题 下面的应用中,DHS基于UDP协议。在一台服务器上只开放25和110两个端口,这太服务器可以提供E-Mail服务。与HTTP相比,HTTPS协议将传输的内容进行加密,更加安全。HTTPS基于SSL安全协议,其默认端口是443。某单位网络拓扑如图所示。路由器AR2路由表内容如下所示…

彩虹易支付用户中心美化主题 模版源码

简介&#xff1a; 彩虹易支付用户中心美化主题 模版源码 使用本主题前请备份官方版本文件再进行解压到user目录替换&#xff01; 点击下载

笨方法自学python(九)-读写文件

读取文件 前面已经学过了 input 和 argv&#xff0c;这些是你开始学习读取文件的必备基础。你可能需要多多实验才能明白它的工作原理&#xff0c;这节练习涉及到写两个文件。一个正常的 ex15.py 文件&#xff0c;另外一个是 ex15_sample.txt&#xff0c;第二个文件并不是脚本&…

Lesson5--二叉树(超详细版)

【本节目标】 1. 树概念及结构 2. 二叉树概念及结构 3. 二叉树顺序结构及实现 4. 二叉树链式结构及实现 1.树概念及结构 1.1树的概念 树是一种 非线性&#xff08;线性结构就是顺序表链表&#xff09; 的数据结构&#xff0c;它是由 n &#xff08; n>0 &#xff09;个…

CSS表格

标准的表格结构 table标签&#xff1a;定义表格 caption标签&#xff1a;定义表格标题&#xff0c;这个标题会居中显示在表格上&#xff0c;一个表格只能定义一个标题 th标签&#xff1a;定义表格的表头&#xff0c;通常成粗体居中表示 tr标签&#xff1a;定义表格的一行 td标…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)解法

1.运行gpedit.msc&#xff0c;进入本地组策略编辑器。 2. 本地组策略编辑器-->计算机配置-->管理模板-->网络-->SSL配置设置-->启用“SSL密码套件顺序”。 3. 将原有的密码套件值清空&#xff0c;拷入下面的值&#xff0c;保存设置&#xff0c;并重启服务器即…