《软件工程(第4版?修订版)》—第1章1.9节信息系统的例子

1.9 信息系统的例子
软件工程(第4版•修订版)
本书每一章的结尾都有两个例子,一个是信息系统,另外一个是实时系统。我们把本章中描述的概念应用到每一个例子的相关部分,这样你就能够了解概念在实践中的含义,而不仅仅是理论上的含义。

信息系统的例子是从James和Suzanne Robertson写的Complete Systems Analysis:The Workbook, the Textbook, the Answers(Robertson and Robertson 1994)中抽取的(已获许可)。它是一个销售皮卡地里电视台广告时间的系统开发实例。皮卡地里电视台拥有英国本土一定区域的特许经营权。图1-16显示出皮卡地里电视台的覆盖地区。正如我们看到的那样,电视时段价格方面的约束很多,因此,这个问题很吸引人,难度也很大。本书强调了问题的诸多方面及其解决方案。Robertson的书介绍了获取和分析系统需求的详细方法。

在英国,广播委员会授予商业电视公司为期8年的特许经营权,给予它在国内严格规定区域播放节目的独家权限。作为回报,被授权者必须播放预先规定的短剧、喜剧、体育、儿童以及其他节目。而且对于什么节目在何时可以播放、节目内容和商业广告内容也有相应的规定。
广告商要向中部地区的观众播放广告,可以有若干选择:皮卡地里、有线频道和卫星频道。皮卡地里吸引了大部分观众。因此,皮卡地里必须设定价格以吸引广告商的国内预算的那一部分。吸引广告商注意力的方法之一是靠收视率,收视率反映了一天中不同时段观众的数量和类型。收视率根据节目类型、观众类型、一天的时段、电视公司等进行报告。但是,广告收费不仅仅取决于收视率。例如,如果广告商购买了很多小时的广告时间,那么每小时的价格可能会便宜一些。而且,特定时间和特定节目中广告的类型也是有限制的。例如:

酒类广告要在晚上9点以后才可以播放;
如果某个演员出现在电视剧中,那么有这个演员的广告不能在该电视剧播出后的45分钟内出现;
如果某类产品的广告(如汽车)是为特定的商业插播安排的,那么这一类的任何其他广告都不能在该插播中播出。
随着我们更详细地探讨这个例子,我们将注意到有关广告及其费用的其他规则和条例。从图1-17所示的系统环境图中,我们可以得知,系统的边界以及它如何与这些规则相联系。阴影的椭圆是我们的信息系统例子皮卡地里系统,系统边界是椭圆的圆周。箭头和长方形表示可能影响皮卡地里系统运转的项,但是,我们仅仅把它们作为一组输入和输出,它们分别具有自己的源地和目的地。

在后面的章节中,我们将使阴影椭圆中(即系统边界内部的)的活动和元素可见,用每章描述的软件工程技术检查这个系统的设计和开发。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-09-12 18:32:46

《软件工程(第4版?修订版)》—第1章1.9节信息系统的例子的相关文章

《软件工程(第4版?修订版)》—第2章2.5节信息系统的例子

2.5 信息系统的例子软件工程(第4版•修订版)让我们考虑一下用哪种开发过程来支持皮卡地里电视广告程序系统,回想到对什么时间可以销售何种类型的广告会有许多约束,并且条例可能随着广告标准局及其他制订条例的团体的管理而变化,我们希望建立一个易于维护.易于改变的软件系统.甚至存在这样一种可能,当构建系统的时候约束也可能发生变化. 就此系统而言,瀑布模型可能太严格了.因为在需求分析阶段完成之后,它几乎不允许变化.原型化方法对开发用户界面来说可能是有用的,因此,我们可能想在模型中包含某种类型的原型化.但是

《软件工程(第4版?修订版)》—第1章1.10节实时系统的例子

1.10 实时系统的例子软件工程(第4版•修订版)下面举个实时系统的例子,我们来看阿丽亚娜5型火箭中的嵌入式软件.阿丽亚娜5型火箭属于欧洲航天局(ESA).1996年6月4日,在它的首次航行中,发射大约飞行了40秒钟后开始偏离航向,在地面控制系统的引导下,火箭通过远程控制被销毁.销毁这个未保过险的火箭不仅损失了火箭本身,而且也损失了它装载的4颗卫星.这次灾难共造成5亿美元的损失(Newsbytes home page 1996:Lions et al. 1996). 从火箭导航系统到它各个组成部

《软件工程(第4版?修订版)》—第2章2.6节实时系统的例子

2.6 实时系统的例子软件工程(第4版•修订版)阿丽亚娜5型火箭的软件系统包含了从阿丽亚娜4复用的软件.复用的目的是为了降低风险.提高生产率和质量.因此,开发新的阿丽亚娜软件的任何过程模型都应当包含复用活动.尤其是过程模型必须包含一些活动以检查可复用构件的质量,还要包含一些安全措施,以确保复用的软件在新系统的设计环境下能够正确地工作. 这样一个过程模型有可能像图2-17所示的简化模型.图示模型中的方框表示活动.从左边进入方框的箭头表示资源,从右边离开方框的箭头表示输出,从顶部进入的箭头表示控制或

《Ruby程序员修炼之道》(第2版)—第1章1.1节进入Ruby的世界

第1章 进入Ruby的世界 Ruby程序员修炼之道(第2版) 本章主要内容 Ruby语法的生存工具箱① Ruby基础编程指引:程序编写.保存.运行和错误检查 Ruby安装指南 Ruby的扩展机制 Ruby中易用的命令行工具,包括交互式Ruby解释器(irb) 本书的内容是Ruby基础,而本章是基础中的基石.本章的目标是让读者在开始学习Ruby之前掌握足够的知识和技巧. 接下来读者将看到Ruby的基本语法和技术,以及Ruby的运行机制:如何写一个程序,怎样使用Ruby运行程序,以及如何把一个程序分

《Ruby程序员修炼之道》(第2版)—第1章1.4节易用的Ruby工具和应用程序

1.4 易用的Ruby工具和应用程序 安装Ruby后,就可以得到一组重要的命令行工具,它们被安装在配置信息bindir所指定的文件夹中,通常是/usr/local/bin./usr/bin或者/opt同等的目录中.(可以使用require "rbconfig"去测试一下RbConfig::CONFIG["bindir"]返回的结果.)这些命令行工具具体是以下几个. ruby:解释器. irb:Ruby交互式解释器. - rdoc和ri:Ruby文档工具. rake:

《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第1章1.6节模拟面试问答

1.6 模拟面试问答 本章介绍的是软件测试相关的背景,以及软件测试的发展情况等.身为软件测试员,应该或多或少地了解软件测试的发展动态,及其相关的历史事件等内容,这样无论是在与同行交流,向开发人员介绍和讲解测试,还是在应聘面试中,都会有更多的话题. 一般在应聘过程中,面试官可能会问到以下一些问题,读者可以根据自己的了解以及在本章中学到的内容做出相应的回答. (1)您觉得目前的软件测试行业的现状是怎样的? 参考答案:目前的软件测试行业在国内正在蓬勃地发展中,但是由于起步比较晚,虽然大部分公司都已经设

《Ruby程序员修炼之道》(第2版)—第1章1.3节Ruby扩展和编程库

1.3 Ruby扩展和编程库本节的要点并不是关于Ruby标准库的参考.曾在引言中解释过,本书的目标不是编写一本Ruby语言的参考文档,而是教会读者使用Ruby语言并掌握它,并最终拓宽视野. 相应地,本节的目标是讲述扩展的工作方式,即如何使用Ruby运行这些扩展.它们之间技术实现的不同,并最终能让用户自己编写扩展和库文件的扩展架构. 随Ruby发布的扩展通常全部作为标准库来引用.标准库包括为不同项目和任务所提供的扩展,如数据库管理.网络.数学领域.XML处理等.标准库精密的结构每次改变,哪怕只有一

《Ruby程序员修炼之道》(第2版)—第1章1.2节剖析Ruby的安装

1.2 剖析Ruby的安装在系统上安装Ruby意味着在许多磁盘目录中安装了Ruby语言的库和支持文件.大多数时候,Ruby都知道如何找到其所需要的这些目录而不用弹出提示.但是了解Ruby安装的知识对了解Ruby本身大有益处. 查看Ruby的源代码 除了Ruby安装目录体系之外,Ruby的源代码目录也安装好了.如果没有,可以到Ruby的主页中下载.源代码目录中包含了许多在最终安装中出现的Ruby文件和许多已编译为目标文件并安装好的C语言文件.另外,源代码目录包含了一些如ChangeLog和软件授权

《软件工程(第4版?修订版)》—第1章1.11节本章对单个开发人员的意义

1.11 本章对单个开发人员的意义软件工程(第4版•修订版)本章介绍了许多概念,它们对于优秀的软件工程研究和实践来说都很重要.单个的软件开发人员可以通过下面的方法使用这些概念. 当有一个问题需要解决时(无论解决方案是否涉及软件),可以通过把问题分解成不同的组成部分和各部分之间的关系来分析问题.然后,解决单个子问题并把它们合并成为统一的整体,从而产生一个解决方案.必须理解需求可能发生变化,即使在分析问题.形成解决方案时需求也会变化.因此,解决方案必须是良好文档化的并且具有灵活性的,还应该把假设和使