* 摘要
。软件开发流程
。系统设计
。系统设计实战
* 系统设计
概要设计和详细设计
* 面向对象的设计方法
。八十年代以来,OO技术在计算机软件开发技术研究和应用领域中十分活跃,它的优越性几乎在一夜之间为人们所接受
。面向对象是一种方法,一种思想,同时又是一种技术。它力求更客观自然地描述现实世界,使分析,设计,和实现系统的方法同认识客观世界的过程尽可能一致。
。OO思想的基本原理是:按照问题领域的基本事物实现自然分割,按人们通常的思维模式建立问题领域的模型,设计尽可能直接自然表现问题求解的软件系统。对象表现事物,用消息传递建立事物间的联系。
* 面向对象的设计方法
。模块化:需要划分成不同的模块来完成。
。角色化:需要分别从不同的用户的角度出发去考虑其工作流程。
。流程化:需要把用户使用,工作的过程流程化,并在系统中体现。
。规范化:需要符合一定的标准。
。简单化:系统的使用要用户友好,尽量简洁。
。个性化:对于不同的用户要能够体现其个性化的东西。
* OOP设计方法步骤
1、类的抽象。也就是对象建模。简单地说就是为了实现我们的目的(模块功能)我们需要有哪些类?一般情况下,我们设计的类是现实具体对象的一个抽象,如“自行车”;但也可能是一个抽象类(如超类)。出发点可以是该模块的功能(功能划分),或是和用户的交互入口。
2、类的层次构造。这些类的关系是什么?用对象模型图表示出来。即各个类的关系,是继承还是依赖等。
3、类的定义。即每个类包含哪些属性(类的成员变量)、哪些操作(类的成员函数)。这是一个事件识别和操作识别的过程。
4、类的实现。具体到每个类的成员函数是如实现的。对于每个成员函数类似结构化程序设计中的一个模块,要准守如单入口,单出口;功能单一;规模适中;接口简单等原则。
* 系统设计
1、数据库设计
。设计之前:(数据库命名规范)
。设计技巧:
-正则化技巧
-设计范式
2、界面设计
3、超类设计
。面向对象方法开发出的软件具有较强的可重用性,这种重用包括开发项目内部的重用和外部的重用。重用依存于超类设计,没有超类的对象系统好比“把洗衣机当米缸”,不能物尽其用。
。由于系统开发工期紧,工作量大,而我们的开发队伍年轻,经验和人力都不足,内部重用率高的超类开发无疑是我们的救星。它可以减少重复劳动,易于统一规格,对复杂问题统一攻关,统一解决,便于统一维护。
* 超类设计
对超类的抽象即实例对象的泛化原则:
。寻代大多数实例对象的共同行为。例如“打印报表”、“查询静态代码表”、“录入数据库表数据”等
。超类的多态性设计要保证使用超类继承关系可以满足各子类的操作要求。例如,继承同一个“数据录入”祖先窗口,可以完成不同结构数据库表的数据录入。
。利于信息的隐蔽性,不会破坏数据的完整性,利于将复杂问题简单化。
。有利于推行开发规范,统一界面风格。
* 数据库设计
。数据库设计任务?
-有几张表?
-各个表有哪几个字段?
-每个表之间的关系?
。如何得到?
-涉及到的人物?
-涉及到的内容?
-人物和内容之间的关系?
* 界面设计
。页面设计任务?
-需要几个页面?
-每个页面控件布局?
-各个页面之间的跳转关系?
。如何得到?
-用户工作流程图