草庐IT

【因果图法和决策表】某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪

胖胖龙\x7F\x7F\x7F\x7F ⁡ \x7F\x7F 2024-02-05 原文

题目:

某软件的一个模块的需求规格说明书中描述:

(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

   请绘制出因果图和决策表,并给出相应的测试用例。

答案:

答:

1、确定需求中的原因与结果

原因

结果

A1:年薪制员工

C1:扣年终风险金的4%

A2:非年薪制员工

C2:扣年终风险金的2%

A3:严重过失

C3:扣当月薪资的8%

A4:过失

C4:扣当月薪资的4%

2、确认因果图中的约束

原因与原因之间

关于是否为年薪制员工:A1与A2是互斥关系(O)

关于是否为严重过失:A3与A4是互斥关系(O)

是否为年薪制员工与是否为严重过失之间不可独立存在,属于与关系(I)

原因与结果之间

是否为年薪制员工与是否为严重过失进行两两组合,形成中级状态,到达结果

得到的因果与中间状态列表:

关系1

关系2

原因

中间状态

结果

互斥关系(O)

A1:年薪制员工

B1:A1&A3

C1:扣年终风险金的4%

与关系(I)

A2:非年薪制员工

B2:A1&A4

C3:扣当月薪资的8%

互斥关系(O)

A3:严重过失

B3:A2&A3

C2:扣年终风险金的2%

A4:过失

B4:A2&A4

C4:扣当月薪资的4%

梳理关系得到因果图:

3、将因果图转化为判定表:

原因

中间

结果

结果

编号

A1

A2

A3

A4

B1

B2

B3

B4

C1

C2

C3

C4

1

1

0

1

0

1

0

0

0

1

0

0

0

2

1

0

0

1

0

1

0

0

0

0

1

0

3

0

1

1

0

0

0

1

0

0

1

0

0

4

0

1

0

1

0

0

0

1

0

0

0

1

4、根据判定表写测试用例

测试用例序号

输入

输出

1

年薪制员工严重过失

扣年终风险的4%

2

年薪制员工过失

扣年终风险的2%

3

非年薪制员工严重过失

扣当月薪资的8%

4

非年薪制员工过失

扣当月薪资的4%

有关【因果图法和决策表】某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪的更多相关文章

  1. ruby-on-rails - 如何获取当月创建的记录? - 2

    我有一个候选人has_many选票。我正在尝试获取当月创建的候选人的选票?@candidate.votes.from_this_monthscope:from_this_month,where("created_at>?ANDcreated_at这给了我一个PG错误:PG::错误:错误:列引用\"created_at\"不明确如果我尝试scope:from_this_month,where("vote.created_at>?ANDvote.created_at出现以下错误PG::Error:ERROR:missingFROM-clauseentryfortable"vote"

  2. ruby - 获取当月第一天的最有效方法是什么? - 2

    我正在尝试使用ruby​​格式化日期:2009-10-01我将当前日期(2009-10-26)更改为“01”。我知道有多种方法可以做到这一点,但我很好奇在代码方面实现这一目标的最短方法是什么。 最佳答案 如果您不介意在您的应用程序中包含ActiveSupport,您可以简单地这样做:require'active_support'date=Date.today.beginning_of_month 关于ruby-获取当月第一天的最有效方法是什么?,我们在StackOverflow上找到一个

  3. javascript - 类似风险(基于区域)的 map 和 HTML/JavaScript - 2

    假设我们有一个类似Risk的世界地图,它被划分为自定义形状的区域。如何让用户使用HTML5/JavaScript选择一个单独的区域?我假设Canvas2D是第一步,但接下来呢? 最佳答案 有无数伟大的图书馆。举几个例子:http://d3js.org/http://raphaeljs.com/http://paperjs.org/http://box2d-js.sourceforge.net/http://threejs.org/具体例子:http://bl.ocks.org/mbostock/2206590http://rapha

  4. javascript - 为什么使用 '*' 作为 postMessage 的 targetOrigin 存在安全风险? - 2

    当对postMessage()方法的targetOrigin使用通配符时,我很难理解安全问题。您调用postMessage()的窗口是否已经有一个我们要将数据发送到的来源?怎么会有人能够干涉它?使用window.location.origin将targetOrigin设置为窗口的原点是否不好?我理解在接收端检查事件源的重要性(如图here所示),但我似乎无法理解为什么发送端使用通配符作为targetOrigin是不好的当窗口已经有一个特定的原点时。 最佳答案 这本身不是风险。这只是意味着任何人都可以将您的内容嵌入到框架中并阅读您通过

  5. javascript - 给定一个日期 (m/d/yyyy) 确定它是否是当月的 "the third tuesday"等 - 2

    这个问题在这里已经有了答案:FindingthesecondandfourthTuesdayofthemonthwithJavascript(1个回答)关闭9年前。经过多次搜索,我一直没能找到我要找的东西。我正在使用jquerydatepicker返回一个看起来像Day,MonthDate,YYYY的日期字符串,我正在寻找一个库或一些方法来接受它并转换它进入每月的第二个星期二,或每月的第四个星期四。到目前为止,jquery的prettyDate和EasyDate似乎没有我正在寻找的功能,我希望避免手动执行此操作!谢谢,亚历克斯

  6. javascript - javascripts 访问密码字段值是否被视为安全风险? - 2

    如果安全正确地存储密码是一种良好的风格和安全性,那么要求用户输入密码的网页不应该也是如此吗?考虑这个例子functioncopy(){vartext=document.getElementsById('text');varpass=document.getElementsById('pass');text.value=pass.value;}copy在密码框中输入一些内容,然后单击复制按钮,瞧,它就暴露在世人面前了。但是,如果您从密码框中复制和粘贴,那么您将得到无用的数据。考虑一下您的登录页面上包含的不受您控制的javascript片段的数量(分析、页面流跟踪器、云中的托管脚本)。对于

  7. javascript - 使用 react-pdf 时的严重依赖警告 - 2

    我正在尝试在React应用程序上显示pdf,但收到以下警告:/node_modules/react-pdf/node_modules/pdfjs-dist/build/pdf.jsCriticaldependency:requirefunctionisusedinawayinwhichdependenciescannotbestaticallyextractedVscode在导入功能下告诉我这个。Couldnotfindadeclarationfileformodule'react-pdf'已经尝试运行npminstall、npminstallreact-pdf并重新安装包import

  8. javascript - javascript "fake privacy"是否存在安全风险? - 2

    Javascript不允许您像在C++中那样为对象提供私有(private)数据或方法。哦,实际上,是的,通过一些涉及关闭的解决方法。但是来自Python背景,我倾向于认为“假装隐私”(通过命名约定和文档)已经足够好,或者甚至比“强制隐私”(由Javascript本身强制执行)更可取。当然,我可以想到这不是真的情况——例如人们在没有RTFM的情况下与我的代码进行交互,但我受到指责——但我没有遇到那种情况。但是,有件事让我犹豫了。Javascript大师DouglasCrockford在“Javascript:TheGoodParts”和其他地方反复将虚假隐私称为“安全”问题。Forex

  9. javascript - 包含第 3 方 iFrame 的安全风险 - 2

    包含隐藏的第3方iFrame的应用程序安全风险是什么?如果我没理解错的话...点击劫持对我来说不是问题,因为我拥有父页面同源策略阻止3p框架与我的dom/cookies/js交互框架是隐藏的,所以我不必担心框架中可能显示的任何内容但是我在Chrome控制台做了一些实验并且...3pframe可以调用alert/prompt之类的东西3p框架可以通过location.href重定向父节点3p框架内的恶意软件(java/flash/activeX)可能会感染我的用户我很想看到可能出现的问题和任何缓解措施的列表,但我找不到好的信息来源。那么...包含隐藏的第3方iFrame的应用程序安全风险

  10. javascript - 不使用 setState 修改 state 有什么风险? - 2

    我知道直接修改状态不用setState(...)不会自动更新UI,但我仍然可以这样做:this.state.myValue="foo";this.forceUpdate();我也知道React会等待特定时刻来一次更新多个组件,但是真的有什么令人信服的理由说明我不应该在没有setState(...)的情况下直接改变状态吗??有两种情况直接改变状态对我来说是有益的:如果我必须修改一个非常长的数组的元素,setState(...)的“集群更新”会带来性能提升与不是每次都浅复制整个数组所带来的性能提升相比,可以忽略不计。如果我在状态的2个不同属性中有2个对同一个对象的引用,并且我想修改这个对象

随机推荐