软件工程题假设某公司人力资源管理系统中有如下一段代码。

新手上路,请多包涵
    4 假设某公司人力资源管理系统中有如下一段代码。根据代码,回答下列问题。
         (1)画出GetResult函数对应算法的判定树。
         (2)计算GetResult函数的环形复杂度。
         (3)根据(2)的结果,指出该函数存在的问题。
         (4)根据模块独立性的内聚度划分,该函数的内聚度属于哪种? 
         (5)如何修改该函数,以达到较好的内聚度并解决(3)中的问题? 
         (6)根据上述问题的结论试叙述模块内聚度与单元测试工作量之间的关系。

        void GetResult(Manager m, Request r)
         {
                 if (m.ManagerLevel == “经理”) {
                         if (r.RequestType == “请假” && r.Number <= 2) {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 被批准”;
                         } else {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 我无权处理”;
                         }
                 }
                 else if (m.ManagerLevel == “总监”) {
                         if (r.RequestType == “请假” && r.Number <= 5) {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 被批准”;
                         } else {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 我无权处理”;
                         }
                 }
                 else if (m.ManagerLevel == “总经理”) {
                         if (r.RequestType == “请假”) {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 被批准”;
                         } else if (r.RequestType == “加薪” && r.Number <= 
        500) {
                                 cout << m.Name << “:” << r.RequestContent 
        << “ 被批准”;
                         } else if (r.RequestType == “加薪” && r.Number > 500) 

{

                                 cout << m.Name << “:” << r.RequestContent 
        << “ 再说吧”;
                         }
                 }
         }
阅读 2.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏