一、什么是產(chǎn)品
1文虏、從用戶的角度
產(chǎn)品實(shí)際上就是信息侣诺,以某種方式使得用戶世界更加美好
2、從軟件工程師的角度
產(chǎn)品實(shí)際上就是軟件
二择葡、軟件的雙重角色
1紧武、產(chǎn)品
軟件是一個(gè)信息變換器剃氧,用來(lái)獲取敏储、顯示及管理信息等
2、產(chǎn)品交付使用的載體
軟件是①操作系統(tǒng)的基礎(chǔ)朋鞍;②通信網(wǎng)絡(luò)的基礎(chǔ)已添;③其他軟件工具和環(huán)境的基礎(chǔ)
三、軟件的涵義及特征
1滥酥、軟件的涵義
軟件Software = 程序Program + 數(shù)據(jù)Data + 文檔Document更舞,這些項(xiàng)的每一個(gè)均包含一個(gè)配置
2、軟件的特征
(1)軟件是被開(kāi)發(fā)或設(shè)計(jì)的坎吻,而不是傳統(tǒng)意義上被制造的
(2)軟件不會(huì)“磨損”缆蝉,但是會(huì)退化
注:需了解兩種曲線:①硬件故障率曲線(浴缸曲線);②軟件故障率曲線瘦真;具體形式圖如下:
(3)雖然軟件產(chǎn)業(yè)正在向基于構(gòu)件的組裝前進(jìn)刊头,大多數(shù)軟件仍然是定制的
->構(gòu)件:是可復(fù)用的組成部分,可被用于構(gòu)造其他軟件诸尽,比如一些被封裝的對(duì)象類原杂、功能模塊及軟件框架等
四、軟件應(yīng)用
1您机、系統(tǒng)軟件
2穿肄、應(yīng)用軟件
3、工程/科學(xué)軟件
4际看、Web應(yīng)用軟件
5咸产、人工智能軟件
6、……
五仲闽、軟件危機(jī)
1锐朴、軟件危機(jī)的表現(xiàn)
(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常不準(zhǔn)確(開(kāi)發(fā)成本超出預(yù)算,實(shí)際進(jìn)度比預(yù)定計(jì)劃一再拖延的現(xiàn)象并不罕見(jiàn))
(2)用戶對(duì)“已完成”系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生
(3)軟件產(chǎn)品的質(zhì)量往往靠不住蔼囊,bug一大堆
(4)軟件的可維護(hù)程度非常之低
(5)軟件通常沒(méi)有適當(dāng)?shù)?strong>文檔資料
(6)軟件的成本不斷提高
(7)軟件開(kāi)發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和人們需求的增長(zhǎng)
2焚志、軟件危機(jī)引發(fā)的思考
(1)How do we ensure the quality of the software that we produce?
我們?nèi)绾未_保我們所產(chǎn)生軟件的質(zhì)量?
(2)How do we meet growing demand and still maintain budget control?
我們?nèi)绾螡M足日益增長(zhǎng)的需求畏鼓,同時(shí)又保持預(yù)算控制酱酬?
(3)How do we upgrade an ageing “software plan”?
我們?nèi)绾紊?jí)老化的“軟件計(jì)劃”?
(4)How do we avoid disastrous time delays?
我們?nèi)绾伪苊鉃?zāi)難性的時(shí)間延誤云矫?
(5)How do we successfully institute new software technologies?
我們?nèi)绾纬晒Φ难芯啃碌能浖夹g(shù)膳沽?
3、減輕軟件危機(jī)的途徑
(1)對(duì)計(jì)算機(jī)軟件有一個(gè)正確的認(rèn)識(shí)(軟件≠程序)。
(2)必須充分認(rèn)識(shí)到軟件開(kāi)發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧挑社,而應(yīng)該是一種組織良好陨界、管理嚴(yán)密、各類人員協(xié)同配合痛阻、共同完成的工程項(xiàng)目菌瘪。
(3)推廣使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功技術(shù)和方法。
(4)開(kāi)發(fā)和使用更好的軟件工具阱当。
六俏扩、軟件神話
1、三大軟件神話
(1)管理者的神話
①已有了關(guān)于開(kāi)發(fā)軟件的標(biāo)準(zhǔn)和規(guī)程的書(shū)籍弊添,可提供所有的信息录淡。
②已有了很多很好的軟件開(kāi)發(fā)工具和最新的計(jì)算機(jī)。
③如果已落后于計(jì)劃油坝,可以增加更多的程序員來(lái)趕上進(jìn)度嫉戚。
④如果決定“外包”,就可以放松讓承包公司去建造澈圈。
(2)客戶神話
①有了對(duì)目標(biāo)的一般性描述彬檀,就可以開(kāi)始寫(xiě)程序。
②項(xiàng)目需求可以不斷變更极舔,因?yàn)檐浖庆`活的凤覆。
But...變更的代價(jià)是:
(3)實(shí)踐者的神話
①一旦寫(xiě)出程序并正常運(yùn)行,工作就結(jié)束了拆魏。
②在程序真正開(kāi)始運(yùn)行之前無(wú)法評(píng)估其質(zhì)量盯桦。
③一個(gè)成功的項(xiàng)目唯一應(yīng)該提交的就是運(yùn)行程序。
④軟件工程將使我們創(chuàng)建大量的渤刃、不必要的文檔拥峦,并總是延緩進(jìn)度。
2卖子、軟件開(kāi)發(fā)過(guò)程中各單位分配比例
(1)工作量分配比例
(2)費(fèi)用分配比例