[软件工程导论(第六版)]第2章 可行性研究(课后习题详解)

news2024/9/25 9:28:38

文章目录

    • 1. 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?
    • 2. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取 款,系统计算利息并印出利息清单给储户。写出问题定义并分析此系统的可行性。
    • 3. 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。写出问题定义并分析此系统的可行性。
    • 4. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。
    • 5. 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。用定义数据的方法,定义上述的电话号码。


1. 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面研究目标系统的可行性?

答:
(1)进行可行性研究的目的
可行性研究的目的是,用最小的代价在尽可能短的时间内研究并确定客户提出的问题能否解决。
(2)从下述三个方面研究每种解决方案的可行性
① 技术可行性:使用现有的技术能否实现这个系统。
② 经济可行性:这个系统的经济效益能否超过它的开发成本。
③ 操作可行性:这个系统的操作方式在该客户组织内是否行得通。

2. 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取 款,系统计算利息并印出利息清单给储户。写出问题定义并分析此系统的可行性。

  • (1)问题定义
    • ① 如果是存款,储户填写存款单,然后交给业务员键入系统,同时系统还要记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、利率等信息,完成后由系统打印存款单给储户。
    • ② 如果是取款,储户填写取款单,然后交给业务员,业务员把取款金额输入系统并要求储户输入密码以确认身份,核对密码正确无误后系统计算利息并印出利息清单给储户。
    • ③ 为了满足储户的需求,该系统需要迅速的对用户的要求做出反馈,要对用户输入的信息作出最快的处理,所以就需要很大的主存容量,以及强大的数据库支持。由于是所面向的用户是广泛的储蓄用户群,所以需要系统强大的安全性能支持。
  • (2)可行性研究方法条件、假定和限制
    • ① 建议开发软件运行的最短寿命:5年。
    • ② 进行系统方案选择比较的期限:2个月。
    • ③ 经费来源和使用限制:定制银行。
    • ④ 硬件、软件、运行环境和开发环境的条件和限制:银行中心拥有大型机以及用来支持的数据库,各个银行网点都有安好的PC机,安装有Windows2000及以上的操作系统。
    • ⑤ 建议开发软件投入使用的最迟时间:开发完成后试运行1个月。
  • (3)可行性研究方法
    • 通过与银行熟练业务员进行深入讨论,制定详细用户调查问卷,真正了解用户以及银行业务员的实际需求,根据业务员提供的信息以及问题定义再综合调查问卷中用户提出的意见进行改进。最终确定项目需要解决的问题,并确定问题能不能被解决。决定可行性的主要因素:项目开发成本、所需设备置办成本、技术是否能满足需求、操作人员的熟练程 度、资源有效性。
  • (4)处理流程和数据流程
    • ① 系统流程图

      • a.存款
        • 在这里插入图片描述
      • b.取款
        • 在这里插入图片描述
    • ② 数据流图

      • 在这里插入图片描述
      • 在这里插入图片描述
  • (5)分析影响因素
    • ① 工作负荷
      • 当前大多数银行所使用的银行储蓄系统在办理业务时手续繁琐,人工业务操作过多,办理一个客户的业务就需耗费较长的时间,给银行工作人员增加了非常大的负担和额外的工作负荷。
    • ② 费用支出
      • 包括银行业务员及其他工作人员的工资,系统维护所需资金。
    • ③ 人员
      • 需要大量的业务员、客服人员,系统维护人员以及其他工作人员。
    • ④ 设备
      • 包括打印机、PC机、笔记本电脑。
    • ⑤ 局限性
      • 工作效率低下,不能符合大量群众的及时需求,给群众的生活带来不便。具体问题如下:
      • a.当前银行使用的银行储蓄系统在办理业务时仅仅靠手工操作,人工业务占据了全部。对银行业务员的业务素质和数量都提出了很高的要求。
      • b.用纸张记录保存用户存款记录查找繁琐,耗时久,不方便,且容易丢失。且人工记录易发生差错。
      • c.存款记录保密性差,任何一个业务员都可以随意更改查阅用户数据,用户的资料容易泄漏。
      • d.业务员服务的时间有限,不能24小时办理业务,没有应急处理。
      • e.简单的业务经改进可由机器完成,这样节约了人力成本,也提高效率。
      • f.对现有系统的改进维护只能依靠增多业务员数量,增多银行分行数目,提高业务员业务素质来实现。增多业务员数量会导致银行人员支出大大增多,同时需要多选址建设分行,或者扩大分行规模,费用代价巨大。业务员的业务素质需要培养,不能短期见成效,这又浪费资金和人力资源。对现用系统的改进型维护已经不能解决储户越来越多、储户时间越来越长的问题。

3. 为方便旅客,某航空公司拟开发一个机票预订系统。旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。写出问题定义并分析此系统的可行性。

  • (1)问题定义
    • ① 目标:在一个月内建立一个高效率,无差错的航空公司机票预定系统。
    • ② 存在的主要问题:人工不易管理,手续繁琐。
  • (2)可行性分析
    • ① 经济可行性
      • a.成本估算
        • 打印机一台(2000元)+开发费(3500元)=5500元
      • b.效益估算
        • 该系统有很好的社会效益,提高了公司售票效率,方便旅客,售票方便、科学。
    • ② 技术可行性
      • 经过调查分析,得到目前航空公司机票预定系统流程图如图2-8所示。
      • 图2-8 订票系统流程图
      • 在这里插入图片描述
    • ③ 操作的可行性
      • 比较以上两图看出,与人工系统相比,计算机保留了原有的主要工作流程,可以看出计算机系统是人工系统的优化,操作也不复杂,工作人员在短时间经过培训就可熟练掌握。
    • ④ 结论
      • 由于经济、技术、操作三方面的可行性分析都通过,因此开发航空公司机票预定系统是可行的。

4. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并且分析开发这个系统的可行性。医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。

  • (1)问题定义
    • ① 本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求的病情报告相关信息。从系统应该“定时记录病人情况以形成患者日
      志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。
    • ② 本系统的数据终点是接收警告信息和病情报告的护士。系统对病人生理信号的处理功能主要是“接收信号”“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”“更新日志”和“产生病情报
      告”的功能。
  • (2)分析可行性
    • 为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日
      志”显然也是一个数据存储。本系统的基本系统模型如图2-9所示,图2-10是本系统的功能级数据流图。
      • 图2-9 患者监护系统的基本系统模型
      • 在这里插入图片描述
      • 图2-10 患者监护系统的功能级数据流图
      • 在这里插入图片描述

5. 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。用定义数据的方法,定义上述的电话号码。

  • (1)电话号码=[校内电话号码|校外电话号码]
  • (2)校内电话号码=非零数字+3位数字
  • (3)校外电话号码=[本市号码|外地号码]
  • (4)本市号码=数字零+8位数字
  • (5)外地号码=数字零+3位数字+8位数字
  • (6)非零数字=[1|2|3|4|5|6|7|8|9]
  • (7)数字零=0
  • (8)3位数字=3{数字}3
  • (9)8位数字=非零数字+7位数字
  • (10)7位数字=7{数字}7
  • (11)数字=[0|1|2|3|4|5|6|7|8|9]
  • 其中,“[]”意思是“或”,如“[校内电话号码|校外电话号码]”表示从校内电话号码或校外电话号码中选择一个;“{}”表示“重复”,两边的数字表示重复次数的下限和上限;“=”意思是“定义为”;“+”意思是“和”,连接两个分量。

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

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

相关文章

ThreadLocal 内存泄漏问题

1. 认识ThreadLocal java中提高了threadlocal&#xff0c;为每个线程保存其独有的变量&#xff0c;threadlocal使用的一个小例子是&#xff1a; public class ThreadLocalTest {public static void main(String[] args) {ThreadLocal<String> threadIds new ThreadLoc…

FreeRTOS系统延时函数分析

FreeRTOS提供了两个系统延时函数&#xff0c;相对延时函数vTaskDelay()和绝对延时函数vTaskDelayUntil()。相对延时是指每次延时都是从任务执行函数vTaskDelay()开始&#xff0c;延时指定的时间结束&#xff0c;绝对延时是指每隔指定的时间&#xff0c;执行一次调用vTaskDealyU…

操作系统闲谈07——系统启动

操作系统闲谈07——系统启动 一、BIOS启动 BIOS程序不需要由谁加载&#xff0c;本身便固化在ROM只读存储器中。 开机的一瞬间 cs:ip 便被初始化为0xf000 : 0xfff0。开机的时候处于实模式&#xff0c;其等效地址为0xffff0&#xff0c;如上图所示此地址为BIOS的入口地址。 建立…

C/C++每日一练(20230218)

目录 1. 整数转罗马数字 2. 跳跃游戏 II 3. 买卖股票的最佳时机 IV 1. 整数转罗马数字 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X …

物联网中RocketMQ的使用

物联网中RocketMQ的使用 1. 背景 随着物联网行业的发展、智能设备数量越来越多&#xff0c;很多常见的智能设备都进入了千家万户&#xff1b;随着设备数量的增加&#xff0c;也对后台系统的性能提出新的挑战。 在日常中&#xff0c;存在一些特定的场景&#xff0c;属于高并发请…

Java数据类型、基本与引用数据类型区别、装箱与拆箱、a=a+b与a+=b区别

文章目录1.Java有哪些数据类型2.Java中引用数据类型有哪些&#xff0c;它们与基本数据类型有什么区别&#xff1f;3.Java中的自动装箱与拆箱4.为什么要有包装类型&#xff1f;5.aab与ab有什么区别吗?1.Java有哪些数据类型 8种基本数据类型&#xff1a; 6种数字类型(4个整数型…

java ssm志愿者信息服务平台springmvc

志愿者服务平台&#xff0c;采用ssm框架技术&#xff0c;java语言&#xff0c;jsp前端页面以及js&#xff0c;DIVCSS&#xff0c;html5等技术综合应用开发实现。志愿者服务平台&#xff0c;采用了前台后台的模式开发&#xff0c;前台用于志愿者在线项目培训&#xff0c;视频学习…

CUDA编程接口

编程接口 文章目录编程接口3.1利用NVCC编译3.1.1编译流程3.1.1.1 离线编译3.1.1.2 即时编译3.1.2 Binary 兼容性注意&#xff1a;仅桌面支持二进制兼容性。 Tegra 不支持它。 此外&#xff0c;不支持桌面和 Tegra 之间的二进制兼容性。3.1.3 PTX 兼容性3.1.4 应用程序兼容性3.1…

Kafka框架快速入门及异步通知

文章目录1、异步通信原理1.1 观察者模式1.2 生产者消费者模式1.3 缓冲区1.4 数据单元2、消息系统原理2.1 点对点消息传递2.2 发布订阅消息传递3、Kafka简介3.1 设计目标3.2 Kafka的优点4、Kafka系统架构4.1 Broker4.2 Topic4.3 Partition4.4 Leader4.5 Follower4.6 replication…

ACL与NAT

ACL---访问控制列表&#xff0c;是一种策略控制工具 功能&#xff1a;1.定义感兴趣流量&#xff08;数据层面 &#xff09; 2.定义感兴趣路由&#xff08;控制层面&#xff09; ACL 条目表项组成&#xff1a; 编号规则&#xff1a;步数或者跳数默认值为5&#xff0c;…

Rancher 部署 MySQL

文章目录创建 pvc部署 MySQL前置条件&#xff1a;安装 rancher&#xff0c;可参考文章 docker 部署 rancher 创建 pvc MySQL 数据库是需要存储的&#xff0c;所以必须先准备 pvc 创建 pvc 自定义 pvc 名称选择已经新建好的 storageclass&#xff0c;storageclass 的创建可参考…

Mac os如何安装绿盾客户端

环境&#xff1a; Apple Mac mini 八核M1芯片 8G 256G Mac os 11.0 问题描述&#xff1a; Mac os如何安装绿盾客户端 解决方案&#xff1a; 一、关闭系统保护 1.关机电脑&#xff0c;按住“开机键”不放直到屏幕上出现“选项” 点击“继续”&#xff0c;等待进入恢复模…

github 使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录一、git与github二、出错的地方1.GitHub没有css样式2、git clone出现错误3、明明创建了responsibility 但git 不显示一、git与github 这个博客写的很好&#xff01;…

剔除绿化后的比较可靠的评价模型

sheet4权重实际评分&#xff08;越高越不好&#xff09;&#xff08;0-5分&#xff09;正向化&#xff08;5-X&#xff09;后分别与权重相乘得到该地的总分总分高&#xff0c;排名高为好&#xff0c;即污染小排序后

【Kubernetes】第三篇 - ci-server 构建节点 Docker、Jenkins 环境搭建

一&#xff0c;前言 上一篇&#xff0c;主要介绍了阿里云服务器的采购和简单配置&#xff1a; 三台服务器规划如下&#xff1a; 服务配置内网IP外网IP说明ci-server2c4g172.17.178.104182.92.4.158Jenkins Nexus Dockerk8s-master2c4g172.17.178.10547.93.9.45Kubernetes …

ARM uboot 源码分析5 -启动第二阶段

一、start_armboot 解析6 1、console_init_f (1) console_init_f 是 console&#xff08;控制台&#xff09;的第一阶段初始化。_f 表示是第一阶段初始化&#xff0c;_r 表示第二阶段初始化。有时候初始化函数不能一次一起完成&#xff0c;中间必须要夹杂一些代码&#xff0c;…

ccc-pytorch-回归问题(1)

文章目录1.简单回归实战&#xff1a;2.手写数据识别1.简单回归实战&#xff1a; 用 线性回归拟合二维平面中的100个点 公式&#xff1a;ywxbywxbywxb 损失函数&#xff1a;∑(yreally−y)2\sum(y_{really}-y)^2∑(yreally​−y)2 迭代方法&#xff1a;梯度下降法&#xff0c;…

【QA】[Vue/复选框全选] v-model绑定每一项的赋初值问题

发生场景&#xff1a;不只是复选框的状态改变&#xff0c;还有的功能要用到复选框的选中状态&#xff0c;比如&#xff1a;购物车计算总价&#xff0c;合计等等。 引入&#xff1a;复选框 checkbox 在使用时&#xff0c;需要用v-model绑定布尔值&#xff0c;来获取选中状态&…

一台电脑安装26个操作系统(windows,macos,linux,chromeOS,Android,静待HarmonyOS)

首先看看安装了哪些操作系统1-4: windows系统 四个5.Ubuntu6.deepin7.UOS家庭版8.fydeOS9.macOS10.银河麒麟11.红旗OS12.openSUSE Leap13.openAnolis14.openEuler(未安装桌面UI)15.中标麒麟&#xff08;NeoKylin&#xff09;16.centos17.debian Edu18.fedora19.oraclelinux(特别…

Rust Web入门(一):TCP 和 HTTP Server

本教程笔记来自 杨旭老师的 rust web 全栈教程&#xff0c;链接如下&#xff1a; https://www.bilibili.com/video/BV1RP4y1G7KF?p1&vd_source8595fbbf160cc11a0cc07cadacf22951 学习 Rust Web 需要学习 rust 的前置知识可以学习杨旭老师的另一门教程 https://www.bili…