可行性研究

news2024/11/24 7:58:37

可行性研究

    • 可行性研究:分析和设计的压缩和简化,在高层抽象进行系统的分析和设计
        • 目的:最小代价在尽可能短的时间确定问题能否解决
      • 分析过程:
      • 可行性方面:
      • 步骤:
    • 系统流程图:用图形符号以黑盒形式描绘系统部件:表述数据流动情况
      • ==数据流图:(DFD) 描绘信息和数据流的流动和处理逻辑==
        • 画法:
        • 例题:
        • 数据字典:数据流图中包含元素的定义集合
        • 例题:
    • ==软件开发成本估计(成本效益分析):人力消耗==
      • ==成本/效益分析==
    • 补充
      • 基于计算机系统的元素
    • 计算机系统工程:是一个问题求解的活动。
      • 目的:
      • 任务:
    • 可行性分析
      • 内容:
        • 经济:成本/效益分析
        • 技术:
      • 法律:
    • 结论

可行性研究:分析和设计的压缩和简化,在高层抽象进行系统的分析和设计

目的:最小代价在尽可能短的时间确定问题能否解决

分析过程:

  1. 问题定义
  2. 导出逻辑模型->(数据流图+数据字典)
  3. 探索可选择的主要解法
  4. 研究解法可行性

可行性方面:

  • 技术:现有技术能否实现
  • 经济:经济效益与开发成本
  • 操作:操作方式与用户系统的兼容
  • 其他(包括社会与法律)

步骤:

do{
  复查系统规模和目标(问题定义和约束限制)
  研究当前正在使用的系统(能做到的)
  导出新系统的高层逻辑模型{
    现有物理系统->现有逻辑模型->目标逻辑模型->目标物理系统
  }
  进一步定义问题
}while(确认有误)
导出评价供系统选择的解法{
  if(!技术){
    排除;
  }else if(!操作){
    排除;
  }else if(!经济){
    排除
  }
}
推荐行动方针{
  可行?继续:中断;
}
草拟开发计划书{
  进度表
  开发人员,计算机资源
  估算成本,阶段分析
}
文档提交审查


系统流程图:用图形符号以黑盒形式描绘系统部件:表述数据流动情况

在这里插入图片描述

数据流图:(DFD) 描绘信息和数据流的流动和处理逻辑

在这里插入图片描述

画法:

确定输入输入,源点,终点
顶层数据流图
用(处理)连接(输入输出),并命名
自顶向下,细分为多个数据流图

例题:

银行计算机储蓄系统的工作过程大致如下∶储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息印出利息清单储户
在这里插入图片描述


数据字典:数据流图中包含元素的定义集合

  1. 数据流
  2. 数据流分量(数据元素)
  3. 数据存储
  4. 处理

数据字典分析阶段的工具,估计一个数据的影响,是数据库开发的第一步


在这里插入图片描述


例题:

北京某高校可用的电话号码有以下几类:

  1. 校内电话号码由4位数字组成,第1位数字不是0;
  2. 校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,
  3. 若是本市电话则再接着拨8位数字(第1位不是0),
  4. 若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。

电话 = [校内电话|校外电话]

校内电话 = 非零数字+3位数字

校外电话 = [本市电话|外地电话]

本市号码 = 0 + 非零数字 + 7位数字

外地号码 = 0 + 3位数字 + 非零数字 + 7位数字

非零数字 = [ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]

3位数字 = 3 {数字} 3

7位数字 = 7 {数字} 7

数字 = [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]


软件开发成本估计(成本效益分析):人力消耗

  1. 代码行:代码量估计 成本=代码平均成本*代码行数
  2. 任务分解:分解求和

任务成本 = 人力*平均工资

软件成本 = ∑ 任 务 成 本 ∑任务成本


  1. 自动估算成本:利用软件工具

成本/效益分析

通常用利率的形式表示货币的时间价值。假设年利率为i ii,如果现在存入P PP元。则n nn年后可以得到的钱数为: F = P ( 1 + i ) n F=P(1+i)^n F=P(1+i)n
,也就是P PP元钱在n nn年后的价值。反之,如果n nn年后能收入F FF元钱,那么这些钱现在的价值是:$P = F / ( 1 + i ) ^n $

  • 货币时间价值: F = P ( 1 + i ) n F=P(1+i)^n F=P(1+i)n
  • 投资回收期
  • 纯收入
  • 投资回收率

补充

基于计算机系统的元素

基于计算机的系统通过处理信息来完成某些预定义目标而组织在一起的元素的集合。
组成基于计算机系统的主要元素软件、硬件、人员、数据库、文档和规程(Procedure)。
软件指计算机程序、数据结构和相关的工作产品,它们被用于实现所需的逻辑方法、规程或控。硬件指提供计算能力的电子设备、支特数据流的互连设备(如网络交换器、电信设备)和提供外部世界功能的电子机械设备(如传感器、马达等)。

计算机系统工程:是一个问题求解的活动。

目的:

分析基于计算机的系统的功能、性能等要求,并把它们分配到基于计算机系统的各个系统元素中,确定它们的约束条件和接口。

任务:

识别用户的要求标识系统的功能和性能范围,确定系统的功能、性能、约束和接口
系统建模和模拟(图形描述或文字说明)硬件系统模型:描述基于计算机系统中的硬件配置、通信协议、拓扑结构,以及安全性可靠性、性能等要求的措施。
软件系统模型:描述各软件子系统的功能、性能等要求,它们在硬件系统中的部署情况,以及软件子系统之间的交互。
人机接口模型:描述人如何与基于计算机的系统进行交互,包括用户环境、用户的活动人机交互的语法和语义等。
数据模型:描述基于计算机的系统使用的数据库管理系统及其之间的交互,必要时可给出主要的数据结构。
成本估算及进度安排对将开发的基于计算机的系统进行成本估算,并作出进度安排。
可行性分析从经济、技术、法律等方面分析所给出的解决方案是否可行。通常只有当解决方案可行并有一定的经济效益和/或社会效益时才开始真正的基于计算机的系统的开发。
生成系统规格说明作为以后开发基于计算机的系统的依据。

可行性分析

原因:开发一个基于计算机的系统通常都受到资源(人力、财力、设备等)和时间上的限制。目的:可行性分析主要从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。

内容:

经济:成本/效益分析

成本:
基于计算机的系统的成本主要包括购置硬件、软件(如数据库管理系统、第三方开发的构件等)设备(如传感器等)的费用。系统的开发费用。系统安装、运行和维护费用。人员培训费用。
效益:
经济效益包括使用基于计算机的系统后可增加的收入和可节省运行费用(如操作人员数、工作时间、消耗的物资等)。在进行本效益分析时通常只统计五年内的经济效益。社会效益指使用基于计算机的系统后对社会产生的影响(如提办事效益,提高用户满意度等),通常社会效益只能定性地估计。

技术:

技术可行性主要根据系统的功能、性能、约束条件等,分析在现有资源和技术条件下系统能否实现。
风险分析:分析在给定的约束条件下设计和实现系统的风险.目的:找出风险,评估风险的大小,并有效地控制和缓解风险。
采用不成熟的技术可能造成技术风险。
人员流动可能给项目带来风险。
成本和人员估算不合理造成的预算风险。

资源分析:论证是否具备系统开发所需的各类人员、软件、硬件等资源和相应的工作环境。技术分析:分析当前的科学技术是否支持系统开发的各项活动。在技术分析过程中,分析员收集系统的性能、可靠性、可维护性和生产率方面的信息,分析实现系统功能、性能所需的技术、方法、算法或过程
从技术角度分析可能存在的风险,以及这些技术问题对成本的影响。
通常需要系统建模,必要时需要原型模拟

法律:

研究系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题
法律可行性分析的主要依据:
《中华人民共和国著作权法实施条例》中将计算机软件作为著作权法的保护对象。
《计算机软件保护条例》

结论

可以立即开始进行。需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行。需要对开发目标进行某些修改之后才能开始进行。因为某种原因(如,技术不成熟、经济上不合算等)不能进行。

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

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

相关文章

如何将C/C++代码转成webassembly(Linux环境)

如何将C/C代码转成webassembly_omage的博客-CSDN博客学习如何将C/C代码转成webassemblyhttps://blog.csdn.net/omage/article/details/128163526?spm1001.2014.3001.5501 上篇笔者分享了在window环境下如何将C/C代码编译成webassembly,当中用了非常简单的C代码…

避免踩坑的Github学生认证申请教程

避免踩坑的快速Github学生认证申请教程 直接上干货! 踩坑在于: 用了校卡以及在线验证报告无法通过Github学生认证, 需要用英文版的在线验证报告(网页版翻译就可以)的截图点击upload(无需拍照)&a…

【信息检索与数据挖掘期末复习】(五)Language Model

什么是语言模型? 一个传统的语言生成模型可以用于识别或生成字符串 我们可以将有穷自动机看作是一种确定性的语言模型 基本模型:每一个文档都是通过一个像这样的自动机生成的,只不过这种自动机是有概率的 一种最简单的语言模型等价于一个…

阿拉伯糖偶联核苷酸,UDP-b-L-arabinopyranose disodium salt,UDP-β-L-Ara.2Na

产品名称:阿拉伯糖偶联核苷酸 英文名称:UDP-b-L-arabinopyranose disodium salt,UDP-β-L-Ara.2Na CAS号:15839-78-8 分子式:C14H22N2O16P2 分子量:536.27600 纯度:98% 规格:1mg …

从零开始的Linux 阿里云ECS服务器搭建、FileZilla和宝塔

云服务器ECS概述 云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS级别云计算服务,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,免去了您采购IT硬件的前期准备&#x…

会员一卡通是什么?

昨天我们讨论了收银系统和给公众号的联合使用,最大的功能就是实现会员卡电子化、双方可以互动交流、会员账号信息随时可查看,但如果店铺比较小,不愿意花时间经营公众号或者小程序,那么还有什么办法做到电子会员卡呢? 会员一卡通可…

Java9-17新特性一览,了解少于3个你可能脱节了

前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于某一块。 本篇就是博主对…

基于N32G45的OLED驱动

基于N32G45的OLED驱动 基于N32G45硬件SPI驱动OLED屏幕1.OLED简介 OLED,即有机发光二极管( Organic Light Emitting Diode)。 OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用…

RPC模型

这里写目录标题1. 简介2. RPC有理函数模型3. 优秀的RPC相关知识博文3.1 RPC和RPB文件相关信息3.2 Matlab实现RPC正算反算3.3 使用Gdal进行批量的影像RPC正射校正3.4 (Python)卫星RPC有理多项式模型读取与正反投影坐标计算原理与实现3.5 高分影像批处理第…

感知算法工程师面试===目标检测===YOLO V4(改)

感觉V3 到V4,YOLO的整体架构并没有重大的改进,只是增加了很多的trick 先展示一下V4的整体网络结构 ↑\uparrow↑这个是对比V3的 如图可见,V4的结构依然是主干网络金字塔头部检测器,所有的改进都是为了更好更快的检测目标。 ↑\…

02-SpringBoot基础

一、回顾 二、知识目标 SpringBoot概述【了解】 SpringBoot快速入门【掌握】 SpringBoot启动原理【重点】 SpringBoot配置文件【掌握】 SpringBoot属性注入【掌握】 三、为什么使用SpringBoot? -SSM开发有哪些痛点? 1、在早期我们都是使用的是SSM来…

web前端期末大作业:美食网站设计与实现——HTML+CSS+JavaScript休闲美食餐饮公司网站静态模板(6个页面)

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

POI在指定excel插入行java

我想在第三行&#xff0c;插入数据库的数据&#xff0c;这里假如数据库有10条&#xff0c;并且继承第二行的格式 数据库数据 {"clark",25}&#xff0c;我写个json对象&#xff0c;10条这个 造数据代码 JSONArray jsonArray new JSONArray();for (int i 0; i <…

Mac 安装mysql8.0

1. 确认下载的版本 并下载dmg文件 官网下载dmg安装文件 &#xff0c;查看自己电脑用的是什么芯片 选择对应版本的安装包&#xff0c;终端命令&#xff1a; uname -a 参考&#xff1a;http://www.yaotu.net/biancheng/13817.html 系统偏好设置里是 英特尔的i7处理器 并且查询…

可观测性-Metrics-Tomcat连接数、线程数理解以及压测记录

文章目录背景原理压测5个并发压测10个并发压测60个并发压测61个并发压测背景 为了搞懂Tomat的连接线程模型&#xff0c;搞清楚每个配置参数的作用&#xff0c;实际压测看一下是否与预期一致。 Tomcat配置如下&#xff1a; server:# tomcat配置tomcat:# 允许最大连接数,默认8…

磁盘和文件系统管理(一)

检测并确认新硬盘 fdisk命令 查看或管理磁盘分区 fdisk -l [磁盘设备] 或 fdisk [磁盘设备] 交互模式中的常用指令 m、p、n、d、t、w、q d delete a partition * 删除分区 g create a new empty GPT partition table 创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区) l…

Java - Object#finalize在JDK9中被标记废弃了!

Java - Object#finalize在JDK9中被标记废弃了&#xff01; 时间&#xff1a;2022年12月6日01:34:10 目录&#xff1a; ① 为什么要废弃&#xff1f; ② 废弃后&#xff0c;使用什么方式主动监测对象是否被回收&#xff1f; 一、为什么要废弃&#xff1f; ⚡注意&#xff1a;废…

ChatGPT成精了!

最近几天&#xff0c;朋友圈、公众号都被 ChatGPT 刷屏了。 更有不少标题党吹嘘 “谷歌要完&#xff0c;百度也危了”。 那么它到底有没有网上吹的这么神奇呢&#xff1f; 我亲测了一把&#xff0c;感觉确实非常惊艳&#xff01; 例如&#xff1a; 看着还不错&#xff0c;每…

20221206英语学习

今日新词&#xff1a; outwards adv.向外, 朝外 outrage n.义愤&#xff0c;愤慨&#xff1b;暴行&#xff0c;骇人听闻的事件 drown v.淹没, 溺死, 浸透, 浸泡 visit n.访问, 参观, 看望, 游览 setting n.环境, 背景, &#xff08;戏剧、小说等的&#xff09;情节背景&am…

面试题: Hive-SQL查询连续活跃登录用户思路详解

文章目录创造数据登录日志去重一、思路一1.1、分组排序1.2、日期减去计数值得到结果, 用户连续登陆情况下&#xff0c;每次相减的结果都相同1.3、根据 user_id 和 dis 分组&#xff0c;得到用户的 开始、结束时间、连续登录天数1.4、连续登录超过两天用户二、思路二&#xff1a…