




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、作业答案。2.1 a.设计者对于用户要问的问题:项目的目标是什么?做到什么程度就成功了?谁会对项目的成功做最后的评判?项目的使用者包括那些?b. 用户对设计者应该问的问题:目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成?c. 软件问题用户自问?还有其他解决方案吗?哪些功能是必须的?乙方资质和能力够吗?d. 软件过程问题自问?用敏捷还是用瀑布?质量检查点分别有哪些?有几个MileStone? 2.2 为沟通活动设计一系列动作,选定其一并设计任务集。(批作业的时候,以合理为目标,不一定要一样)需求获取、需求规范说明(建模)、需求协商、需求确认等。例如,书上page 23。2.7
2、详细描述三个适合用于瀑布模型的软件项目。(要求学生不仅仅列出项目的名称,而要说明为什么适合)瀑布模型适合于项目开发而不是产品开发。信息管理系统一般适合于用瀑布模型。因为这类系统业务功能较为明确,架构比较单一,技术难点较少。 图书馆系统、销售管理系统都是。3.11 重构:已经写好的正确的代码,不断修正,使得代码更加精简并易读。结对编程:两个人同时编写一段代码,一般一个人负责实现,一个人负责检查代码质量。3.16 利用FDD,为“Web浏览器”定义一系列特征集合与特征。特征集合模板:<Action><ing> an <Object> 如:出售一件商品特征定义模板
3、:<Action> the <result> <by|for|of|to> a(n) <object>特征集合:展示Web页面内容。特征:)本地解析HTML页面)展示HTML页面)从网络上下载页面相关图片)在浏览器上展示图片附加:统一过程模型的图。(要求有图有说明)5.9 为如下活动开发一个完整的规约注意按照书本59页格式,包括用例名称,参与者,场景,异常等等。510 用例异常代表什么1)非正常输入。2)环境状态不满足要求。3)备选方案。5.13 在需求工程活动的谈判情境中,“双赢”意味着什么?)找到了双方赢的条件。)合适的折衷。(在满足利益相关
4、者要求的同时,反映软件团队所处真实世界的限制,如时间、人员,预算)后续开展软件活动的关键。JUNIT,SVN, Maven,RedMine分别是什么工具,完成什么功能?这四个工具都是软件工程辅助工具。JUNIT是单元测试工具、SVN是版本管理工具,Maven是构建工具,Redmine是项目管理与变更管理工具。1)JUnit是基于面向对象构建的java单元测试框架。JUnit是开放源代码项目。使用这个工具可以快速构建测试用例。 可以和Maven等构建工具集成,在持续集成过程中不断进行测试。2)svn(subversion)是一个版本管理工具。与GITHubGit这种分布式版本管理工具不同,这是集
5、中式代码管理工具。SVN的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。SVN支持分支与合并,支持标签管理等。3)Maven 是一个构建工具,可以通过撰写配置文件,自动构建一个项目。构建过程包括从服务器上checkout出源代码,编译、运行单元测试、生成文档、打包和部署等工作,在maven的帮助下,这些工作可以自动进行。另外,maven还有依赖管理、自动生成项目站点等特性。bbb:/wenku.baiduaaa/view/80e4c3136edb6f1aff001fdd.html)redmine Redmine是
6、用Ruby开发的基于web的项目管理软件。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。另外,软件还提供wiki、新闻台等,也可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。6.6 PHTRS的用例图与类模型类包含:坑洼/上报人工单/维护人员/维护设备/维护材料等等注意到这几个之间的关联,上报人和坑洼的关系,工单和其他所有类的关系。等等。6.8 与类图相关。7.1 结构化分析与
7、面向对象分析的本质区别。答:结构化分析的核心是“处理”,而面向对象分析的核心是“对象类”。前者以“计算”为核心,而后者以“结构”为核心7.5 什么是控制规格说明?答:控制规格说明使用两种不同的方式表现系统的行为,)一个状态图,是行为的序列说明。)程序激活表,即行为的组合说明,或者说是当有事件发生时,会引入流程模型的哪个处理。7.6 PSPEC和用例是同一事物吗?如果不是,请解释区别。答:不是。处理规格说明用于描述出现在求精过程中最终层次的所有流程模型的处理,通常是在详细设计的时候用到,是系统某个功能的具体实现方法。而用例描述了一个用户如何使用系统的,并不涉及到系统的内部的行为,通常在需求分析阶
8、段用到。7.8 如何从状态图区分顺序图?它们有何相似之处?答:状态图描述一个对象状态的变迁,而顺序图描述几个对象之间交互的顺序。对象状态的变迁,通常是由事件激发的,这个事件和顺序图当中的消息有关。可以由多个对象的状态图,组合成多个对象交互组成的序列图。9.1 用一个房屋或建筑物的结构做比喻,与软件体系结构做对照分析。经典建筑与软件体系结构的原则有什么相似之处? 又有何区别?答:建筑物也是由各种部件通过不同方式搭建而成。如不同的房子都有墙、顶、地基等等,搭建方法的不同构成了不同风格的房子。软件体系结构也一样,不同的部件通过不同的方式的组装,形成了不同的软件系统。不同点:1)一个比较实际,一个比较
9、抽象。2)房屋或建筑物可变化的空间比较小,软件体系结构变化跨度更大一点。9.2 举出一两个例子,说明.3.1节中提到的每一种体系结构的应用。答:1)以数据为中心的体系结构 以数据库为核心的企业信息系统2)层次体系结构 OSI, MVC3)调用/返回体系结构 远程消息调用(RPC),科学计算。4)数据流体系结构 编译器9.39.3.1节中提到的一些体系结构风格具有层次性,而另外一些则没有。列出每种类型。没有层次的体系结构风格如何实现?答:很难绝对地说那些体系结构没有层次。1) 层析性体系结构肯定有层次。2) 调用/返回的话,有主程序,也有1层调用,2层调用。层次不明显的:1) 以数据为中心的体系
10、结构,通过所有软件访问公共的数据库实现数据共享。2) 面向对象体系结构,通过将对象组装成模块,体现某种层次。 3) 数据流体系结构,数据可以通过管道,流到更细的管道里去。9.6 研究ATAM,并对9.5.1节提出的个步骤进行详细讨论。此题目暂时不批。10.3 OCP原则的核心是 容易扩充,但是不需要修改已有代码。(对外延具有开放性,对修改具有封闭性)代码如:探测器类读取不同的Sensor,用interface 定义Sensor,然后HeatSensor实现之,如果想扩充一种Sensor,则直接实现Sensor接口,Detector不需要修改。/Detector Sensorpublic cla
11、ss Detector Sensor sensor;public Detector(Sensor sensor)this.sensor =sensor; public void detectSensor(Sensor sensor)System.out.println(sensor.read();/Sensor 接口public interface Sensor public String read();/HeatSensorpublic class HeatSensor implements Sensorpublic String read()return "heatSensor&
12、quot;/扩充一个Sensorpublic class SmokeSensor implements Sensor public String read()return "smoke"10.4 DIP含义是:1、上层不应该依赖于下层模块,二者都应该依赖于抽象。2、抽象不应该依赖于细节,细节应该依赖于抽象。如果如果以电灯为例子,开关可以打开电灯。如果开关直接调用电灯,那么,当(和OCP的例子中有所不同,如果其他物体都继承电灯,也满足OCP原则,即可以扩充,无需修改代码,而DIP直接指出了依赖于抽象的意义)代码如下:public class Light public Stri
13、ng turnOn()return "Turn on the light"public String turnOff()return "Turn off the light"public class Switch public String Toggle(Light light)return light.turnOn();public class Test public static void main(String argv)Switch sw =new Switch();Light light = new Light();System.out.pri
14、ntln( sw.Toggle(light);/ 如果将TV作为子类,虽然从程序上可以,但理解不合理。public class TV extends Lightpublic String turnOn()return "Turn on the TV"public String turnOff()return "Turn off the TV"所以,增加一个接口,叫Switchable10.5 选择3个你最近开发的构件,评估每个构件的内聚类型。此题目暂时不批。10.6 选择3个., 评估每个构件的耦合类型。此题目暂时不批。10.7 问题领域构件不会存在外部耦合的说法有道理吗?如果你认为没有道理,那么哪种类型的构件存在着外部耦合?没有道理。例如:1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋装修合同三方合作要点探讨
- 外墙保温项目合同协议书范本
- 商品买卖合同模板大全
- 租赁合同提前终止补充协议
- 房地产合同范本:买卖合同详解
- 项目合作反担保合同书范文
- 书本印刷承包合同8篇
- 重庆市饲料买卖合同5篇
- 2025年残疾人福利供养合同
- 2025年离婚案件子女监护权与抚养费用协议合同
- 《如何提高自信心》课件
- 脊柱侧弯的中医治疗研究
- 《字体设计第三章》课件
- 中建工法样板施工方案
- 网络安全运维课程标准
- 真武信仰的渊源与流变研究
- 阳光分级阅读 Sloppy Tiger and the Party 课件
- 危险货物运输人员的培训和教育
- 无人机快递技术-无人机的操作
- 智慧工地及智慧工地整体方案
- 工作指导手册
评论
0/150
提交评论