软件开发工具(第2章:软件开发过程及其组织)
一、軟件開發(fā)的困難
程序員做好軟件工作的關(guān)鍵是什么?
關(guān)鍵是兩個(gè)轉(zhuǎn)換: 第一個(gè)轉(zhuǎn)換是用戶對(duì)軟件功能的理解與程序員對(duì)軟件功能的理解之間的轉(zhuǎn)換。 (不同?業(yè)的?員對(duì)于事物的認(rèn)識(shí)?法與描述?法是不同的。)
第二個(gè)轉(zhuǎn)換要解決的是人和機(jī)器之間的交流與協(xié)調(diào)問(wèn)題
大型軟件開發(fā)的困難有哪些(一測(cè)進(jìn) 文代新)?
- 一致性的保持成為十分困難的問(wèn)題
- 測(cè)試的困難大大增加:黑箱檢驗(yàn)法 “只能證明有錯(cuò), 不能證明沒錯(cuò)”
- 工作進(jìn)度難以控制
- 文檔與代碼的協(xié)調(diào)十分困難
- 版本更新帶來(lái)的困難
大型軟件開發(fā)困難的原因(雜志(織)欲(域)變)?
- 大系統(tǒng)的復(fù)雜性
- 個(gè)人之間的組織與協(xié)調(diào)
- 各個(gè)應(yīng)用領(lǐng)域之間的差別
- 時(shí)間的因素,變化的因素
二、軟件開發(fā)方法的發(fā)展
軟件開發(fā)各人員的責(zé)任?
?
?
軟件開發(fā)方法的發(fā)展
- 結(jié)構(gòu)化程序設(shè)計(jì)
- 軟件工程
- 面向?qū)ο蟮某绦蛟O(shè)計(jì)
- 即插即用的程序設(shè)計(jì)?
- 面向開源軟件的程序設(shè)計(jì)
?什么是結(jié)構(gòu)化程序設(shè)計(jì)?
時(shí)間:20世紀(jì)的60年代末期。 程序的結(jié)構(gòu)分解成三個(gè)基本模塊, 即:處理單元、循環(huán)機(jī)制、二分決策機(jī)制。
*******************************結(jié)構(gòu)化程序設(shè)計(jì)***************************
模塊的劃分應(yīng)符合哪些要求(功能單一、規(guī)模小,模塊之間耦合少)?
第一,模塊的功能在邏輯上盡可能地單一化、明確化,最好做到一 一對(duì)應(yīng)。
第二,盡可能地減少模塊之間的聯(lián)系及互相影響,對(duì)于必需的聯(lián)系都應(yīng)當(dāng)加 以明確的說(shuō)明。應(yīng)當(dāng)盡量避免邏輯耦合,而僅限于數(shù)據(jù)耦合。
第三,模塊的規(guī)模應(yīng)當(dāng)足夠小,以便使它本身的調(diào)試易于進(jìn)行。
實(shí)施結(jié)構(gòu)化程序設(shè)計(jì)的基本思想(一入一出,不GOTO 風(fēng)格明確編文檔。)
1)限制(甚至不用)GOTO語(yǔ)句,禁止超越 模塊邊界的GOTO語(yǔ)句。
2)子程序盡可能的做到只有一入口、一出口。
3)程序風(fēng)格應(yīng)明確。
4)完成有關(guān)的文檔編撰。
*********************軟件工程方法*********************************
軟件工程思想是如何產(chǎn)生的?
軟件危機(jī)的發(fā)生; 軟件工程產(chǎn)生:使軟件生產(chǎn)從程序員的個(gè)人勞動(dòng)提高成為可控制的工程。 軟件工程的思想主要集中于加強(qiáng)項(xiàng)目管理者的工作上。
軟件危機(jī)的發(fā)生;把軟件的質(zhì)量寄托于程序員的技能與認(rèn)真負(fù)責(zé)是不牢靠的; 從根本上,要想大幅度地提高軟件開發(fā)的效率和質(zhì)量,應(yīng)吸取人們的成功經(jīng) 驗(yàn),從組織上和管理的角度加強(qiáng)力量;使軟件生產(chǎn)從程序員的個(gè)人勞動(dòng)提高 成為可控制的工程,這就產(chǎn)生了軟件工程軟件工程從傳統(tǒng)產(chǎn)業(yè)工程中吸取了哪些經(jīng)驗(yàn)(步任標(biāo)體)?
①對(duì)軟件工程工作的步驟作出了嚴(yán)格的規(guī)定;工作順序不能顛倒;
②每一個(gè)階段都有各自的明確的任務(wù);
③在質(zhì)量、表達(dá)方式等方面要有統(tǒng)一的,并為人們共同遵守的標(biāo)準(zhǔn);
④利用有關(guān)各方溝通與交流的手段,使參加工作的人們成為一個(gè)整體, 共同地完成一項(xiàng)大的工程任務(wù)。
*****************************面向?qū)ο蟮某绦蛟O(shè)計(jì)方法****************************
面向?qū)ο蟮某绦蛟O(shè)計(jì)的基本思想
1)客觀世界的任何事物都是對(duì)象,他們都有一些靜態(tài)屬性和一些相關(guān)的操作。
2)對(duì)象之間有抽象與具體,群體與個(gè)體,整體與部分等幾種關(guān)系。
3)抽象的、較大的對(duì)象所具有的性質(zhì),包括靜態(tài)屬性和動(dòng)態(tài)操作,自然地成為 它的子類的性質(zhì),這就是所謂的“遺傳性”
4)對(duì)象之間可以互送消息。
面向?qū)ο笤O(shè)計(jì)的語(yǔ)言:C++和smalltalk
*********************************即插即用的程序設(shè)計(jì)方法**************************
即插即用的程序設(shè)計(jì)的基本思想
應(yīng)用硬件制造思路來(lái)處理大型軟件開發(fā)工作的方法。
一部分人專門生產(chǎn)軟件組件,而另一部分人則構(gòu)造整個(gè)軟件的結(jié)構(gòu),并 且把軟件組件插入結(jié)構(gòu)中,以便迅速地完成大型軟件的研制工作。
提出即插即用程序設(shè)計(jì)的基礎(chǔ)是面向?qū)ο蟪绦蛟O(shè)計(jì)。
********************************面向開源軟件的程序設(shè)計(jì)方法**************
在什么情況下利用開源軟件進(jìn)行程序設(shè)計(jì)比較合適
在一些應(yīng)用面廣,流程比較清晰、比較規(guī)范的應(yīng)用領(lǐng)域,開源代碼的重用 是比較有把握的。(廣清規(guī))
例如,網(wǎng)站的設(shè)計(jì)確實(shí)可以從開源代碼中找到比較實(shí)用的,略加修改就可 以使用的代碼。這無(wú)疑是可以節(jié)省人力和物力的。
判斷能否利用某開源軟件的主要依據(jù)是對(duì)應(yīng)用領(lǐng)域的充分了解
?
三、軟件開發(fā)過(guò)程的管理
什么樣的軟件才是好的軟件
1、正確地實(shí)現(xiàn)所要求的功能;
2、用戶界面友好;
3、具有足夠的速度(而不是越快越好);
4、具有足夠的可靠性;
5、易于修改。
一個(gè)好程序員應(yīng)具備的條件?
1)具有程序設(shè)計(jì)所需要的基本知識(shí)與技能。
2)對(duì)本項(xiàng)目所在的領(lǐng)域有較深入的了解,能夠準(zhǔn)確地理解用 戶的信息需求,正確地把握有關(guān)的信息流程與信息處理原則。
3)對(duì)于軟件開發(fā)的技術(shù)環(huán)境比較熟悉,對(duì)所用的語(yǔ)言,有足 夠的、實(shí)際運(yùn)用的經(jīng)驗(yàn)。
如何成為項(xiàng)目組的好成員
一個(gè)好的程序員要成為項(xiàng)目組的好成員,必須具有高度的組織紀(jì)律性 和團(tuán)隊(duì)精神,必須按照統(tǒng)一的原則使用標(biāo)識(shí)符。
一個(gè)好的項(xiàng)目組應(yīng)當(dāng)具備的條件
第一, 有嚴(yán)格的工作規(guī)范;
第二, 人員之間有嚴(yán)格的分工,必須有專門測(cè)試人員,有專職的項(xiàng)目負(fù)責(zé)人;
第三, 每個(gè)項(xiàng)目都要事先制定詳細(xì)的時(shí)間表。每一項(xiàng)完成之后都有完整的資料。
轉(zhuǎn)載于:https://www.cnblogs.com/jalja/p/11563259.html
總結(jié)
以上是生活随笔為你收集整理的软件开发工具(第2章:软件开发过程及其组织)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 软件开发工具(第1章:绪论)
- 下一篇: 网络经济与企业管理(第 1 章:企业管理