精华内容
下载资源
问答
  • 工程伦理案例分析
    万次阅读 多人点赞
    2021-11-29 20:59:59

    “外卖骑手,困在系统里“背后的伦理思考

    • 背景

    去年,一篇叫《外卖骑手,困在系统里》的深度调查报道,引发全民对外卖行业商业伦理、职业风险、用户体验的讨论。2万字长文,23张配图,细数了美团、饿了么崛起背后平台、600万外卖骑手以及5亿用户之间的需求与矛盾。由于平台不断压缩送餐时间,外卖骑手“舍命狂奔”,事故不断,已成为“高危职业”。此外,报道还分析了苛责的用户评价、时效体系,制造并不断加剧了矛盾。事件发酵后,饿了么率先表示,将给用户“多等5分钟”的选择;美团则在一天后发文,表示认错、反思,将给用户“多等8分钟”的选项,并将加大资金和技术投入,保障骑手安全和权益。    外卖行业已高速冲入“下半场”,外卖平台、商家、骑手的矛盾日益凸显。我们不禁会思考到底是谁“偷走”了外卖骑手的时间和安全?谁应该承担这种责任?“他”为什么要这样做?是什么加剧了外卖平台、商家、骑手的矛盾?

    • 案例介绍

    在过去一年多时间里,美团配送团队在机器学习、运筹优化、仿真技术等方面,持续发力,深入研究,并针对即时配送场景特点将上述技术综合运用,推出了用于即时配送的「超级大脑」——O2O 即时配送智能调度系统。

    系统首先通过优化设定配送费以及预计送达时间来调整订单结构;在接收订单之后,考虑骑手位置、在途订单情况、骑手能力、商家出餐、交付难度、天气、地理路况、未来单量等因素,在正确的时间将订单分配给最合适的骑手,并在骑手执行过程中随时预判订单超时情况并动态触发改派操作,实现订单和骑手的动态最优匹配。同时,系统派单后,为骑手提示该商家的预计出餐时间和合理的配送线路,并通过语音方式和骑手实现高效交互;在骑手送完订单后,系统根据订单需求预测和运力分布情况,告知骑手不同商圈的运力需求情况,实现闲时的运力调度。通过上述技术和模式的引入,订单的平均配送时长从 2015 年的 41 分钟,下降到 32 分钟,进一步缩短至 28 分钟,另一方面,在骑手薪资稳步提升的前提下,单均配送成本也有了 20% 以上的缩减。

    但骑手们永远也无法靠个人力量去对抗系统分配的时间,他们只能用超速去挽回超时这件事。一位美团骑手告诉《人物》,他经历过的最疯狂一单是1公里,20分钟,虽然距离不远,但他需要在20分钟内完成取餐、等餐、送餐,那天,他的车速快到屁股几次从座位上弹起」。

    超速、闯红灯、逆行……在我看来,这些外卖骑手挑战交通规则的举动是一种逆算法,是骑手们长期在系统算法的控制与规训之下做出的不得已的劳动实践,而这种逆算法的直接后果则是——外卖员遭遇交通事故的数量急剧上升。2017年上半年,上海市公安局交警总队数据显示,在上海,平均每2.5天就有1名外卖骑手伤亡。同年,深圳3个月内外卖骑手伤亡12人。2018年,成都交警7个月间查处骑手违法近万次,事故196件,伤亡155人次,平均每天就有1个骑手因违法伤亡。2018年9月,秦皇岛交警查处外卖骑手交通违法近2000宗,美团占一半,饿了么排第二。

    • 案例分析

    我们看到了“困在算法里”的外卖平台骑手们,面对不断压缩的订单送达时间,他们没有选择,只能遵循算法的设计逻辑,看着手机上一条直线的数字地图,在现实的道路上“与死神赛跑,和交警较劲,和红灯做朋友”。我们做了以下思考:

    1.谁“偷走”了外卖骑手的时间和安全?是人工智能算法。算法不仅仅学习了外卖骑手正常行驶下最好的路线,还学习了某些“聪明的”外卖骑手非正常形式的路线,这就导致了算法系统就认为外卖骑手们都有能力达成如此的效率,使得外卖订单越来越难按约定时间送到,从而外卖骑手在如此重压下,往往会铤而走险,最终酿成惨剧。

    但是算法永远都是工具,算法没有错,错的只是操作算法的人,即算法工程师,算法工程师应该承担这个责任。算法如何压榨外卖骑手的原因很多程度上在于算法工程师松弛了骑手们应该遵守规则的限制,将某些“非常规”行驶的外卖骑手的行为视为不见。

    2.算法工程师这样做,导致各种惨案,难道不觉得违心吗?可能他们未必会觉得违心,首先因为从个人角度考虑,他们只创造算法,但是算法别人怎么用,用在哪里,跟自己无关了;其次,从公司角度考虑,他们为公司创造利润,公司给予他们回报,合规合法;再次,从职业角度考虑,他们的工作就是为了解决最优化问题,为雇主获得最大利润;最后,从社会角度考虑,人工智能算法的数据来源于外卖骑手本身,是外卖骑手本身的不规范,才导致的算法学习到这种方式。

    3.算法工程师的解释看似都合规合法,但这个问题的根源到底在哪?根源就是他们的行为虽然合规合法,但是他们违背了工程师的伦理责任。James Armstrong 等人在《决策者:工程师的伦理学》一书中指出,工程师具有多种角色:统治者——因其拥有技术政治和物质财富而被看作乌托邦社会中的决定性角色;守望者——以工程知识为基础,追求社会利益的最大化;有产者的仆人——管理者的仆人,将管理者的思想变成现实;社会的仆人——忠诚于社会事业;遵守社会规范的游戏者——按照政治和经济的规则,希望在竞争中获胜。因此,算法工程师不仅要对雇主(组织)忠诚、要对职业忠诚,还要对社会忠诚。明知不可为而为之,利用某些外卖骑手的不规范,强行加到每个骑手,这样的压迫,压榨行为并不是对职业忠诚,也不是对社会忠诚。

        4.算法工程师应该怎么做?他们应该去寻找到创造性的中间解决方式,但如果暂时没有找到这种方式,当雇主、职业、社会三者之间存在冲突时,工程师要优先忠诚于社会,次之是职业,再次是雇主(组织)。

    5.是什么加剧了外卖平台、商家、骑手的矛盾?深层原因是什么?一些矛盾的背后,最根本的原因往往都不是矛盾对象以外的问题,而是矛盾对象本身的问题。外卖平台太重视效率,消费者太在乎外卖的派送时间,外卖骑手为了挣钱,敢于冒险。平台速度是一种时间节奏,集中体现着平台规则和算法支配下的统一性、规划性和标准性,而且蕴含着一种肤浅的消费哲学,代价就是将劳动者的主体性、情感性和立体感隐藏起来,这也助推了平台算法所带来的社会不平等,从而加剧了三方的矛盾。

    • 关于人工智能算法的结论与建议
    1. 建构算法风险伦理评估模型与审查体系

    人工智能应该是道德的、向善的,但对算法的道德要求、技术标准、评估体系等方面,仍然存在很大的提升空间。算法的关键属性特征能够影响风险的形成效果,而算法风险的准确评估则需要经历一个较为复杂的认知与实现过程。算法由编程代码组成,而编程代码本身是无法监管的。相反,只有相应的规范管理实体或规范的实际结果才能被规范。

    1. 提升算法的伦理信任阈值与制定评估指标

    为防止算法欺骗或者操纵人类,在人与算法互动的过程中维护人的能动性,提升算法伦理信任阈值是防范算法风险的重要路径。伦理信任阈值包括算法风险与伦理相关的主题要素,如透明度、可解释性、价值观、公众道德期望等。这些伦理维度的量化特征属性,将与算法风险有关的各种度量指标纳入伦理设计过程之中,涵盖了大部分已经达成的伦理共识原则。不正当偏见的损害性主张容易造成算法的可信度下降,因此算法在设计之初便要符合道德规范的设计,嵌入相对公平的伦理价值,以避免造成算法的越界应用和不当后果。

    1. 设立算法风险伦理问责机制

    算法以及源代码获取的渠道日益开源,其安全可靠性成为衡量算法风险的重要因素,这就要求我们不仅要对技术的精准使用负责,还要对其可能造成的社会伦理影响负责。从认知科学视角探讨算法风险的社会影响,从伦理嵌入、风险评估、公众参与等方面,探讨基于社会影响和公众接受度的算法风险认知,是消除算法偏见、实现公平正义的重要途径。

    • 其他与人工智能相关的伦理问题

    AI的伦理问题1:

    AI人脸识别存在风险问题—“变脸”:

    2018 年初,有位名叫“Deepfake”的匿名 Reddit 用户用自家的电脑和开源的人工智能工具,鼓捣出了人工智能“变脸术”,可以在任何视频中将一个人的脸换成另一张脸。这样会导致许多的欺诈、以及侵害他人肖像权等问题。

    短短几周,网上就到处充斥着换上名人脸的粗劣色情片。尽管 Reddit 很快封杀了 Deepfake,但为时已晚,这种技术已经在网络上扎根。

    由于不少高频使用的 App 都用手机号+面部图像注册登录,中国用户担心 AI 换脸软件被不法分子利用,通过技术合成完成刷脸支付等;或在微信视频,假扮家人朋友却不被识破,导致诈骗甚至更严重的犯罪行为。

    案例分析:

    利用AI进行换脸,从而侵犯他人的利益,是严重的伦理行为,甚至是犯罪行为。存在着恶意欺诈的行为。

    AI的伦理问题2:

    假新闻问题:

    2019 年 2 月 15 日,AI 研究机构 OpenAI 展示了一款软件 GPT-2,只需要给软件提供一些信息,它就能编写逼真的假新闻。

    OpenAI 公布了软件编写新闻的过程。研究人员给软件提供如下信息:“一节装载受控核材料的火车车厢今天在 Cincinnati 被盗,下落不明。”以此为基础,软件编写出由 7 个段落组成的新闻,软件还引述了政府官员的话语,只不过,这些信息全是假的。

    如果 GPT-2 可被用来写假新闻,理论上,也有可能被用来生产仇恨语言和暴力言论,包括垃圾邮件、虚假社交言论等。由于 GPT-2 生成的文本都不是单纯复制粘贴来的,而是 AI 的即时生成,这导致负面文字无法被有效地追踪和清理。况且,如果机器写出文字进行传播,责任人很难被定性,且追查。很容易引发其他现象。

    案例分析:

    利用技术生成新闻,涉及到虚假信息,从而产生非常严重的影响,这些影响是非常恶劣的;一旦信息大范围传播,对社会造成的影响也是无非控制的,一定程度上,发明人本身存在伦理问题。

    AI的伦理问题3(争议问题):

    监控学生上课

    将先进技术用于教学场景,算是最具争议的一类应用。2019 年 11 月,浙江一小学戴监控头环的视频引起广泛的关注与争议。

    视频中,孩子们头上戴着号称“脑机接口”的头环,这些头环宣称可以记录孩子们上课时的专注程度,生成数据与分数发送给老师和家长。这个又在现实生活中充满了广大的争议。有些人认为是时代的进步,更加有助于教学质量的把控,更多人认为这样的方式不妥。

    案例分析:这个事件说明了AI一方面在让人类进步的同时,一方面也对人的隐私产生了重大影响,这个一直是长期争议的话题。

    更多相关内容
  • 电商平台系统架构设计案例分析

    千次阅读 2016-09-21 13:27:00
    电商平台系统架构设计案例分析 - 苏宁易购商品详情设计 2016-03-21 09:39:51 商品详情系统介绍 基本介绍 商品详情系统是一个展示商品基本信息、参数等详情的系统,是商品购买的入口。它是电商平台中访问量最大...

    电商平台系统架构设计案例分析 - 苏宁易购商品详情设计

    2016-03-21 09:39:51

    商品详情系统介绍

    基本介绍

    商品详情系统是一个展示商品基本信息、参数等详情的系统,是商品购买的入口。它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高。在业务上它与周边系统的关系是高耦合。依赖商品详情系统的的系统特别多,比如:促销系统、推荐系统、大聚惠、等众多营销系统、还有主数据系统、购物车、收藏夹等,业务复杂度高对系统设计提出更多的要求。

    架构案例丨苏宁易购:商品详情系统架构设计

     

    业务特点
    1. 重点在于数据展示

    2. 页面信息丰富,如:商品详情、商家列表、推荐、排行榜等

    3. 部分数据时效要求高,如:价格、库存等

    4. 业务上依赖的系统多

     

    商品详情系统三要素

    1. 展示

    产品上需要设计好页面区分展示的内容

    技术上主要是页面缓存设计、前端页面模版和JAVA程序的解耦

    2. 数据处理

    数据全部来源于其它系统,在数据上分为:

    基本数据,外部系统传过来直接就可以使用的数据

    聚合数据,需要加工才能使用的数据

    3. 服务依赖

    通过MQ解耦,异构数据

    解决好以上三个问题就解决了此系统核心问题。

     

    系统逻辑架构

    架构案例丨苏宁易购:商品详情系统架构设计

    商品详情系统在设计上分成前、中、后三层结构

    1. 前台负责展示,做为VIEW层不处理业务逻辑,负责渲染。

    2. 中台负责业务逻辑处理,提供数据给前台,同时还会对外部系统提供服务

    3. 后台负责主数据管理,做为数据管理层处理商品主数据、参数、品牌、供应商等,同时部分内容开放给运营进行维护、管理和异常处理等。

     

    前台设计

    页面设计:

    1. 动静分离

    JavaScript、CSS统一放到公共的静态服务器上,完全独立的子域名,防止脏Cookie问题和动态域名中无用Cookie问题,通过文件版本号解决系统新版和旧版本之间冲突问题。

    所有图片由独立的分布式图片系统管理,对原图进行不同规格的无损裁减和压缩。

    2. 异步加载和懒加载

    商品价格、营销活动信息、库存等动态数据通过异步加载

    非首屏数据做懒加载处理,提高首屏加载时间,比如评价、商品详情等内容

    3. 多级缓存策略

    a. 浏览器本地缓存

    协商缓存,对于某些时效要求较高的资源通过Last-modified控制数据。做到StatusCode=304

    强缓存,JS、CSS等静态资源或者一些页面碎片伪静态数据通过Expires、Cache-Control(http1.1支持)设置做到强缓存,在不强制刷新的情况下可以做到200(from cache)

    b. CDN缓存

    CDN分两条线有自营CDN和合作商的CDN,图片、静态资源与伪静态数据分

    别放在不到的CDN上

    c. Varnish缓存

    Varnish在设计上负载使用轮询方式,不使用URL HASH策略,用空间换时间的策略, 从而避免热数据问题,也支持横向扩展。

    Varnish 缓存和CDN缓存在失效时间错开,从而避免同时失效回源压力过大。

    d. 精准缓存

    精准缓存失效用于促销活动准时展示的场景,基于Varnish缓存,通过精准控制缓存有效期实现缓存精准失效保证促销活动准时切换。

    组件逻辑设计:

    商品详情系统中的购买按钮和加入购物车会因商品不同走不同的流程。如:大聚惠商品、定金团商品、预售商品等因促销方式不同,走不同的业务处理流程。促销模式变化多端,可能每个月都会有变化,通常的面向接口编程和加上工厂方法或者依赖管理框架Spring也很难做到真正的解耦,虽然这样做已经符合开闭原则。我们通过观察者模式很好的解决了这个问题。让前端的页面模版和JAVA应用程序之间真正的解耦。

    后台设计

    商品数据统一处理设计

    商品详情系统商品主数据通过MQ消息来源于外部系统,比如:商品基本信息、参数、参数模版、品牌、品类等。我们设计时把共性抽出来分成三部分:

    1. 接受MQ消息并持久化通过Listener

    2. 解析报文

    3. 业务处理上简化为add、update、delete三个动作

    4. 异常组件以观察者模式实现,记录处理失败的MQ消息并对消息进行截取,并供下次再反向执行(一条MQ消息中会有一到多条参数、品牌,所以这里用截取)

    架构案例丨苏宁易购:商品详情系统架构设计

     

    SOA服务治理

    解耦分两块,系统交互间的解耦和商品详情系统组件间的解耦以及业务流程的解耦

    系统间的解耦通过SOA服务治理来解决,但是由于业务的特殊性在服务治理和性能以及一些其它因素的权衡中,我们还选择了一种共享Redis的方式来解决解耦

    架构案例丨苏宁易购:商品详情系统架构设计

    商品详情系统组件间解耦以及业务流程的解耦。

     

    架构演变

     

    1.0时代中规中矩,移动端完全移值PC的做法

    我们使用中规中矩的部署方式Varnish+Apache+JBoss。

    架构案例丨苏宁易购:商品详情系统架构设计

    这种架构在针对中小系统没有什么问题,但像商品详情系统这种访问量巨大的系统会显的有点吃力。移动端对性能的要求更高。

     

    2.0时代PC和移动端服务分离,移动端服务合并,性能优化

    a. 服务分离与服务合并

    PC和移动端的服务分离,以前是同一个接口支持多端,现在是每端都有独立的应用层服务,原子层服务共享。

    移动端处理器和内存性能上的限制,采用服务的合并,且移动端用Nginx+Lua。

    b. 公共服务

    提出了一个公共服务,公共服务用来接受PC、WAP、APP公共的异步请求的服务。

    c.分布式文件系统

    商品详情页在回源过程中压力很大,基于其不可降级,我们提出了把商品详情页做为一个静态页放到分布式文件系统,当DB和Redis压力过大,直接调取分布式文件系统中数据

    架构案例丨苏宁易购:商品详情系统架构设计

     

    3.0时代重点优化移动端性能,接口合并颗粒度更细,增加聚合服务层

    多端都使用Nginx+Lua,Nginx 的异步非阻塞型事件处理机制资源消耗少,并发能力高。

    架构案例丨苏宁易购:商品详情系统架构设计

    1. 用Nginx+Lua做为整体的接入层

    2. 在Nginx接入层 加入三层缓存

    3. 只有聚合信息才会调用服务层,减少依赖关系

    4. 服务层数据通过Worker推送和刷新缓存,这亲服务层完全和DB隔离

    5. 移动端连接复用、链路复用、防劫持SDK开发等

     

    商品详情系统数据流结构

    上面介绍了商品详情系统前、中、后三层逻辑架构以及各层的设计方法,还介绍了部署架构演变,下面是商品详情系统数据流程结构的

    1.0版本:

    架构案例丨苏宁易购:商品详情系统架构设计

    这个结构有两个问题:

    数据异构结果没有和前端展示关联起来,数据变更不能在前端及时展示

    还是没有解决前端接口依赖问题。

    2.0版本:

    架构案例丨苏宁易购:商品详情系统架构设计

    把前端分成了三部分:

    基础信息组件 不需要加工的消息、聚合信息组件(需要组合消息或者计算才能提供服务的)、实时数据组件处理对外部的依赖

    数据异构后会以MQ形式通知基础服务,并会刷新缓存,这种结构后前端与数据层无直接依赖。

     

    回源方案

    回源是缓存中最头痛的问题,随着系统业务复杂度的上升,很难从整体上把控各种业务数据在回源时给一个系统带来的压力,如果回源处理不端在极端情况下会导致DB压力瞬间上升,DB不可用或者连接数满了等问题,会发生以前类似JVM GC回收时的“stop-the-world”问题。我们回源从被动更新缓存数据更改为主动推送缓存数据从根本上解决这问题。

    数据变更通过listener推送缓存至varnish

    架构案例丨苏宁易购:商品详情系统架构设计

     

    多端融合

    组织架构融合

    原来PC端、移动端、TV端产品、开发、测试是分中心分部门,为真正做到多端融合,进行组织架构融合,产品、开发、测试合并到一个中心,统一协调。合并后工作效率变高,产品质量提升,进行小团队做战。

     

    展示分离逻辑融合分离

    展示分离是指在结合公司业务特性、产品自身特性以及降耦合指导思想进行PC、WAP、APP端(IOS、ANDROID)、TV端的展示端进行分离处理。

    逻辑融合分离是指在原子服务层进行融合共享,从服务单一职责原则出发在不同端分别提供独立的服务并加上各自特性,做到接口可扩展性和服务隔离。真正做到一包部署多端使用互不影响,在业务可扩展性和可维护性上做到成本最低。

     

    展示层分端独立部署

    在物理层为了避免多端进行资源竞争、相互干扰进行独立部署

    架构案例丨苏宁易购:商品详情系统架构设计

     

    分布式存储

    数据库

    1. 商品详情系统数据库用Mysql,采用主从加读写分离结构,注意:主从不在同一个物理机上,也不在同一组路由器中。应用层中业务上对时效性要求高的数据在写库中操作,业务上对于时效性要求不高数据在读库中操作。主从结构保证在主库出现故障比如岩机自动切换到从库。读库通过LVS做负载均衡做到高可用。

    2. DalClient组件支持对数据库的分库分表,同时支持横向扩展。

     

    分布式Redis缓存

    1. 应用层逻辑优先从Reids中获取业务数据,如果Redis中没有,再从DB中获取。Redis采用sharding方案,每个sharding由一个master和一个salve组成,再通过sentinel保证高可用。当master出现不故障,比如网络跳动,sentinel会自动把salve切换为master,这个切换是毫秒级的。master和salve通过主动和被动两种方式来同步,做到最终一致性,符合CAP理论演变过的BASE理论。

    2. 借鉴JAVA GC中对内存分代思路解决Redis缓存过期产生的惊群现象。

     

    展开全文
  • 2019年系统架构师案例分析

    千次阅读 2021-09-29 10:00:59
    在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下 : (a) 用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整; (b) 系统应该...

    第1题(案例题):

    阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。
    【说明】
    某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分的等级,并针对不同等级的用户提供相应的折扣方案 。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下 :
    (a) 用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整;
    (b) 系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;
    (c) 在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;
    (d) 在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;
    (e) 系统主站点断电后,应在5秒内将请求重定向到备用站点;
    (f) 系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;
    (g) 当系统发生网络失效后,需要在15秒内发现错误并启用备用网络;
    (h) 系统在展示商品的实时视频时,需要保证视频画面具有 1024×768 像素的分辨率,40帧/秒的速率;
    (i) 系统要扩容时,应保证在10人•月内完成所有的部署与测试工作;
    (j) 系统应对用户信息数据库的所有操作都进行完整记录:
    (k) 更改系统的Web界面接口必须在4人•周内完成;
    (l) 系统必须提供远程调试接口,并支持远程调试 。在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司组织相关专家对系统架构进行评估。

    【问题1】(13 分)
    针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1)~(3)空白处。
    【问题2】(12 分)
    在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请合适的质量属性名称填入图1-1中(1)、(2)空白处,并题干描述的(a)(1)填入(3)(6)空白处,完成该系统的效用树。

    【问题1】
    用户级别与折扣规则管理功能更适合采用基于规则的架构风格。
    (1) 将用户级别、折扣规则等描述为可动态改变的规则数据;
    (2) 加入新的用户级别和折扣规则时需要重新定义新的对象,并需要重启系统;
    (3) 用户级别和折扣规则已经在系统内编码,可直接运行,性能较好。
    【问题 2 】
    (1) 安全性
    (2) 可修改性
    (3)(h)
    (4)(j)
    (5)(e)
    (6)(k)

    第2题(案例题):
    阅读下列说明,回答问题1至问题3 ,将解答填入答题纸的对应栏内。
    【说明】某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:
    (1) 在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。
    (2) 厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。
    (3) 食材采购:当快餐店某类食材低于特定数量时自动向供应商发起来购信息,包括食材类型和数量,供应商接收到采购信息后按照要求将食材送至快餐店并提交已采信息,系统自动更新食材库存 。
    (4) 生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。现采用数据流订餐管理系统进行分析与设计,系统未完成的0层数据流图。
    如图2-1 所示。

    图2-1

    【问题 1】(8分)
    根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1E4和加工P1 P4的具体名称。
    【问题 2】(8 分)
    根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。
    【问题3】(9 分)
    根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。

    【问题 1】E1:客户E2:厨房E3:经理E4:供应商P1:在线订餐P2:厨房备餐P3:生成报表P4:食材采购
    【问题 2】
    (1) 增加E1到P1数据流“餐品订单”;
    (2) 增加P1到P2数据流“餐品订单”;
    (3) 增加D1到P3的数据流“订单汇总”;
    (4) 增加P3到E3数据流“统计报表”。
    【问题 3】
    (1) 数据流图中的处理过程可并行;系统流程图在某个时间点只能处于一个处理过程。
    (2) 数据流图展现系统的数据流:系统流程图展现系统的控制流。
    (3) 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;系统流程图中处理过程遵循一致的计时标准。

    所属知识点: 案例分析>系统需求分析
    试题难度: 本题共被作答53次 平均得分0 参考解析: 暂无解析。

    第3题(案例题):

    阅读以下关于嵌入式系统开放式架构相关技术的描述,在答题纸上回答问题1至问题3。
    【说明】
    信息物理系统(Cyber Physical Systems, CPS)技术已成为未来宇航装备发展的重点关键技术之一。某公司长期从事嵌入式系统的研制工作 ,随着公司业务范围不断扩决定进入宇航装备的研制领域。为了做好前期准备,公司决定让王工程师负责编制公司进军宇航装备领域的战略规划。王工经调研和分析,认为未来宇航装备将向着网络能化和综合化的目标发展,CPS 将会是宇航装备的核心技术,公司应构建基于CPS技术的新产品架构,实现超前的技术战略储备。

    【问题 1】 (9 分)
    通常CPS结构分为感知层、网络层和控制层,请用300字以内文字说明CPS的定义,并简要说明各层的含义。
    【问题 2 】(10 分)
    王工在提交的战略规划中指出:飞行器中的电子设备是一个大型分布式系统,其传感器、控制器和采集器分布在飞机各个部位,相互间采用高速总线互连,实现子系统数据交换,而飞行员或地面指挥系统根据飞行数据的汇总决策飞行任务的执行。图3-1给出了飞行器系统功能组成图。请参考图3-1给出的功能图,依据你所掌握的CP 识,说明以下所列的功能分别属于CPS结构中的哪层,哪项功能不属于CPS任何一层。

    1. 飞行传感器管理

    2. 步进电机控制

    3. 显控

    4. 发电机控制

    5. 环控

    6. 配电管理

    7. 转速传感器

    8. 传感器总线

    9. 飞行员

    10. 火警信号探测

    【问题 3】 (6 分)
    王工在提交的战略规划中指出:未来宇航领域装备将呈现网络化、智能化和综合化等特征,形成集群式的协同能力,安全性尤为重要。在宇航领域的CPS系统中,不面上都会存在一定的安全威胁。请用100字以内文字说明CPS系统会存在哪三类安全威胁,并对每类安全威胁至少举出两个例子说明。

    【问题 1】
    信息物理系统(CyberPhysical Systems,CPS)作为计算进程和物理进程的统一体,是集计算、通信与控制于一体的下一代智能系统。信息物理系统通过人机交互接口实程的交互,使用网络化空间,以远程的、可靠的、实时的、安全的、协作的方式操控一个物理实体。
    感知层:主要由传感器、控制器和采集器等设备组成,它属于信息物理系统中的末端设备。
    网络层:主要是连接信息世界和物理世界的桥梁,实现的是数据传输,为系统提供实时的网络服务,保证网络分组传输的实时可靠。控制层:主要是根据认知结果及物理设备传回来的数据进行相应的分析,将相应的结果返回给客户端。
    【问题 2】
    感知层:2、4、7、10 网络层:8
    控制层:1、3、5、6
    不属于 CPS 结构中的功能:9
    【问题 3】

    (1) 感知层安全威胁:感知数据破坏、信息窃听、节点捕获。
    (2) 网络层安全威胁:拒绝服务攻击、选择性转发、方向误导攻击。
    (3) 控制层安全威胁:用户隐私泄露、恶意代码、非授权访问。

    第4题(案例题):

    阅读以下关于分布式数据库缓存设计的叙述,在答题纸上回答问题1至问题3。
    【 说明 】
    某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数增长,原有的关系数据库服务器不能满足高速并发的业务要求。
    为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存过程中,企业碰到了一系列技术问题。

    【问题 1】(11 分)
    该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据时,先写缓存,成功后再写数据库;或者先写数据库,再写缓存。王工认为该解路并未解决数据同步或数据不一致性的问题,请用100字以内的文字解释其原因 。王工给出了一种可以解决该问题的数据读写步骤如下 :
    读数据操作的基本步骤 :

    1. 根据 key 读缓存:
    2. 读取成功则直接返回;
    3. 若 key 不在缓存中时,根据 key( );
    4. 读取成功后,( );
    5. 成功返回 。
      写数据操作的基本步骤 :
    6. 根据 key 值写( );
    7. 成功后( );
    8. 成功返回。
      请填写完善上述步骤中(a)~(d)处的空白内容。
      【问题 2 】(8 分)
      缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的查询,未在缓存系统中找到对应的key,从而引发了大量对数据库服务器的查询请求,最时甚至导致了数据库服务器的宕机。
      经过运维人员的深入分析,发现存在两种情况:
      (1) 用户请求的 key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力:
      (2) 系统运行期间,发生了黑客攻击,以大量系统不存在的随机key发起了查询请求,从而导致了数据库服务器的宕机 。经过研究,研发团队决定,当在数据库中也找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询 。
      请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。
      【问题 3】(6 分)
      缓存系统中的key一般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取库,并更新缓存中的key。运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。请用1 以内文字,给出解决该问题的两种不同思路。

    【问题 1】
    存在双写不一致问题,在写数据时,可能存在缓存写成功,数据库写失败,或者反之,从而造成数据不一致。当多个请求发生时,也可能产生读写冲突的并发问题。
    (a) 从数据库中读取数据或读数据库
    (b) 更新缓存中key值或更新缓存
    (c) 数据库
    (d) 删除缓存key或使缓存key失效或更新缓存(key值)
    【问题 2】
    存在问题:不在系统中的key值是无限的,如果均设置key值为空,会造成内存资源的极大浪费,引起性能急剧下降。
    解决思路:查询缓存之前,对key值进行过滤,只允许系统中存在的key进行后续操作(例如采用key的bitmap 进行过滤)。
    【问题 3】
    思路 1:缓存失效后,通过加排它锁或者队列方式控制数据库写缓存的线程数量,使得缓存更新串行化; 思路 2:给不同key设置随机或不同的失效时间,使失效时间的分布尽量均匀;
    思路 3:设置两级或多级缓存,避免访问数据库服务器。

    第5题(案例题):

    阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3。
    【说明】
    某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、命管理等功能需求。其非功能性需求如下:
    (1) 系统应支持大于 50 个终端设备的并发请求;
    (2) 系统应能够实时识别车牌,识别时间应小于1s;
    (3) 系统应 7×24 小时工作;
    (4) 具有友好的用户界面;
    (5) 可抵御常见SQL注入攻击 ;
    (6) 独立事务操作响应时间应小于 3s;
    (7) 系统在故障情况下,应在1小时内恢复;
    (8) 新用户学习使用系统的时间少于1小时 。
    面对系统需求 ,公司召开项目组讨论会议,制订系统设计方案 ,最终决定基于分布式架构设计实现该物流车辆管理系统,应用Kafka、Redis数据缓存等技术实现对物流数据、业务数据进行快速、高效的处理。

    【问题 1】(4分)
    请将上述非功能性需求(1)~(8)归类到性能、安全性、可用性、易用性这四类非功能性需求。
    【问题 2 】(14 分)
    经项目组讨论,完成了该系统的分布式架构设,如图5-1所示。请从下面给出的(a)(j)中进行选择,补充完善图5-1中(1)(7)处空白的内容。
    (a)数据存储层
    (b)Struct2
    (c) 负载均衡层
    (d) 表现层
    (e) HTTP协议
    (f)Redis数据缓存
    (g)Kafka分发消息
    (h) 分布式通信处理层
    (i) 逻辑处理层
    (j) CDN内容分发

    【问题 3】(7 分)
    该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。

    【 问题 1】
    性能:(1)、(2)、(6) 安全性:(5)
    可用性:(3)、(7) 易用性:(4)、(8)
    【 问题 2】
    (1)(d)
    (2)(e)
    (3)(i)
    (4)(h)
    (5)(g)
    (6)(f)
    (7)(a)
    【 问题 3】
    SQL注入攻击,就是通过把SQL命令插入到 Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。可以通过以下方式抵御SQL注入攻击:
    ▪ 使用正则表达式;
    ▪ 使用参数化的过滤性语句;
    ▪ 检查用户输入的合法性;
    ▪ 用户相关数据加密处理;

    ▪ 存储过程来执行所有的查询;
    ▪ 使用专业的漏洞扫描工具。

    展开全文
  • 版式设计之DM应用案例分析与讲解

    千次阅读 2016-07-11 14:20:09
    内容提要:版式设计之DM应用案例: 食品、教育、房产DM版式设计分析与讲解以及8大突出主题的版式设计技巧分享.对PS感兴趣的朋友可加ps学习交流群:... 废话不多说,直接进入版式DM应用案例分析点评讲解。 第一,食品
    内容提要:版式设计之DM应用案例: 食品、教育、房产DM版式设计分析与讲解以及8大突出主题的版式设计技巧分享.对PS感兴趣的朋友可加 ps学习交流群:142574315

       大家好,我是大家的好朋友谢梦,在之前的文章,我们曾经沟通过版式方面的一些技巧。本文再和大家分享三个行业的DM设计,分别包含食品、教育、房产DM版式设计。

      废话不多说,直接进入版式DM应用案例分析点评讲解。

    第一,食品DM设计
      左边是源初稿,右边是版式改进之后的效果。
      之前的版式排版:将面包图像和文案统一放置在版面的中间,图像与文案没有层次感,形成了大块的色彩,使重要信息不够突出,辨识度较低。
      修改后的版式:扩大图像的尺寸大小,使其得到突出的效果。文案也随着图像的变化而变化,显得更加醒目,使版面的视觉效果更具有层次感。同时将背景色设置为与图像相类似的颜色,加强整体感。
      将主要图片素材放大,放置在版面下方,展示图片上部分。背景色使用偏黄的色相,柔和明亮的画面让人联想到高雅而时尚的感觉。将主要信息的文字字体放大,放置于图片的上方,使图片之前加强联系。文字色彩设置与版面相似的颜色,加强整体感,使层次更加合理。其次加强品牌标志,强化记忆。这样的版面让人感觉简洁而不失时尚的感觉。
     DM版式设计
    第二,教育机构DM设计
      之前的初稿,将图像放置在版面正中偏上方,使版面具有稳定感。但这样的版式显得单调乏味,加上文字的编排缺乏规律,未能突出信息内容,整体给人一种半成品的感觉。
      版式解决方法:将图像进行去底图处理,放置于中下方。改变文字的编排方式,使其更加图层重要信息的部分。整体色彩可以使用蓝色和绿色色调,使版面更加和谐。
      图片进行去底图处理,在图片下添加蓝色色块和部门绿色色块,使图片之间加强联系。将重要信息的文字放大,色彩设置为蓝色和绿色,使其得到突出展示。公司介绍的文字放在图片下方,加大间隔,使版面的信息内容主次分明,让消费者一目了然。
     版式设计技巧
    第三,房地产DM设计
      之前的版式初稿,将重要信息的文字字体放大,放置正中方,色彩设置形成强烈对比,信息内容显得更为图层。版面下部分则为辅助信息的内容。虽然这样的版式比较稳重,但是版面比较拥挤,容易造成阅读疲劳。
      版式解决方法:将文字编排进行改变,减少大面积的色块。把辅助文字与配图的编排换成另一种对称方式,让整体画面呈现出舒适时尚的视觉感觉。
      把原来的大面积色块留在版面的上部分,加上文字字体和色彩的特别处理,使信息内容更加明确。在下部分的空白处添加辅助性文字和图片,使图文之间的联系更加紧密,并且降低消费者的阅读疲劳。整体版面给人时尚、高端的视觉感觉,版面层次也更加丰富,空间感更强。
    房地产DM设计
       附:IT部落窝ps教程视频:http://www.itblw.com/
    展开全文
  • C++程序设计案例实训教程第1章

    千次阅读 2017-10-29 15:49:27
    若要学会一门程序设计语言,必须得多动手、多实践。本书就是一本用案例的方式帮助读者理解C++技术的入门书。说它入门,是因为本书的案例都是从最基本的C++语法入手,这样会让读者学得更轻松、理解更深刻。 在编写C++...
  • 《数据结构课程设计案例精编(用C/C++描述)》

    千次下载 热门讨论 2008-10-08 10:33:11
    附:《数据结构课程设计案例精编(用C/C++描述)》一书简介 本书是数据结构案例教程,以软件重用为指导思想,以STL库中实现的数据结构(容器)为参照,重构了数据结构的视角和知识体系,并突出实战性和应用性。. 本书...
  • Java课程中实际项目案例分析

    千次阅读 多人点赞 2020-09-14 15:47:17
    Java课程中实际项目案例分析项目式教学方式分析项目一 客户关系管理系统项目背景:项目目标:项目功能:项目涉及技术点:项目测试:项目上线:项目二 社交博客系统项目背景:项目目标:项目功能:项目涉及技术点:...
  • 数据建模讲解和案例分析

    万次阅读 多人点赞 2018-11-22 15:49:42
    一、从数据分析的定义开始 维基百科对数据分析的定义如下: Analysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of discovering useful information, ...
  • 细读Autoformer—空间计量分析

    千次阅读 2022-03-28 21:38:07
    空间计量分析理论部分 2.1 空间计量经济学概述 2.2 空间权重矩阵得设定与选择 2.2.1 空间权重矩阵的设定 2.2.2 如何选择合适的空间权重矩阵 2.2.3 空间权重矩阵的标准化处理 2.3 空间自相关检验 2.3.1 全局莫兰指数...
  • 数据分析案例笔记1

    千次阅读 2019-04-14 14:31:08
    3.数据分析经过的5个步骤:数据获取-数据清洗(缺失值处理、一致性处理)-数据理解-构建模型-数据可视化。 4.研究因素之间的影响关系(Excel数据透视表,R语言–IM函数构建线性回归模型) 5.**基于My...
  • 网络营销成功案例分析篇:NIKE网络营销案例 一、网络营销渠道概述 网络营销逐渐成为企业或不可缺的营销手段,而网络营销渠道是网络营销重要一部分。 (一)网络营销渠道的概念 网络营销,就是以国际互联网为基础,...
  • 文章目录前言1 数据分析步骤2 数据观察与预处理引入库查看数据数据可视化查看数据分布单独查看直方图分布样本数据中的性别比年龄与年收入之间的...年龄与消费得分与年收入之间的分布数据展示呈现代码kmeans聚类分析总结...
  • 由于鲁班系统诞生在阿里巴巴旗下的天猫与淘宝的环境中,天生就可以取得大量设计优秀并且点击量高图片,再通过大数据结合深度学习的技术分析那些图片所具有的共同特性。 因此鲁班系统制作的图片不仅在制作水平赶上...
  • 来源丨高下制图你眼中的数据可视化的作品是否是各种条形图、柱状图等等堆积在一起进行数据的展示?今天看完为大家整理的17个数据可视化优秀作品,你就知道原来数据可视化作品还可以这样做,欢迎大家分...
  • 大型网站架构演化 大型网站软件系统的特点 大网站架构演化发展历程 初始阶段的网站架构 应用服务和数据服务分离 使用缓存改善网站性能 ...网站架构设计误区 大型网站架构模式 网站架构模式 分层 分割 分布
  • 网页设计师们经常会浏览高质量的网页设计作品分享网站,来解决灵感枯竭的问题。因为在这些优秀的网站设计实例中可以看到某些趋势,诸如:扁平化设计、视差滚动、响应式设计、流行配色设计等等。今天小摹为大家带来10...
  • 车辆轨迹数据可视化分析系统的设计与实现高瞻,严汝康,向郑涛,陈宇峰【摘要】针对网约车轨迹数据,设计和实现了基于Web的轨迹数据可视化系统。首先介绍了系统的整体框架,采用B/S架构,基于MVC模式,结合ECharts...
  • 软考 软件设计师考试经验分享、题型分析

    千次阅读 多人点赞 2020-11-09 14:55:17
    以下是我个人考软件设计师的一些经验,本人一共考了两次软件设计师,第一次下午题查三分,第二次成绩还没出,虽然没什么悬念,这里分享一下我考软件设计师的一些经验分享 需要知识储备 C语言 Java或C++ 数据结构 没...
  • HBase列的可以动态增加,并且列为空就不存储数据,节省存储空间. hbase自动切分数据,使得数据存储自动具有水平scalability. Hbase可以提供高并发读写操作的支持。 HBase不能支持条件查询,只支持按照Row key来查询. ...
  • 二代测序群体进化-GWAS分析案例解析

    千次阅读 多人点赞 2020-03-07 10:58:55
    群体进化-gwas分析 群体进化基础分析 PCA 分析原理 PCA(Principal Component Analysis),即主成分分析方法,是一种...PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密...
  • 分享个B端产品分析报告

    千次阅读 2021-03-15 00:51:24
    有赞创始人白鸦(朱宁),支付宝首席产品设计师,有赞第一批用户来源于阿里系,这批用户是懂电商的人,共同做出了不少的成功客户案例,截止 2019 年 6 月有赞累计服务商户达 460w。 有赞主要目标人群为电商企业,...
  • 设计的方案至少适用于两个层次:一是能够整体展示大的图形轮廓,让用户能够快速的了解图表所要表达的整体概念;之后再以合适的方式对局部的详细数据加以呈现(如鼠标hover展示)。 做数据可视化时,上述的五个方法...
  • Python数据分析案例实战 视频课程 JAVA企业级应用讲师、大数据实时处...
  • 大数据时代,数据驱动决策。 处理不好庞大、复杂的数据,其价值将大打折扣...数据可视化设计只要多练习、多总结,总有一天会得心应手的!   注:私聊回复关键字 “ 数据分析 ”,可获得数据分析工具!
  • 全程进行细致的分析说明,使读者能够全面地理解案例制作过程,并解决说什么、对谁说和怎样说的关键问题,最后还提供了大量的成功案例,并对其进行分析展示,使读者在欣赏的同时也能提高自己的审美和设计能力,达到从...
  • 最优秀的数据可视化案例欣赏

    万次阅读 2019-03-20 07:46:52
    优秀的可视化案例欣赏美国运通漏斗图能量预测Bullseye雷达预算图城市统计数据可视化实时游戏数据能量监测自定义分析电力图表如何可视化您的数据? 数据是新的生产资料,如果您无法以直观的方式显示数据,那么它基本...
  • 通过系统分析、系统设计、编程调试、撰写实验报告等环节,初步掌握大数据分析软件系统设计的方法和步骤,灵活运用Java高级编程等语言进行软件开发,提高分析问题和解决问题的能力。提高Java高级程序设计水平,培养...
  • 第2次作业:网易云音乐案例分析

    千次阅读 2017-10-04 19:36:00
    另一方面,网易云音乐注重消费者体验,在应用的UI设计、用户反馈等各方面都加以 用心,甚至在推荐方面都采取人工推荐与机器推荐相结合的方式结,对于一款音乐产品真诚的用心和独树一帜的姿态令人折服。在百度音乐、...
  • 安全攻防进阶篇将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等。第一篇文章先带领大家学习什么是逆向分析,然后详细讲解逆向分析的典型应用,接着通过OllyDbg工具逆向分析经典的游戏扫雷,再...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,932
精华内容 9,972
关键字:

展示空间设计案例分析