亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件工程中程序設(shè)計方法的比較

        2017-07-20 13:05:25劉琴
        計算機時代 2017年7期
        關(guān)鍵詞:對象化軟件工程程序設(shè)計

        劉琴

        摘 要: 分析了軟件工程中的程序設(shè)計方法,將面向?qū)ο蟆⒚嫦蜻^程和泛型化這三種方法進行對比,闡述這三種方法各自的特征及存在的聯(lián)系,以便在應(yīng)用時選擇。

        關(guān)鍵詞: 軟件工程; 程序設(shè)計; 結(jié)構(gòu)化; 對象化; 泛型化

        中圖分類號:TP3-05 文獻標(biāo)志碼:A 文章編號:1006-8228(2017)07-53-03

        Comparison of programming methods in software engineering

        Liu Qin

        (Qinghai Nationalities University School of Computing, Xining, Qinghai 810007, China)

        Abstract: The programming methods in software engineering are analyzed, and the object-oriented, process-oriented and generic, the three methods are compared. The characteristics of each of the three methods and the relationships in between the three methods are described, so as to make choice when needed.

        Key words: software engineering; programming; structure-oriented; object-oriented; genericity

        0 引言

        軟件工程實際出現(xiàn)在1960年末,在軟件不斷發(fā)展過程中其問題也逐漸凸顯,以致于造成了“軟件危機”,也正是軟件危機的出現(xiàn)才造就了軟件工程。后來軟件工程逐漸被人們所熟知和認可,并被廣泛的應(yīng)用,一直到信息化發(fā)展的今天,軟件工程也是作為軟件和計算機技術(shù)發(fā)展的根本。在軟件工程中所包含的一項重要內(nèi)容就是程序設(shè)計,程序設(shè)計的好壞、是否科學(xué)直接關(guān)系到軟件開發(fā)的質(zhì)量,影響到用戶的需求,因此必須要引起對程序設(shè)計的重視,只有形成良好的設(shè)計意識、規(guī)范化思想,才可以讓程序設(shè)計更加完善,提高軟件的生產(chǎn)效率和質(zhì)量。以下主要針對程序設(shè)計中幾種常用的方法進行比較和分析,從而為軟件工程的發(fā)展奠定良好的基礎(chǔ)。

        1 軟件工程的概述

        1.1 軟件工程的概念

        軟件工程實際上所研究的是軟件的開發(fā)和后期維護,與規(guī)范化、系統(tǒng)性、可定量的特點相結(jié)合以此實現(xiàn)軟件實際開發(fā)和維護的價值,并且可以將現(xiàn)階段的技術(shù)與以往較好的技術(shù)有效的結(jié)合起來,以便于可以更好的保證軟件的質(zhì)量。軟件工程包含多項內(nèi)容,主要有數(shù)據(jù)庫、軟件開發(fā)工具、程序語言設(shè)計、系統(tǒng)平臺等等。在現(xiàn)代化信息化時代,各個領(lǐng)域都離不開軟件的應(yīng)用,應(yīng)用最為普遍的軟件主要有操作系統(tǒng)、游戲、辦公軟件、電子郵件以及人工界面等[1]。軟件工程的出現(xiàn)和應(yīng)用不僅提升了軟件生產(chǎn)效率,減小了成本投入,也在一定程度上促進了經(jīng)濟和我國社會的發(fā)展,對人們生活品質(zhì)的改善起到了推動作用。

        1.2 軟件工程的基本目標(biāo)及原則

        軟件工程也可以被看作是解決軟件問題的一項工程,就是對軟件中所遇到的問題進行指導(dǎo)和處理。在軟件工程概念中,對軟件進行開發(fā)要依據(jù)市場的需求來進行,并且在開發(fā)過程中雖然是以團隊為主,但依然要充分的考慮到客戶的需求,依據(jù)客戶的要求和標(biāo)準,在成本以及進程給定的情況下,開發(fā)出可以與客戶需求相一致的,具有高效率、適應(yīng)能力強、可靠性和可維護性高、易操作的相關(guān)產(chǎn)品。但是應(yīng)該注意的是,在軟件工程落實的過程中,必須要依照相關(guān)原則來完成,主要的原則包括:信息隱蔽、模塊化、抽象、確定性、一致性、局部化、可驗證性及完備性。

        ⑴ 信息隱蔽所講的就是利用封裝技術(shù),來完成對程序模塊細節(jié)的隱蔽,從而將模塊的接口簡易化。

        ⑵ 模塊化就是將程序分成若干個單獨的體系,每個個體都有其獨立的編程,應(yīng)注意的是模塊量要掌握好,不可過大也不可過小,太大容易造成內(nèi)部復(fù)雜性增強,太小容易導(dǎo)致整體系統(tǒng)復(fù)雜性的增強。

        ⑶ 抽象原則就是要保持事物最基礎(chǔ)的特點,運用分層次抽象的方法從上到下逐一將其細化,并以此來完成對軟件開發(fā)過程的管控,將復(fù)雜簡易化。

        ⑷ 確定性原則,就是在軟件開發(fā)過程中所應(yīng)用到的相關(guān)概念的表述必須要保證其準確、規(guī)范且無歧義。

        ⑸ 一致性原則,要求的就是外部的接口要與內(nèi)部接口相一致,系統(tǒng)的要求要與操作流程相一致。

        ⑹ 局部化原則,要確保模塊之間和內(nèi)部要擁有松耦合性和高內(nèi)聚性。

        ⑺ 可驗證性原則,在軟件開發(fā)完成后,要對其進行全面的檢查、測試、審核等,以保證整個軟件系統(tǒng)的性能。

        ⑻ 完備性原則,就是要保證軟件內(nèi)部相關(guān)功能、組成的完整性。

        2 程序設(shè)計概述及其方法種類分析

        2.1 程序設(shè)計的概念

        所謂程序設(shè)計就是針對某一問題所采取的解決方式的過程,它在軟件結(jié)構(gòu)中有著十分重要的作用。通常情況下,程序設(shè)計都是以語言為基礎(chǔ)的,利用相應(yīng)的語言進行編程,其過程主要包括設(shè)計、分析、編碼、檢測、排查錯誤等環(huán)節(jié)[2]。因程序編寫需要很強的邏輯性思維,因此必須要對其加以規(guī)范,主要從以下幾個方面來規(guī)范:一是對源程序中的文檔進行規(guī)范,就是規(guī)范標(biāo)識的名稱、注釋、以及程序的視覺組織等;二是對數(shù)據(jù)信息進行規(guī)范,也就是將程序所顯示的變量、次序等進行嚴格要求,以便于可以依照順序查找變量,對于較為復(fù)雜的數(shù)據(jù)應(yīng)標(biāo)記注釋;三是對語言的結(jié)構(gòu)進行規(guī)范,即任何一條語言都不能過長,要簡潔明了,盡可能地減少對GOTO語句的使用,編程最多選用三種最為基本常用的方法;四是對輸入和輸出數(shù)據(jù)的規(guī)范,每條出入數(shù)據(jù)都應(yīng)進行校驗個檢查,使其出入相一致,以保證報表的準確性[3]。

        2.2 程序設(shè)計方法對需求的分析

        所謂的需求分析就是依據(jù)客戶的需求,根據(jù)客戶在軟件方面的功能、操作、設(shè)計等方面的要求來進行設(shè)計和分析。分析的過程實際就是發(fā)現(xiàn)需求、完善需求、建立模型和完成需求的過程。模型通常包括三種:功能、控制和數(shù)據(jù)模型。在進行需求分析的過程中,必須要經(jīng)過四個環(huán)節(jié),分別是:了解需求、需求分析、需求標(biāo)準、要求的編寫和需求的審核。通常情況下,在進行程序設(shè)計時會用到三種較為常用的方法,分別是過程化程序設(shè)計方法、對象化設(shè)計方法和泛型化設(shè)計方法。針對其需求分析我們主要采用結(jié)構(gòu)化分析方法。結(jié)構(gòu)化分析方法又可以成為程序化分析方法,它的主要作用就是全面的了解用戶,掌握用戶對軟件的整體需求。經(jīng)常采用的工具有數(shù)據(jù)字典、數(shù)據(jù)流圖、判定表和判定樹[4]。①數(shù)據(jù)流圖就是將數(shù)據(jù)在系統(tǒng)中的運動情況用圖形的方式將其表示出來,主要體現(xiàn)的是系統(tǒng)的邏輯性能,也是邏輯模型的工具之一。在進行數(shù)據(jù)流圖繪畫時,應(yīng)以從上到下、從外向內(nèi)的方式逐一地將其內(nèi)容細化,以保證數(shù)據(jù)整體的準確性和可靠性。②數(shù)據(jù)字典是指集系統(tǒng)相關(guān)數(shù)據(jù)為一體的程序列表,主要包括五個組成部分:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)構(gòu)造、處理和存儲。通過這樣的方式對客戶需求進行分析,不僅可以準確全面的了解客戶所需,還可以提高軟件的開發(fā)質(zhì)量,有利于軟件效率的提高。

        3 程序設(shè)計方法之間的比較

        過程化的設(shè)計方法又可以被稱為是結(jié)構(gòu)化方法,它最早起源于1970年后,并在軟件工程中有著重要的地位。過程化方法的設(shè)計原則是從上向下、精益求精和模塊化,所謂的模塊化就是將軟件系統(tǒng)分別單獨的設(shè)立子模塊,在所有的模塊拼接完成后就會構(gòu)成一個完整的軟件系統(tǒng)。但在軟件工程不斷發(fā)展的過程中,問題也逐漸暴露,其中軟件的生產(chǎn)效率低下、維護困難等最為常見。也正因其自身的抽象性較低,便于實現(xiàn)的特點,所以比較適用于處理一些比較簡單、規(guī)模較小的問題。

        對象化設(shè)計方法最早是在1980年被人們所發(fā)現(xiàn)和應(yīng)用的,它的出現(xiàn)改善了過程化程序設(shè)計中存在的問題,大大提高了軟件的生產(chǎn)效率,為軟件的維護提供了便捷。在現(xiàn)階段也已經(jīng)成為了人們最常用的設(shè)計方法。對象化設(shè)計就是把軟件系統(tǒng)劃分成單個的對象,而各個對象的存在都是依靠對外界的分析而存在的,可以說它與我們認知的方式更為相似,而且它可以利用繼承和類來實現(xiàn)與現(xiàn)實世界相符合的軟件系統(tǒng)的建立[5]。與程序化方法相比較,對象化設(shè)計方法用對象替代了以往的功能分解,它的主要特征就是封裝,也就是把代碼和相關(guān)數(shù)據(jù)存放到對象當(dāng)中,用對象將其進行封裝,使數(shù)據(jù)和代碼不受外部作用的影響,無法對其進行修改或訪問。繼承也是對象化的一大特點,即在父類方面所獲取的相應(yīng)操作或?qū)傩钥梢赃M行再次定義;另一個特點是多態(tài),即父對象所定義的方法,子對象也可以按照自身的需求和方式對其進行改進,以自身去完成相應(yīng)的動作。對象化設(shè)計方法更加重視對象的分析和設(shè)計,抽象性高,且實現(xiàn)過程較為復(fù)雜。它主要適用于相對復(fù)雜的問題,尤其是對象間關(guān)系形成層次的問題。

        隨著我國軟件技術(shù)的不斷發(fā)展,泛型化的設(shè)計方法隨之發(fā)展起來,并得到了廣泛的應(yīng)用。泛型化的設(shè)計方法是依據(jù)類型的需求,對其需求之間的關(guān)系進行分析來完成的軟件結(jié)構(gòu)和邏輯的設(shè)立。泛型設(shè)計方法的主要目的是把算法從對象行為當(dāng)中分離開來,讓算法的設(shè)計與數(shù)據(jù)的整體構(gòu)造毫無聯(lián)系,通過改變二者之間的關(guān)系,將強或和關(guān)系轉(zhuǎn)變?yōu)槿趸蚝完P(guān)系以保證軟件復(fù)用功能[6]。主要包括三個部分,一是概念,也就是和目標(biāo)數(shù)據(jù)無實際關(guān)聯(lián)的一組定義,但實際卻可以進行數(shù)據(jù)操作;二是模型,也就是在數(shù)據(jù)應(yīng)用到相應(yīng)的概念時所形成的模型;三是強化,當(dāng)其中的一個概念融合了其他概念的全部功能,則這一個概念就是其他概念的強化。泛型化設(shè)計方法所重視的是軟件的抽象性和通用性,其優(yōu)點在于抽象性高,程序應(yīng)用范圍較廣泛,可以滿足多數(shù)據(jù)分類的操作,同時保證原有的效率,但也因此使其實現(xiàn)變得更加復(fù)雜。所以,它主要的適用對象是通用性和抽象性高的問題。綜上所述,這三種方法有著不同的特點,也有共同的特點,即可靠性和安全性好。三種方法的比較見表1。

        4 結(jié)束語

        根據(jù)上述對程序設(shè)計方法的對比分析,我們在進行程序設(shè)計時可以依據(jù)客戶的需要、特點等來選擇出適合的方法,提升用戶的滿意度。對程序設(shè)計方法進行比較和分析對軟件開發(fā)是十分有益的。深刻理解這些方法,在以后的發(fā)展中以其為基礎(chǔ),充分發(fā)揮不同方法的作用,相信一定會走的更遠。但是盡管如此,也避免不了問題的存在,所以也要不斷完善和創(chuàng)新,將問題逐一擊破,從而為其發(fā)展起到推動的作用。

        參考文獻(References):

        [1] 王林章,何劍濤,韓志雄,卜磊,趙建華,李宣東.設(shè)計模式指導(dǎo)

        的軟件分簇方法[J].中國科學(xué):信息科學(xué),2014.1:37-53

        [2] 常浩浩,覃征.基于EMF和OCL的MDA軟件工程方法研究[J].

        計算機科學(xué),2007.1:268-271

        [3] 李志輝,崔洪芳.組件化程序設(shè)計方法和面向?qū)ο蟪绦蛟O(shè)計

        方法的比較[J].福建電腦,2004.11:21

        [4] 王斌.軟件工程程序設(shè)計中幾種常用算法的比較研究[J].電

        腦知識與技術(shù),2012.18:4425-4427

        [5] 李新.“程序設(shè)計方法學(xué)”雙層次并行教學(xué)模式探討[J].汕頭

        大學(xué)學(xué)報(自然科學(xué)版),2012.2:63-67,80

        [6] 杜欣,丁立新,謝承旺,陳莉.基于EDA的并行基因表達式程

        序設(shè)計方法[J].計算機科學(xué),2010.2:196-199

        猜你喜歡
        對象化軟件工程程序設(shè)計
        對象化的思想:人類生活中的信息
        基于Visual Studio Code的C語言程序設(shè)計實踐教學(xué)探索
        計算機教育(2020年5期)2020-07-24 08:52:56
        “非對象化”及其人本價值
        從細節(jié)入手,談PLC程序設(shè)計技巧
        電子制作(2019年9期)2019-05-30 09:42:04
        論對象化及人之存在
        高職高專院校C語言程序設(shè)計教學(xué)改革探索
        依托工作室的軟件工程實踐教學(xué)研究
        基于工程教育認證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
        關(guān)于提高軟件工程實踐教學(xué)質(zhì)量的幾點思考
        關(guān)于如何創(chuàng)新和完善計算機軟件工程管理的探討
        在线中文字幕一区二区| 丰满熟女人妻中文字幕免费| 国产成人精品无码免费看| 国产av一区二区三区天堂综合网| 欧美 丝袜 自拍 制服 另类| 九九精品无码专区免费| 女人被躁到高潮嗷嗷叫| 色婷婷亚洲一区二区三区在线| 日本久久伊人特级黄色| 国产成人无码精品久久二区三区| 国产真人无码作爱视频免费| 亚洲综合伦理| 亚洲日本精品一区二区三区| 久久精品国产亚洲av夜夜| 97成人精品视频在线| 午夜精品射精入后重之免费观看| 午夜不卡av免费| 亚洲 暴爽 AV人人爽日日碰| 国产精品一区一区三区| 日本人妻免费一区二区三区| 一本久久a久久免费综合| 热久久国产欧美一区二区精品| 男人边吻奶边挵进去视频| 99精品国产自产在线观看| 加勒比av在线一区二区| 午夜性刺激免费看视频| 漂亮人妻被中出中文字幕久久| 国产精品原创巨作av无遮| 国产精品99久久精品女同| 国产自拍在线视频91| 97久久综合区小说区图片区| 久久无码高潮喷水| 九色91精品国产网站| 国产目拍亚洲精品二区| 成年人视频在线观看麻豆| 中文无码人妻有码人妻中文字幕| 国产精品_国产精品_k频道| 久久久久国产亚洲AV麻豆| 在线观看av片永久免费| 今井夏帆在线中文字幕| 乱子轮熟睡1区|