九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
【信管1.2】信息系統(tǒng)開(kāi)發(fā)方法

信息系統(tǒng)開(kāi)發(fā)方法

信息系統(tǒng)是一個(gè)極為復(fù)雜的人機(jī)交互系統(tǒng),它不僅包含了計(jì)算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)、其他的工程技術(shù),而且,它還是一個(gè)復(fù)雜的管理系統(tǒng),它也需要管理理論和方法的支持。因此,與其他的工程項(xiàng)目相比,信息系統(tǒng)工程項(xiàng)目的開(kāi)發(fā)和管理顯得更加地復(fù)雜,所面臨的風(fēng)險(xiǎn)也是更大的。

我們平常所使用的各種后臺(tái)管理系統(tǒng),各種在線軟件,比如說(shuō)淘寶、微信這些,往大了說(shuō)都可以是一個(gè)信息系統(tǒng)。因?yàn)樗麄兙邆淞宋覀兦懊嫠f(shuō)過(guò)的信息的特征。因此,信息系統(tǒng)涵蓋的范圍其實(shí)非常廣泛。人們常說(shuō),現(xiàn)在是一個(gè)信息爆炸的時(shí)代,從微博到朋友圈再到抖音,信息的更新速度、傳播速度以及傳播方式都是飛快發(fā)展的。為了應(yīng)對(duì)這樣一個(gè)時(shí)代,在開(kāi)發(fā)信息系統(tǒng)時(shí),除了技術(shù)、管理等因素外,系統(tǒng)開(kāi)發(fā)方法也起著很重要的作用。

常用的開(kāi)發(fā)方法包括結(jié)構(gòu)化方法、面向?qū)ο蠓椒?、原型方法、面向服?wù)方法等。我們今天主要就來(lái)說(shuō)說(shuō)這幾個(gè)方法。

結(jié)構(gòu)化方法

結(jié)構(gòu)是指系統(tǒng)內(nèi)各個(gè)組成要素之間的相互聯(lián)系、相互作用的框架。因此,結(jié)構(gòu)化方法是一種非常傳統(tǒng)的方法,也是一種工程化的方法,也稱(chēng)為生命周期法。它由結(jié)構(gòu)化分析(Structured Analysis, SA)、結(jié)構(gòu)化設(shè)計(jì)(Structured Design, SD)和結(jié)構(gòu)化程序設(shè)計(jì)(Structured Programming, SP)三個(gè)部分組合而成,其精髓是自頂向下、逐步求精和模塊化設(shè)計(jì)。

其實(shí)這個(gè)方法也就是我們最常見(jiàn)也最傳統(tǒng)的那種軟件開(kāi)發(fā)方式。對(duì)應(yīng)的是我們后面要講的 軟件工程 中的 結(jié)構(gòu)化設(shè)計(jì) 以及信息系統(tǒng)項(xiàng)目典型生命周期模板中的 瀑布模型 和 V模型 。大家先不要著急,現(xiàn)在我們只需要知道這個(gè)結(jié)構(gòu)化的一些特點(diǎn)就好,等到后面學(xué)習(xí)完了 瀑布模型 之后,再回來(lái)看這一塊的內(nèi)容,就非常好理解了。

結(jié)構(gòu)化方法有 4 個(gè)主要的特點(diǎn),它們分別是:

  1. 開(kāi)發(fā)目標(biāo)清晰化。在這其中,最主要的是 “用戶第一” 的原則,用一句俗語(yǔ)說(shuō),就是用戶就是上帝,我們一定要和用戶好好地溝通,保持聯(lián)系,充分理解。

  2. 開(kāi)發(fā)工作階段化。嚴(yán)格區(qū)分工作的階段,每個(gè)階段都有任務(wù)與成果。比如說(shuō)我們?cè)谠O(shè)計(jì)階段,就只做設(shè)計(jì)階段的事,在設(shè)計(jì)階段結(jié)束的時(shí)候,一定要有設(shè)計(jì)稿或者設(shè)計(jì)文檔產(chǎn)出。

  3. 開(kāi)發(fā)文檔規(guī)范化。所有的文檔資料都必須是非常標(biāo)準(zhǔn)化的,每個(gè)階段結(jié)束都要有文檔留存。

  4. 設(shè)計(jì)方法結(jié)構(gòu)化。從整體和全局考慮,自頂向下地分解任務(wù),逐步求精的開(kāi)發(fā)過(guò)程。

從這些特點(diǎn)中可以看出,結(jié)構(gòu)化方法適用用數(shù)據(jù)處理領(lǐng)域的問(wèn)題,但不適應(yīng)于規(guī)模較大、比較復(fù)雜的系統(tǒng)開(kāi)發(fā)。注意,劃重點(diǎn),我們的 PMP 也就是后面要講到的項(xiàng)目管理理論部分(PMP5),其實(shí)是非常偏向于這個(gè)結(jié)構(gòu)化開(kāi)發(fā)的模型的。對(duì)于需求明確、成熟、穩(wěn)定,并且有類(lèi)似成功經(jīng)驗(yàn)的項(xiàng)目來(lái)說(shuō),結(jié)構(gòu)化方法相當(dāng)適用。在最后,我們也來(lái)簡(jiǎn)單地了解下結(jié)構(gòu)化設(shè)計(jì)的 3 個(gè)主要的不足和局限性。

  1. 開(kāi)發(fā)周期長(zhǎng)。直到系統(tǒng)實(shí)施階段結(jié)束后,用戶才能使用到系統(tǒng)。

  2. 難以適應(yīng)需求變化。結(jié)構(gòu)化方法要求分析師在系統(tǒng)分析階段充分掌握和理解用戶需求。

  3. 很少考慮數(shù)據(jù)結(jié)構(gòu)。比較注重系統(tǒng)功能的分解與抽象,兼顧數(shù)據(jù)結(jié)構(gòu)的方面不多。從 SA 階段的數(shù)據(jù)流圖到 SD 階段的模塊結(jié)構(gòu)圖的轉(zhuǎn)變也比較困難。

相信跟過(guò)我們之前的敏捷課程的,一定對(duì)第 1 點(diǎn)和第 2 點(diǎn)深有感觸,因?yàn)槲覀冊(cè)诿艚葜兄饕鉀Q的就是這兩個(gè)問(wèn)題。敏捷是什么還記得嗎?通過(guò)短時(shí)間的迭代來(lái)快速交付具有價(jià)值的產(chǎn)品。正好,對(duì)應(yīng)的就是這兩點(diǎn)。在這套課程中,我們也會(huì)提到敏捷,但是,真正的主角其實(shí)反而是這套 結(jié)構(gòu)化 的開(kāi)發(fā)方法。畢竟,它的優(yōu)點(diǎn)也是不可忽視的,而且現(xiàn)在的大潮流其實(shí)是各種項(xiàng)目管理方法的融合,在很多大廠,你既可以看到敏捷實(shí)踐的應(yīng)用,也可以看到傳統(tǒng)項(xiàng)目管理工具的應(yīng)用??傊痪湓挘瑢?duì)客戶有價(jià)值,對(duì)組織有好處,對(duì)項(xiàng)目有效果的實(shí)踐和方法工具,都是我們值得學(xué)習(xí)的。

面向?qū)ο蠓椒?/span>

對(duì)于學(xué)習(xí)過(guò)軟件開(kāi)發(fā)的同學(xué)來(lái)說(shuō),這個(gè)面向?qū)ο蠓椒隙ň蜁?huì)非常熟悉了,甚至可以跳過(guò)這一塊的學(xué)習(xí)直接看后面的內(nèi)容。面向?qū)ο螅∣bejct-Oriented,OO)認(rèn)為 ,客觀世界都是由各種對(duì)象組成的,任何事物都是對(duì)象,每一個(gè)對(duì)象都有自己的運(yùn)動(dòng)規(guī)律和內(nèi)部狀態(tài),都屬于某個(gè)對(duì)象類(lèi),是該對(duì)象類(lèi)的一個(gè)元素。我們先來(lái)認(rèn)識(shí)面向?qū)ο笾械囊恍┟~。

類(lèi):相同屬性、相同操作的對(duì)象的集合。一系列相似對(duì)象的抽象。

對(duì)象:描述客觀對(duì)象的一個(gè)實(shí)體。現(xiàn)實(shí)世界的一個(gè)抽象。

實(shí)例:類(lèi)中的每個(gè)對(duì)象類(lèi),是創(chuàng)建對(duì)象的模板。對(duì)象是類(lèi)的實(shí)例,類(lèi)是對(duì)象的抽象。

屬性:對(duì)象的靜態(tài)特征。

操作:方法 或 服務(wù) ,規(guī)定對(duì)象的行為。

繼承:一個(gè)類(lèi)可以繼承另一個(gè)類(lèi)的特征或行為,這個(gè)類(lèi)叫做子類(lèi),被繼承的類(lèi)叫做父類(lèi)。

泛化:和繼承相反,由父類(lèi)來(lái)抽象出子類(lèi)。

這些東西如果你沒(méi)有接觸過(guò)的話可能理解起來(lái)比較困難,不過(guò)不用著急,在后面我們學(xué)習(xí) 軟件工程 中的 UML類(lèi)圖 和 軟件設(shè)計(jì) 的 面向?qū)ο笤O(shè)計(jì) 時(shí)還會(huì)接觸到。當(dāng)然,更好的方法是如果身邊有程序員同事的話,問(wèn)問(wèn)他們,讓他們用代碼把上面的概念寫(xiě)出來(lái),相信你一定就會(huì)明白了。到后面要講這些內(nèi)容的時(shí)候我就不會(huì)再重復(fù)這些名詞了,不記得的小伙伴記得過(guò)來(lái)查哦。

面向?qū)ο蠓椒?gòu)造的系統(tǒng)具有更好的 復(fù)用性 ,其關(guān)鍵在于建立一個(gè)全面的、合理的、統(tǒng)一的模型。OO 方法也是劃分階段的,分別是 系統(tǒng)分析、系統(tǒng)設(shè)計(jì) 和 系統(tǒng)實(shí)現(xiàn) 三個(gè)階段,但是和 結(jié)構(gòu)化方法 不同的是它們?nèi)齻€(gè)階段的界限不是很明確。某一個(gè)工作即可以在前一個(gè)階段完成,也可以在后一個(gè)階段補(bǔ)充。

在今天學(xué)習(xí)的最后,我補(bǔ)充了用代碼實(shí)現(xiàn)面向?qū)ο筮@幾個(gè)概念的內(nèi)容,大家可以了解一下。不過(guò)前提是,你最好還是有一點(diǎn)點(diǎn)基礎(chǔ),哪怕是大學(xué)上過(guò) C 語(yǔ)言的課也好。如果實(shí)在理解不了,那么只能是硬背概念了。

原型化方法

原型化方法的一個(gè)最大的特點(diǎn)是在系統(tǒng)開(kāi)發(fā)初期必須明確系統(tǒng)的功能需求,確定系統(tǒng)邊界。它也叫做快速原型法,根據(jù)用戶初步的需求,快速地建立一個(gè)系統(tǒng)模型直接展示給用戶,在此基礎(chǔ)上與用戶交流并加以改進(jìn),最終實(shí)現(xiàn)用戶需求的信息系統(tǒng)快速開(kāi)發(fā)的方法。

根據(jù)原型是否實(shí)現(xiàn)功能來(lái)分,可以劃分為 水平原型 和 垂直原型 。水平原型也稱(chēng)為行為原型,用于探索預(yù)期系統(tǒng)的一些特定行為,并達(dá)到細(xì)化需求的目的。水平原型通常是功能的導(dǎo)航,不會(huì)實(shí)現(xiàn)真實(shí)的功能。垂直原型也稱(chēng)為結(jié)構(gòu)化原型,實(shí)現(xiàn)了一部分功能,主要用在復(fù)雜的算法實(shí)現(xiàn)上。

從原型的最終結(jié)果來(lái)分,可以分為 拋棄式原型  演化式原型 。拋棄式原型也稱(chēng)為探索式原型,是指達(dá)到預(yù)期的目的后,原型本身被拋棄。拋棄式原型主要用在解決需求不確定性、二義性、不完整性、含糊性等問(wèn)題上。演化式原型為開(kāi)發(fā)增量式產(chǎn)品提供 基礎(chǔ),逐步將原型演化成最終系統(tǒng)。主要用在需要易于升級(jí)和優(yōu)化的場(chǎng)合,特別適用于 Web 項(xiàng)目。

從這兩種原型的劃分來(lái)看,各位有想到我們企業(yè)中的 產(chǎn)品經(jīng)理 畫(huà)的原型圖是屬于哪種類(lèi)型的嗎?沒(méi)錯(cuò),相信大家已經(jīng)看出來(lái)了,原型圖是沒(méi)有功能的,或者只有簡(jiǎn)單的跳轉(zhuǎn)類(lèi)的功能用于演示,因此它是水平原型。然后大部分情況下,原型會(huì)被拋棄,雖然也有演化式的大型項(xiàng)目的原型圖會(huì)持續(xù)更新,但等到項(xiàng)目結(jié)束后一般都會(huì)結(jié)束原型圖的維護(hù)。如果需要在項(xiàng)目結(jié)束后再添加功能之類(lèi)的,往往也會(huì)以單獨(dú)的功能點(diǎn)來(lái)繪制原型圖。因此,我們產(chǎn)品經(jīng)理畫(huà)的圖一般來(lái)說(shuō)就是 水平拋棄型 的原型。

在另一方面,也是我們之前在講敏捷時(shí)學(xué)習(xí)過(guò)的 MVP(最小可行性產(chǎn)品),這個(gè)其實(shí)是有點(diǎn)類(lèi)似于演化式原型的,要知道,MVP 是用于快速驗(yàn)證產(chǎn)品可行性的一個(gè)可以正式使用的產(chǎn)品,如果確實(shí)可行并且對(duì)客戶有價(jià)值的話,那么我們?cè)诿艚葜袝?huì)基于這個(gè) MVP 繼續(xù)迭代增量開(kāi)發(fā)的。因此,MVP 是屬于一個(gè) 垂直演化式 的例子。

當(dāng)然,上面的兩種例子都并不是非常固定,但在大部分情況下確實(shí)還是比較符合原型的分類(lèi)情況的。原型法的開(kāi)發(fā)過(guò)程我們就簡(jiǎn)單地通過(guò)下面這張圖了解一下即可,不是特別重點(diǎn)的內(nèi)容,相信產(chǎn)品經(jīng)理們都非常懂這張圖的流程。

對(duì)于原型法來(lái)說(shuō),有其優(yōu)勢(shì),也有其限制,我們先來(lái)看看原型法的優(yōu)勢(shì):

  • 原型法可以使系統(tǒng)開(kāi)發(fā)的周期縮短、成本和風(fēng)險(xiǎn)降低、速度加快,獲得較高的綜合開(kāi)發(fā)效益。

  • 原型法以用戶為中心,用戶參與程度大大提高,開(kāi)發(fā)的系統(tǒng)符合用戶的需求。

  • 用戶的參與度的提高,會(huì)讓用戶對(duì)系統(tǒng)的功能和結(jié)構(gòu)更加容易理解和接受,有利于系統(tǒng)的移交和維護(hù)。

優(yōu)勢(shì)不用多說(shuō),其實(shí)總結(jié)起來(lái)就是中間那一條,用戶參與度很高。而它的限制其實(shí)也在這里。

  • 開(kāi)發(fā)的環(huán)境要求高。開(kāi)發(fā)人員和用戶的能力水平要求都比較高。

  • 管理水平要求高。如何控制對(duì)系統(tǒng)原型的修改次數(shù)、如何確定用戶的滿意度都是非常難協(xié)調(diào)的問(wèn)題。

因此,原型法非常適用于那些需求不明確的系統(tǒng)開(kāi)發(fā)。其實(shí)很多小伙伴們已經(jīng)看出來(lái)了吧,敏捷 和 原型法 有著千絲萬(wàn)縷的關(guān)系,都是針對(duì)需求不明確的、容易變動(dòng)的項(xiàng)目的。而且,就像上面我們說(shuō)的 MVP 一樣,確實(shí)在 敏捷 中是有原型法的應(yīng)用的。

面向服務(wù)的方法

如果你聽(tīng)說(shuō)過(guò) 微服務(wù) ,那么面向服務(wù)的方法你肯定也不會(huì)陌生了。同樣的,需要一個(gè)服務(wù)中心,然后通過(guò)將相關(guān)對(duì)象進(jìn)行業(yè)務(wù)功能分組,形成構(gòu)件(Component),將這些構(gòu)件以接口的形式暴露出來(lái),這就是面向服務(wù)的開(kāi)發(fā)方法(Service-Oriented,SO)。

從這個(gè)定義就可以看出來(lái),微服務(wù)其實(shí)是它的一個(gè)子集,同時(shí)也是在面向服務(wù)的基礎(chǔ)上形成的。在現(xiàn)代化的框架中,服務(wù)中心、服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)都是面向服務(wù)開(kāi)發(fā)的必備功能,而微服務(wù)更典型的特點(diǎn)是應(yīng)用了 遠(yuǎn)程過(guò)程調(diào)用 RPC 這個(gè)技術(shù),其實(shí)就是利用網(wǎng)絡(luò)特性來(lái)暴露接口。比如我們最常用的 HTTP 接口就是可以做微服務(wù)的,當(dāng)然,它的性能是比較慘的,所以也會(huì)有許多 Socket 的長(zhǎng)連接 RPC 框架可以供我們使用。這部分內(nèi)容作為擴(kuò)展知識(shí),大家自己去查閱相關(guān)的資料吧。如果你做過(guò)微服務(wù)相關(guān)的開(kāi)發(fā)應(yīng)該就很清楚了,如果你沒(méi)有做過(guò)相關(guān)的開(kāi)發(fā)或者沒(méi)有代碼經(jīng)驗(yàn)的話,記住上面那一段的定義就可以了。

補(bǔ)充:代碼表示面向?qū)ο笾械母拍?/span>

碼農(nóng)們請(qǐng)?zhí)^(guò)這一部分。

class Color {  // 類(lèi)
    public $color = ''// 屬性
    public function show()// 操作
        if($this->color){
            echo '現(xiàn)在是'$this->color, '色', PHP_EOL;
        }else{
            echo '還沒(méi)有定義顏色';
        }
    }
}

$c = new Color(); // 實(shí)例化
// $c 就是對(duì)象
$c->color = '紅'// 為 $c 對(duì)象的屬性賦值
$c->show(); // 調(diào)用 $c 的方法
// 輸出結(jié)果為:現(xiàn)在是紅色

class BlueColor extends Color// 繼承自 color 類(lèi)
    public $color = '藍(lán)';
}

$b = new BlueColor;
$b->show();
// 現(xiàn)在是藍(lán)色

上面這一段是 PHP 的代碼。如果你學(xué)習(xí)過(guò) C 語(yǔ)言的話應(yīng)該還是很容易看懂的,不過(guò)純 C 語(yǔ)言不是面向?qū)ο蟮?,所以最好是?C++ 或者 Java 的基礎(chǔ)。

在這段代碼中 Color 是一個(gè) 類(lèi) ,也就是一個(gè)模板,我們可以將它看成是對(duì) 顏色 的抽象。在這個(gè)類(lèi)模板中,有一個(gè) 屬性 $color 用于記錄表明當(dāng)前這個(gè)類(lèi)應(yīng)該是什么顏色,這個(gè)屬性其實(shí)是一個(gè)變量,變量是保存在內(nèi)存中的一段數(shù)據(jù)。然后 show() 是一個(gè) 操作 方法,也可以叫做函數(shù),主要是執(zhí)行一段代碼段的。在這個(gè)方法中,我們使用條件判斷語(yǔ)句 if 來(lái)輸出不同的內(nèi)容。

在類(lèi)的外部,我們通過(guò) new 關(guān)鍵字來(lái) 實(shí)例化 一個(gè)類(lèi)模板,獲得的結(jié)果放到 $c 變量中,現(xiàn)在這個(gè) $c 就是一個(gè) 對(duì)象 。其實(shí)從這里我們就可以看出,類(lèi)作為模板定義了基本的屬性方法,然后在對(duì)象使用的時(shí)候是可以靈活調(diào)用這些屬性方法的,我們也可以再實(shí)例化一個(gè)類(lèi),然后設(shè)置它的 $color 屬性為別的顏色。看出面向?qū)ο?span> 復(fù)用性 的特點(diǎn)了吧!

接下來(lái)我們定義了一個(gè) 子類(lèi) BlueColor 繼承自 Color 類(lèi),然后我們 重寫(xiě) 了父類(lèi)的 $color 屬性,同時(shí)它也繼承了父類(lèi)的 show() 方法。這時(shí)我們直接實(shí)例化這個(gè) BlueColor 獲得一個(gè)對(duì)象,直接調(diào)用對(duì)象的 show() 方法就可以輸出內(nèi)容。至于為什么這里不用再去給 $color 賦值了,相信大家也已經(jīng)看出來(lái)了,通過(guò)重寫(xiě)父類(lèi)的屬性,當(dāng)前子類(lèi)中的這個(gè) $color 不是空的,已經(jīng)被設(shè)置為 藍(lán) 這個(gè)字符了,所以我們的 show() 是可以正常輸出的。

如果你確實(shí)對(duì)代碼沒(méi)有任何概念的話,可以去 w3school 這個(gè)網(wǎng)站學(xué)習(xí)一下基礎(chǔ)的幾個(gè)語(yǔ)言,比較推薦的是 Python、PHP 這類(lèi)相對(duì)來(lái)說(shuō)比較容易上手的語(yǔ)言。然后只要了解基礎(chǔ)的語(yǔ)法和對(duì)應(yīng)語(yǔ)言的面向?qū)ο笙嚓P(guān)的內(nèi)容就可以了。

總結(jié)

今天我們學(xué)習(xí)的內(nèi)容還是理論為主,不過(guò)已經(jīng)有一些技術(shù)范了吧,接下來(lái),我們就要正式開(kāi)始學(xué)習(xí)一大堆純技術(shù)方面的東西了。做好準(zhǔn)備了嗎?千萬(wàn)不要怕,雖然東西多,但都只是點(diǎn)到為止,并沒(méi)有很深入的研究。因此,如果你只是想通過(guò)考試的話,了解一下,然后硬背一下,能達(dá)到通過(guò)考試的水平就夠了。即使你是硬背的,但是將來(lái)你在和程序員們交流的時(shí)候,有這些知識(shí)墊底,也一定會(huì)讓他們對(duì)你刮目相看。

參考資料:

《信息系統(tǒng)項(xiàng)目管理師教程》

《某機(jī)構(gòu)培訓(xùn)資料》

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服