无意识设计针对()而言,经过长期的设计训练,有敏锐而专业的设计观察能力,能够通过对用户的观察发现其生活中的问题点,将用户无意识的行为或问题,通过有意识的设计改良将日常生活变得更生动。
A.消费者
B.设计师
C.制作工人
D.以上都对
A.消费者
B.设计师
C.制作工人
D.以上都对
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。下面关于设计模式所倡导的基本原则的描述,错误的是(32)。
A.模块应对扩展开放,而对修改关闭
B.优先使用继承,而不是组合
C.要针对接口编程,而不是针对实现编程
D.抽象不应该依赖于细节,细节应当依赖于抽象
(32)
A. 模块应对扩展开放,而对修改关闭
B. 优先使用继承,而不是组合
C. 要针对接口编程,而不是针对实现编程
D. 抽象不应该依赖于细节,细节应当依赖于抽象
A.承建单位
B.建设单位
C.其它设计单位
D.监理单位
【问题1】(11分) 分别解释产生问题(1)~(4)的原因。 【问题2】(8分) 请针对问题(1)~(4),分别指出NoSQL数据库的哪些特点促使公司最终采用了NoSQL数据库。 【问题3】(6分) 请指出该系统采用NoSQL数据库时可能存在的问题。
阅读以下关于结构化软件系统建模的叙述。
某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:
(1) 小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出。
(2) 小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如下图所示。
项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了上图所示数据流图中存在的错误。
[问题1]
流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。
[问题2]
请分析指出上图所示的数据流图中存在的错误及其原因,并针对1层数据流图绘制出情报分类子系统的0层数据流图。
[问题3]
高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。
试题二(共25分)
阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。
某软件公司开发基于云计算的分布式文档协作平台(DDCP),系统部分需求如下所示:
(1)实现文档的分布式存储,客户端可随时随地上传和下载文档;
(2)支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端;
(3)要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。
项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细
的分析和讨论,同意了张工的建议,采用GFS作为分布式文档协作平台的文件系统架构。
【问题1】(12分)
请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。
【问题2】(8分)
针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。
【问题3】(5分)
请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。
A. 联合查询
B. 传递查询
C. 数据定义查询
D. 子查询
阅读以下关于软件系统数据建模的说明,在答题纸上回答问题1至问题3。
【说明】
某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:
(1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。
(2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。
项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。
项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。
【问题1】(9分) 请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。