1.2 számos példát mutat be (mind pozitív, mind negatív), amelyek jelzik a szoftverek társadalomra gyakorolt hatását.
a szoftverek használatának társadalmunkban számos pozitív és negatív hatása van. Míg a pozitív szempontok rendkívül hasznosak lehetnek, a negatívak kissé mankót nyújtanak nekünk. Általánosságban elmondható, hogy a szoftvereket nem arra tervezték, hogy bármilyen módon “bántsanak” minket, hanem arra, hogy könnyebbé és hatékonyabbá tegyék számunkra a dolgokat.
1.3 például az E-banking egy tökéletes példa a szoftverekre, amelyek sokkal könnyebbé teszik az életünket. Minden, ami nem fizikailag visszavonja a pénzt a bankból, online is elvégezhető. Akkor is letétbe a paychecks most egyszerűen vesz egy képet, hogy az okos telefon. A hátránya, hogy ugyanazt a technológiát lehet használni, hogy ellopja a hitelkártya számát és személyazonosságát, ha rossz kezekbe kerül. Ugyanez a biztonsági szoftverekkel.
vannak emberek, akik jó pénzt kapnak, hogy feltörjék a helyi bankot, és ellopják őket, csak azért, hogy bebizonyítsák a banknak, hogy frissíteniük kell a hálózati biztonságukat. A legtöbb esetben a bankok hálásak az ilyen típusú behatolásért. Ugyanez a szoftver azonban felhasználható bűnügyi célokra, amelyekben a bank nem lenne annyira elégedett. A szoftver rendkívül hasznos és rendkívül veszélyes is lehet, attól függően, hogy ki és hogyan használja.
1.4 sok modern alkalmazás gyakran változik—mielőtt bemutatják őket a végfelhasználónak, majd az első verzió üzembe helyezése után. Javasoljon néhány módszert a szoftver felépítésére a változás miatti romlás megállításához.
mindenekelőtt a szoftveralkalmazásoknak karbantarthatónak kell lenniük. Ez azt jelenti, hogy olyan mértékben kell megtervezni, hogy a változások meglehetősen könnyen elvégezhetők az alkalmazás növekedésével. A változás miatti romlás minimalizálásának egyik módja az automatikus frissítések beépítésének engedélyezése. Vegyük például a Windows operációs rendszert: lehetősége van arra, hogy lehetővé tegye a szükséges biztonsági és tűzfalplatformok automatikus frissítését annak biztosítása érdekében, hogy a rendszer mindig “naprakész legyen.”Mivel a korábbi alkalmazások mindig frissülnek, fontos, hogy új, azonos képességekkel rendelkező szoftvereket építsünk.
1.5 vegyük figyelembe az 1.1.2.szakaszban bemutatott hét szoftverkategóriát. Gondolod, hogy a szoftverfejlesztés azonos megközelítése alkalmazható mindegyikre? Magyarázza el a választ.
világszerte szoftvermérnökök milliói dolgoznak keményen a szoftverprojekteken egy vagy több kategóriában. Egyes esetekben új rendszerek épülnek, de sok más esetben a meglévő alkalmazások javításra, adaptálásra és továbbfejlesztésre kerülnek. Emiatt az egyes kategóriákhoz eltérő megközelítésre lehet szükség a szoftverfejlesztéshez. Sok olyan program, amelyen a szoftvermérnökök dolgoznak, rendkívül régi, és továbbra is frissítésre kerülnek. Ezért van értelme, hogy nem használná ugyanazt a megközelítést egy meglévő programhoz, amelyet egy új programhoz használna.
1.6 az 1.3. ábra A három szoftverfejlesztési réteget egy “minőségi fókusz.”Ez olyan szervezeti minőségi programot jelent, mint a total quality management. Végezzen egy kis kutatást, és dolgozzon ki egy vázlatot a teljes minőségirányítási program legfontosabb tételeiről.
a TQM olyan kezdeményezések és eljárások kezelése, amelyek célja a minőségi termékek és szolgáltatások nyújtása. A TQM meghatározása során számos kulcsfontosságú elv azonosítható, többek között:
- Ügyvezető menedzsment-a felső vezetésnek a TQM fő mozgatórugójaként kell működnie, és olyan környezetet kell létrehoznia, amely biztosítja annak sikerét.
- képzés – az alkalmazottaknak rendszeres képzésben kell részesülniük a minőség módszereiről és koncepcióiról.
- ügyfélközpontúság – a minőség javításának javítania kell az ügyfelek elégedettségét.
- döntéshozatal – a minőségi döntéseket mérések alapján kell meghozni.
- módszertan és eszközök – a megfelelő módszertan és eszközök használata biztosítja a meg nem felelések azonosítását, mérését és következetes kezelését.
- folyamatos fejlesztés – a vállalatoknak folyamatosan törekedniük kell a gyártási és minőségi eljárások javítására.
- vállalati kultúra – a vállalati kultúrának arra kell irányulnia, hogy fejlessze az alkalmazottak azon képességét, hogy együtt dolgozzanak a minőség javítása érdekében.
- munkavállalói részvétel – a munkavállalókat arra kell ösztönözni, hogy proaktívak legyenek a minőséggel kapcsolatos problémák azonosításában és kezelésében.
1.7 alkalmazható-e a szoftverfejlesztés a webappok építésekor? Ha igen, hogyan lehet módosítani, hogy megfeleljen a WebApps egyedi jellemzőinek?
a szoftver mélyen beágyazódott életünk szinte minden aspektusába. A szoftverfejlesztés akkor alkalmazható, ha új programokat építenek, és ha a meglévő programokat frissítik – beleértve a Webappokat is. A WebApps a számos különálló szoftverkategória egyike. Mégis azt lehet állítani, hogy a webappok különbözőek. Az egyik fő módosítás, amelyet a WebApps igényel, a rendelkezésre állás. A népszerű webappok felhasználói gyakran 24/7/365 alapon igényelnek hozzáférést. A webappok másik egyedi jellemzője a folyamatos fejlődésük.
a hagyományos alkalmazásszoftverektől eltérően, amelyek tervezett, időrendben elhelyezett kiadások sorozatán keresztül fejlődnek, a webes alkalmazások folyamatosan fejlődnek. Ami a Webappokra alkalmazott szoftverfejlesztést illeti, sok hangot kell hallani. A webapp megjelenése tagadhatatlan része a fellebbezésnek, amely végső soron meghatározza az alkalmazások sikerét.
1.8 ahogy a szoftverek egyre elterjedtebbé válnak, a nyilvánosságot fenyegető kockázatok (hibás programok miatt) egyre jelentősebb aggodalomra adnak okot. Készítsen ítéletnapot, de reális forgatókönyvet, amelyben egy számítógépes program kudarca nagy kárt okozhat (akár gazdasági, akár emberi).
az egyik első tragikus, de reális forgatókönyv, amely eszébe jut, az egyes programok kudarca egy repülőgépen. A repülőgépeken a legnagyobb számítógépes programok ugyanolyan kockázatot jelentenek a kudarcra, mint bármely más program, és katasztrofális eredményeket hozhatnak. Például a repülőgép magasságát érzékelő érzékelő lehetővé teszi a pilóta számára, hogy megtudja, hány méterrel van a repülőgép a föld felett. Ez a program különösen akkor szükséges, ha az időjárási viszonyok ronthatják a pilóták láthatóságát a kifutópályán.
amint egy utasszállító megkezdi a megfelelő leszállást és felkészül a leszállásra, a pilóta ezeket a programokat használja a gép biztonságos leszállásához. Ha ez a program kudarcot vall, és az időjárás akadályozza a pilóták láthatóságát, a pilóta nem tudja, milyen messze van a föld felett. A repülőgép-balesetek folyamatosan történnek, és évente több száz utas hal meg – leginkább a repülőgép sikertelen programjai és műszerei miatt.
1.9 írja le a folyamat kereteit saját szavaival. Amikor azt mondjuk, hogy a kerettevékenységek minden projektre alkalmazhatók, ez azt jelenti, hogy minden projektre ugyanazok a munkafeladatok vonatkoznak, méretétől és összetettségétől függetlenül? Magyarázd meg.
a szoftverfejlesztés folyamata nem csak varázslatosan történik valamiféle rend és szervezeti tervezés nélkül. A folyamat keretrendszer megteremti a mérnöki folyamat alapját az összes projektre alkalmazható kis számú tevékenység felhasználásával. A folyamat keretrendszerének lépésenkénti algoritmusa öt tevékenységből áll: kommunikáció, tervezés, modellezés, építés és telepítés. Minden program, függetlenül azok méretétől és összetettségétől, megfelel ezeknek a tevékenységeknek ebben a sorrendben. Bár a szoftverfolyamat részletei Minden program esetében meglehetősen eltérőek lesznek, a kereten belüli feladatok változatlanok maradnak.
1.10 Az esernyő tevékenységek a szoftverfolyamat során zajlanak. Gondolod, hogy egyenletesen alkalmazzák őket a folyamat során, vagy egyesek egy vagy több kerettevékenységbe koncentrálódnak.
általánosságban elmondható, hogy az ernyőtevékenységeket egy szoftverprojekt során alkalmazzák, és segítenek a szoftvercsapatnak a haladás, a minőség, a változás és a kockázat kezelésében és ellenőrzésében. Mivel a szoftverfejlesztési folyamat nem merev rend, amelyet egy szoftvercsapatnak pontosan be kell tartania, a folyamatnak sok helye van az alkalmazkodásra.
bár a folyamat során előforduló ernyőtevékenységeket általában a folyamat minden aspektusára alkalmazzák, a mérnöki tevékenységnek agilisnak és alkalmazkodónak kell lennie; a problémára, a projektre, a csapatra és a szervezeti kultúrára jellemző. Emiatt az egyik projektre elfogadott folyamat jelentősen eltérhet egy másik projektre elfogadott folyamattól, és egyes tevékenységek egy vagy több területre koncentrálódhatnak.