轉(zhuǎn)眼間時間就從9月份到現(xiàn)在的十一月份了聪轿。這段時間說實話做的有意義的事情太少∫危現(xiàn)在還是單身···
閑話直接跳過了,嗯陆错,手把手教程第二季已經(jīng)來了灯抛,第一季就不用再寫什么第一季匯總資源之類的記錄了,直接扔出第一季的總集合地址音瓷。
[手把手教程][JavaWeb]第一季點擊這里查看所有文章对嚼。當(dāng)然,也可以直接訪問我的博客绳慎。
最近一直在想怎么搞的更好纵竖,怎樣描述能更加簡單直觀的解決問題。第一季我們采用了以下的描述方法:
- 列表
- 畫流程圖
- 貼效果圖
- 語言描述
- 直接貼代碼
第二季我考慮適當(dāng)?shù)囊胍恍┸浖こ痰母拍钚臃撸约俺S玫乃季S模式的一些實現(xiàn)靡砌,大概想做一些下面的東西:
說實話上面的這些東西,在實際開發(fā)中我們可能不是每次開發(fā)都準(zhǔn)備這些東西声邦,但是我們在平時可以考慮把這些東西都準(zhǔn)備一下乏奥,到了一些時候我們的腦袋里自然會有這些相關(guān)的概念浮現(xiàn)。而且這樣分析程序組織結(jié)構(gòu)和執(zhí)行流程對我們每個人的成長也已有利的亥曹,所以希望同學(xué)們能一起互勉邓了。
軟件工程講究的是以工程學(xué)的角度來控制軟件的研發(fā)。核心目的是:提高效率降低成本媳瞪。我們在實際開發(fā)中如何體現(xiàn)這些東西呢骗炉?
思維導(dǎo)圖
為什么要把思維導(dǎo)圖放在最前面?思維導(dǎo)圖又叫心智圖蛇受,是表達發(fā)散性思維的有效的圖形思維工具句葵,是一種將放射性思考具體化的方法,是一種圖像式思維的工具以及一種利用圖像式思考輔助工具兢仰。簡單思維導(dǎo)圖如下:
上面這個圖是我畫的一個關(guān)于文章系統(tǒng)設(shè)計的圖(中間有小瑕疵乍丈,將就的看=,=),這個就是我們常用的思維導(dǎo)圖的作用之一把将,能幫助我們理清思路和功能結(jié)構(gòu)轻专。具體的思維導(dǎo)圖我們就不再多做介紹了,在上面的鏈接中都可以查看察蹲,思維導(dǎo)圖推薦的工具是xmind请垛。
流程圖
流程圖相對來說是我們現(xiàn)在相對更加熟悉的東西催训,在前面的第一季的文章中我們能看到很多關(guān)于流程圖的繪畫。流程圖是流經(jīng)一個系統(tǒng)的信息流宗收、觀點流或部件流的圖形代表漫拭,它以特定的圖形符號加上說明來表示事物執(zhí)行流程。
數(shù)據(jù)流圖
數(shù)據(jù)流圖:簡稱DFD(Data Flow Diagram)混稽,它從數(shù)據(jù)傳遞和加工角度瓢娜,以圖形方式來表達系統(tǒng)的邏輯功能预伺、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程渗稍,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法今妄。
- 指明數(shù)據(jù)存在的數(shù)據(jù)符號,這些數(shù)據(jù)符號也可指明該數(shù)據(jù)所使用的媒體颓影;
- 指明對數(shù)據(jù)執(zhí)行的處理的處理符號各淀,這些符號也可指明該處理所用到的機器功能;
- 指明幾個處理和(或)數(shù)據(jù)媒體之間的數(shù)據(jù)流的流線符號诡挂;
- 便于讀碎浇、寫數(shù)據(jù)流程圖的特殊符號。
數(shù)據(jù)流圖雖然說在名字上面聽起來有點類似流程圖璃俗,但是實際上兩者差異還是較大奴璃,同時我們可以很明顯的看到數(shù)據(jù)流圖把程序執(zhí)行的數(shù)據(jù)流轉(zhuǎn)示意表現(xiàn)的很清楚,所以我們也需要他來幫我們完成一些事情城豁。
E-R圖
E-R圖:實體-聯(lián)系圖(Entity Relationship Diagram)苟穆,提供了表示實體類型、屬性和聯(lián)系的方法唱星,用來描述現(xiàn)實世界的概念模型雳旅。
UML建模
UML建模技術(shù)就是用模型元素來組建整個系統(tǒng)的模型,模型元素包括系統(tǒng)中的類间聊、類和類之間的關(guān)聯(lián)攒盈、類的實例相互配合實現(xiàn)系統(tǒng)的動態(tài)行為等。
UML是面向?qū)ο箝_發(fā)中一種通用的圖形化建模語言哎榴。面向?qū)ο蟮姆治鲋饕诩訌妼栴}空間和系統(tǒng)任務(wù)的理解型豁、改進各方交流、與需求保持一致和支持軟件重用等4個方面比較突出尚蝌,因此也成為現(xiàn)在主流的建模方法(在IDEA中我們能看到項目對應(yīng)的Uml模型)迎变。
相對于其他的圖示,我更加喜歡UML建模飘言,他能很生動形象的表現(xiàn)出各個類氏豌、接口之間的關(guān)系,如下圖:
上面的第一張圖中我們可以看到是我的UserDao繼承了BaseDao并且將泛型T具體化為User热凹。
public interface UserDao extends Dao<User> {
int add(User user);
int del(User user);
int update(User user);
User findOneById(Serializable Id);
List<User> findAll();
void updateLoginSession(@Param("sessionId") String sessionId, @Param("loginId") String loginId);
void addSessionId(String id);
}
同理可得泵喘,我們的PostDao也是繼承BaseDao并且將泛型T具體化為PostBean。
第二張圖中般妙,實際就是我們的User和PostBean這兩個javaBean纪铺,他們同時實現(xiàn)了接口Serializable。
上面兩張圖中我們可以看到:
- 類或者接口的繼承用實線箭頭表示
- 類實現(xiàn)接口用虛線箭頭表示
- 泛型具體化也是用實線箭頭表示
- 類使用淡藍色方框表示
- 接口使用淡紫色方框表示
具體的一些東西我們后面再詳細介紹碟渺,現(xiàn)在大概明白即可(當(dāng)然老司機肯定是直接跳過)鲜锚。
倚賴wordpress數(shù)據(jù)庫的博客系統(tǒng)
這一季我們的正式目標(biāo)是做一個博客系統(tǒng),然后倚賴的是以前的wordpress博客的數(shù)據(jù)庫苫拍。這幾天大概整理了功能如下:
為什么說打算做這一個東西芜繁,主要是因為首先我個人的博客被人家刷評論了,第二點是博客一直被人攻擊绒极,想用自己的系統(tǒng)來和別人斗智斗勇看看骏令。
做重要的是想自己作一些屬于自己的東西,留下一些記錄的痕跡垄提。
這個第一期只能說不算開篇的開篇吧榔袋,在后面的文章中可能我們很多時候更多是怎么樣去引導(dǎo)思維這樣子做事,而不是怎么樣去編碼铡俐。
希望在這新的一季里面我們能有更多的收獲凰兑,一起加油吧。