面向对象之CoreJava(第一课)

CoreJava学习阶段

7个小项目的基本目标:
    1、使用项目了解基本语法
    2、使用项目了解基本类库
14个项目的基本目标:
    1、计算器
    2、扫雷
    3、万年历
    4、吃豆豆
    5、last指令
    6、画图
    7、俄罗斯方块*
    8、资源管理器
    9、聊天QQ*
    10、进销存管理系统*
    11、坦克大战
    12、文件共享服务器
    13、简易WEB服务器*
    14、飞鸽传书
    具体目标: 了解什么是面向对象,自己结合开发的内容,思考设计模式的内容,设计模式不可以强烈的去学习,而是在程序的开发过程中自己领悟
5个扩张项目:
    1、各种需求的线性表的实现
    2、二叉树于二叉搜索的实现
    3、使用线性表进行排序
    4、表达式转换与计算
    5、系统日期时间设置

**********************************


电信实验室计费管理系统
    实验室使用时长数据采集与整合系统
使用技术:
面向对象、异常处理、多线程、IO/NIO、SOCKET、JDBC、XML处理

每天50到200行代码量!

yangqiang@tarena.com.cn
MSN:louisyyy@hotmail.com
QQ:38395870

DMS  Data Mine System 数据挖掘系统

数据 采集,整合,分析
针对电信运营商

安全、准确、安全

读 ---> 匹配 ---> 发送
接受 ---> 存储
整合

用户--->参与者
问题--->用例

/usr/adm/wtmpx
此文件为用户登录历史日志文件
读取wtmpx文件,解析,通过socket发送到服务器,并存储到DB

用SQL语句自己统计,然后看统计表里面的内容,安IP统计,
1、按时段,按用户
2、按时段,按ip,按用户
3、按天,按用户
4、按月,按用户

建立模型
1、用户的需求说明文档
2、初步需求分析

用户的需求说明文档那个
1、用什么
2、得到什么
3、特殊的要求

需求分析——分析的重点
1、寻找参与者
    使用系统的人
2、寻找独立的功能:用例
    独立性
    集中的目的性
    描述简单性
    参与者操作单一性
3、描述参与者与用例

参与者
    1、用户:使用电信实验室的人群
    2、超级管理员:分配权限给其他工作人员的人。
    3、系统管理员,负责维护实验室系统的管理员
    4、运营管理员:负责用户帐务帐号,业务帐号申请,自费标准建立的电信工作人员。

----意义
怎样保证我们确实已经完全理解用户的意图?
    保证用户的需求不要不停的变化
    保证取出用户的矛盾需求
    保证在框架和设计系统的时候需求足够充分成熟
    完整成熟的需求可以保证最适合的技术与框架的设计


----描述用例
    用例名称
    简单简单描述
    前置条件
    后置条件
    正常事件流:用户必须使用的
    可选事件流:用户可选操作的
    异常事件流:用户错误的内容
    特殊需求
    说明:自己对用户的说明
    
    注:事件流的表达方式可以使用文本,也可以使用图,比如时序图,活动图等方式。

----数据采集客户端用例描述(图文)
用例名称    数据采集客户
用例编号
用例简述    1、读取日志文件,并清空日志
    2、从读取的数据中解析

会话:一个过程完成的经历叫做会话
事件流:一个动作完成的过程叫做事件流,用户与系统交互的过程。

该程序的使用技术
    1、C/S结构:客户端服务端的编程结构
    基于安全考虑,使用三层的C/S结构。
    2、java语言基础
    3、java的面向对象实现
    4、java的应用:异常处理,IO,线程,网络,JDBC

SUMMARY QUESTION:
    1、几个用例?
        三个
    2、分析用例的要素?
        参与者
        用例
        参与者与用例的关系
    3、怎样去描述用例子?
        用例名称
        简单简单描述
        前置条件
        后置条件
        正常事件流:用户必须使用的
        可选事件流:用户可选操作的
        异常事件流:用户错误的内容
        特殊需求
        说明:自己对用户的说明
    !!推荐:状态图,用例图

***********************************

认识事物的面向对象思想
 
  主题内容
    问题于事物认识,事物描述?
    事物认识与分类
    对象分类与共性抽象
    类描述
    分类标准与子类
    子类描述
    子类与子类对象的功能多态性
    多态描述
**
问题与事物认识    — — — — >一般规律
1、当我们面临一个问题的时候,最直接的方式是:
    先认识问题
    然后解决问题
2、写程序的时候
    问题
        就是要写的项目[程序]要实现什么?
    认识问题
        项目分析,项目设计
    解决问题
        用一门语言去描述实现设计

问题与事物认识   — — — — >入手
1、解决问题入手两个问题
    我有什么调价阿?
    怎么利用这些条件呢?
    得到期望的结果。
2、分析项目的时候
    条件:数据(初始数据等)
    利用条件:功能或数据处理(进行处理,怎么处理)
    结果:结果(报表,文件,网页等)

问题与事物认识 — — — — >方法
1、解决问题的方法
    围绕已有条件提出解决过程的方法,最后得到满意的结果。
    直接针对问题提出解决过程,利用已有的条件,最后得到满意的结果
2、项目分析的方法
    

问题与事物认识 — — — — >选择方法
1、项目分析的方法:
    面向过程的分析方法
    面向对象的分析方法
        面向对象的分析方法是面向过程的扩展
        在分类的数据上进行面向过程的设计,并对过程进行分类的设计
1、面向对象分析
    以数据分析为骨肉,以功能分析为骨干的分析方法

问题与事物认识 — — — — >事物描述
1、当分析清楚问题,认识问题后,需要把认识的事物描述出来
2、描述语言有很多
    汉语,英语,等人类语言
    计算机语言,C.C++,Java,C#
    其他直观图形语言UML

对象分类与共性抽象 — — — — >数据抽象
1、在现实物理模型中,很少存在单个的数据,数据都是以对象的形式窜在,
    所以在分析数据的时候以对象为单位进行分析是自然的事情
    在买打印机过程中就发现对象有打印机,出租车等。
2、但我们在分析问题的时候按对象分析数据,但不是特指分析[分析一个对象],而是泛指分析[分析一类对象],就是数据分类抽象。

分类标准————>>>数据  ————>>>共性

OO:面向对象的共性
数据抽象来源于对象
对象分类与共性对象 ————>抽象标准
共性的抽象标准是随意的
    共性的抽象标准规根据需要可以随意选定的,这完全看问题解决的需要。
    每个抽取的标准规就是一个数据,该数据对解决问题应该有帮助


**
对象分类与共性抽象 ————>类
抽取出来的共性就是判别标准:
    用一组数据来判别对象是否具备共性,该对象无形中被分了类
    抽象共享就是把一组具备共性的对象分成一类,我们把共性称为类。类就是对象的归属判别标准。
    对象按类划分==对象按标准规划分

对象分类与共性抽象 ————>类抽象的意义
类抽象的意义:
    就是用分类的方式,通过有限的类掌握无限的对象
    有限的类便于用语言描述
    抽象类可以根据需要变化


对象分类与共性抽象 ————>一个例子
在购买打印机的问题中别我们认识数据就非常清楚
    信用卡对象;余额,信用额度,密码,卡号,发行银行分了
    打印机对象:品牌,型号,价格,其他可选型号
    中关村对象:位置,距离,到达方式-出租车,费用。

对象分类与共性抽象 ————>功能分配
功能的完成都与数据有关,在对功能的处理上同样采用分类处理的方式,这样可以保证功能的独立性与封闭性。

对象分类与共性抽象 ————>总结
1、对象分类
    就是分类标准的抽取,就是共性的抽取
    也是对共性数据处理的分类与分配
2、对像分类
    就是在分类好的数据基础上的责任功能分配
    分类抽取包含:数据与功能

-----------------
程序员的理念        |
1、抽象一个类        |
2、用语言描述这个类    |
3、使用一个类        |
-----------------

关键词

1、分类与类
2、抽象与

类描述—— —— 语言选择
1、我们上面可以通过从数据分类遭受,然后以数据为中心分配功能的方法,并采用安对象为个体的数据分类与责任分配手段就是面向对象思想最基本的背景
2、当我们使用面向对象的思想认识十以后,怎么来表达这种认识呢?——当然是语言了
3、面向对象的语言;就是能安分类方式描述十五的语言
    汉语等人类语言基本都是面向对象的
    计算机语言C++ ,java都是面向对象
    其他标记语,。UML
4、要求:
    首先能使用汉语描述
    使用UML描述
    使用JAVA描述

类描述—— ——封装描述
1、类描述的显著特点是封装描述,封装描述就是体现在两个方面:
    数据集中描述[对应汉语中章的概念]
    数据的不公用性描述[汉语不好实现]
2、封装描述的有点在于条理性
    该类的数据,只能被该类的功能使用,修改,输出
3、在不同语言对封装有不同的语法
    清关注JAVA中封装的语法特点。

今天的作业:
1、请自己安装数据采集与整合系统,并要求采集至少两天
2、请随意安装使用程序,并说出什么情况下程序不会正常工作
    要求:罗列至少一种不正常工作的情况。请分析
3、
补充:
    购买打印机:
        事件流:
        信用卡类:
        打印机类:
        销售点类:





posted @ 2008-08-15 18:04  系咪噶  阅读(530)  评论(0编辑  收藏  举报