- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程04系统设计概要
* 面向对象设计活动之三——详细设计一个类 由构件工程师详细设计每个类的属性、方法和关系。 第1步:定义类的属性 用所选择的编程语言定义每个类的属性。类的属性反映类的特性,通常属性是被封装在类的内部,不允许外部对象访问 类属性设计的注意点: 分析阶段和概要设计阶段定义的一个类属性在详细设计时可能要被分解为多个,减小属性的表示粒度有利于实现和重用。但是一个类的属性如果太多,则应该检查一下,看能否分离出一个新的类。 如果一个类因为其属性的原因变得复杂而难于理解,那么就将一些属性分离出来形成一个新的类。 通常不同的编程语言提供的数据类型有很大差别,确定类的属性时要用编程语言来约束可用的属性类型。定义属性类型时尽可能使用已有的类型,太多的自定义类型会降低系统的可维护性和可理解性等性能指标。 类的属性结构要坚持简单的原则,尽可能不使用复杂的数据结构。 设计类的属性时必须要定义的内容: 属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据类型不够,设计人员可以利用已有的数据类型定义新的数据类型。 属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。 设计类的属性时主要的选择内容: 属性的初始值:如果默认值,用户在操作时会感觉很方便。例如在计算税费的程序中,如果定义了初始默认税率,用户就不必每次都重复输入税率值。 属性在类中的存放方式:①By value(按数值)属性放在类中。②By reference(引用)属性放在类外,类指向这个属性。后面这种情况一般是属性本身为一个对象,例如“教研室”类有一个属性是“教师”,而“教师”对象本身在“教研室”类之外已经定义了,这时“教研室”类中只保存一个指针指向这个外部对象。 第2步:定义类的操作 由构件工程师为每个类的方法设计必须实现的操作,并用自然语言或伪代码描述操作的实现算法。一个类可能被应用在多个用例中,由于它在不同用例中担当的角色不同,所以设计时要求详细周到。 设计类操作的注意事项: 分析类的每个职责的具体含义,从中找出类应该具备的操作。 阅读类的非功能需求说明,添加一些必须的操作。 确定类的接口应该提供的操作。这关系到设计的质量,特别是系统的稳定性,所以确定类接口操作要特别小心。 逐个检查类在每个用例实现中是否合适,补充一些必须的操作。 设计时不仅要考虑到系统正常运行的情况,还要考虑一些特殊情况。 例如,一个对象结束前必须释放占用的资源,在并发系统中,一个任务结束前必须通知其它任务自己已经结束;出错是不可预见的系统终止,可能是应用错误、系统资源短缺或外部中断引起的。 经验丰富的设计者可以预见有规律的出错,但是不论多么完善的设计都不能保证系统中没有错误。好的设计通常在可能出现致命错误的地方设计一个良好的出口,在系统终止前尽可能清晰地保留当时的信息和环境,尽可能多的反应出错误信息。 设计类的操作时必须要定义的内容 操作描述:说明操作的具体实现内容,可以用伪代码或者文字描述操作的处理逻辑。 定义操作的参数:说明每个参数名称和类型。 操作返回类型:可以是编程语言的内置数据类型,也可以是设计人员自定义的数据类型。 操作可见性:Public、Private和Protected。在UML中用+、-、#符号表示。 操作异常:说明每个操作中的异常处理。 说明操作运行之前要满足的条件和操作运行之后要满足的条件。 设计类的操作时可选的主要版型 Implementer型:实现业务逻辑功能。 Manager型:是实现构造器、析构器以及内存管理等管理性操作。如:当垃圾回收器将要释放无用对象的内存时,先调用该对象的finalize()方法。 Access型:访问属性的操作,例如get或set。 Helper型:是完成自身任务的一些辅助操作。 第3步定义类之间的关系 设置基数:一个类的实例与另一个类的实例之间的联系。在图书馆信息管理系统中,“图书”类和“读者”类关联,如果需求说明中有“一位读者可借图书的数量为0至10本”,那么它们之间的基数为1:0..10。 使用关联类:可以放置与关联相关的属性。例如 “图书”类和“读者”类,如果要反映读者的借书情况,该如何处理呢?可以创建一个关联类,这个类中的属性是“借书日期”。 设置限定:为了减小关联的范围。例如一个目录下虽有多个文件,但是在一个目录范围内确定唯一一个文件,用“文件名”限定目录与文件之间的关系。 例:图书馆图书信息管理系统的设计 图书馆图书信息管理系统的物理结构说明: 节点说明: Web服务器:HP ProLiant DL380G3 2.8GHz CPU,1GB内存,73GB*2硬盘;操作系统:Windows 2000; Web服务器软件:MS IIS; Web接口软件:ASP。 应用服务器和数据库服务器:Sun Fire ?
文档评论(0)