《软件工程》上课精华分享


1 不同阶段做不同的设计,求学应依照现阶段经验。 2 eg.小孩刚出生吃奶,大一点了吃稀饭,再大一点了吃米饭。 3 我们软件工程的大作业也如此,应依现阶段经验,做简单大体的设计,其过程如下: 4 在设计阶段要进行“技术验证”,防止因难度过高而停滞。

  

发展后劲:可选听设计模式与智能算法。
招聘注重: 项目经验、项目角色、项目遇到的问题。
 
界面设计的黄金法则:
1.用户操纵控制。
2.减少用户的记忆负担。
  eg.SqlServer安装的最后,会总结出前面的已选的选项;
  不断进展方式揭示信息:eg.有10项功能,常用的四项,按某个键可以实现精简版或完整版,或者设置高级选项隐藏不常用的。
3.保持界面一致。

《设计模式》:使用解决方案 ,而不是重复的劳动。
【单例模式】 某个对象要求唯一。
 eg.某报警器有多种声音,它想不出现混乱,在物理报警器与虚拟报警器(代码,类)需要设置唯一。
如系统不同事务都要写入日志,可以写个日志类。要点:1.私有构造函数;2.getInstance()通过控制次数调用。
【工厂方法模式】可选择,从几种实现中选一种。
eg.要判断日志是要打印到文件,还是打印到屏幕。
起初:通过
 class A{
        main(){调用类B}
 }
class B{
    public void log(){
        if()...else...                          -->"控制耦合",不好用
    }
}
接着:通过
"数据耦合",降低耦合程度     

20150601


收集->抽取->清洗->规范化->统计->报告 用大数据【判断房价升or降】 一般用“顺序批处理风格” 管道过滤器模式中,队列可当管道用 缓冲->解码->美化->大小->显示 【视频播放器】 不断产生和消耗数据 用5个线程同时进行(数据流不是前->后,而是同时进行) 提高复用性->技术:面向服务的计算 eg.百度地图、天气预报 [双方调用多,松散度大,独立性高,容易维护] 同步:TCP 可靠性高、效率低 异步:UDP 可靠性低、效率高 事务处理:指要么做要么不做 eg.银行存钱,存款相应增加,不可能没有做完 分层优点:影响不会太大 瘦客户端:服务器压力大 胖客户端:业务复杂,不好维护 C/S(页面是固定的,只需要下载数据)效率比B/S(与网络快慢有关)高 游戏一般用C/S,因为有很多特效 控制器:DOS界面的数字选项 switch(XX){ …… } 表: op function 1 f1 2 f2 3 f3

 

好处:1.界面与业务分离,松散耦合;

     2.业务流程可配置。

点对点(P2P)
eg.迅雷(多个服务端同时下载)、QQ

用户到迅雷服务器(只保存每个用户的文件,不保存源,汇总所有用

户文件)搜索文件
->创建TCP连接,在拥有该文件的机器上下载(多点下载)
->每个节点既是客户端又是服务器

迅雷会员:CDN
用户传文件时偷偷保存副本,保存在你家附近的服务器,可直接从电

信机房下载。

面向服务的体系结构(SOA)
两台机器,用文本交互。
eg.在数据库中使用别台机器生成的sql语句(协议:ODBC、JDBC、

RPC),网页交互(HTTP)

软件复用提升。云计算一定会用到。

 20150518

 

1.鼓动 2.培训 3.细化 4.沟通(任务安排) 5.承担(勇气) 6.检查 要顺利执行这六点,得先建立好纪律。——团队总结
1)记原理胜于记概念,细节实现交给百度。更多时间拿来构思和优化。
2)考试考的是知识,上班考察的是个人素质(eg.工作方式,敢承担,愿意为别人服务……)
3)独门绝技是不存在的,你先学会一门技能不代表别人跟不上你。
4)要更加注重培养技能以外的素质,这些是别人学不了的。
——《软件工程》总结

20150617

posted @ 2015-05-18 19:00  Nanphonfy  阅读(159)  评论(0编辑  收藏  举报