1.2 ger ett antal exempel (både positiva och negativa) som indikerar programvarans inverkan på vårt samhälle.
användningen av programvara i vårt samhälle har ett antal både positiva och negativa effekter. Medan de positiva aspekterna kan vara extremt användbara, ger de negativa oss något av en krycka. I allmänhet är programvara inte utformad för att” skada ” oss på något sätt, utan snarare för att göra saker enklare och effektivare för oss.
1.3 till exempel är E-banking ett perfekt exempel på programvara som gör våra liv mycket enklare. Allt annat än att fysiskt ta ut pengar från din bank kan göras online. Du kan även sätta in dina lönecheckar nu genom att helt enkelt ta en bild av det med din smarta telefon. På nackdelen kan samma teknik användas för att stjäla dina kreditkortsnummer och identitet om den hamnar i fel händer. Samma med anti-säkerhetsprogram.
det finns människor som får betalt bra pengar för att hacka in i din lokala bank och stjäla från dem bara för att bevisa för banken att de behöver uppgradera sin nätverkssäkerhet. I de flesta fall är bankerna tacksamma för denna typ av intrång. Samma programvara kan dock användas för kriminella ändamål där banken inte skulle vara så nöjd. Programvara kan vara både extremt användbar och extremt farlig beroende på vem som använder den och hur.
1.4 Många moderna applikationer ändras ofta-innan de presenteras för slutanvändaren och sedan efter att den första versionen har tagits i bruk. Föreslå några sätt att bygga programvara för att stoppa försämring på grund av förändring.
först och främst bör program vara underhållbara. Betydelse som är bör konstrueras till en grad att förändringar kan göras ganska lätt som ansökan växer. Ett sätt att minimera försämring på grund av förändring är att tillåta automatiska uppdateringar att byggas in. Ta Windows OS till exempel: den har möjlighet att tillåta automatisk uppdatering för nödvändiga säkerhets-och brandväggsplattformar för att säkerställa att systemet alltid är ”uppdaterat.”Eftersom tidigare applikationer alltid uppdateras är det viktigt att bygga ny programvara med samma funktioner.
1.5 Tänk på de sju programkategorier som presenteras i avsnitt 1.1.2. Tror du att samma tillvägagångssätt för mjukvaruutveckling kan tillämpas för var och en? Förklara ditt svar.
miljontals mjukvaruingenjörer världen över arbetar hårt med mjukvaruprojekt i en eller flera av dessa kategorier. I vissa fall byggs nya system, men i många andra korrigeras, anpassas och förbättras befintliga applikationer. På grund av detta kan ett annat tillvägagångssätt för mjukvaruutveckling krävas för enskilda kategorier. Många av de program som programvaruingenjörer arbetar med är extremt gamla och fortsätter att uppgraderas. Därför är det vettigt att du inte skulle använda samma tillvägagångssätt för ett befintligt program som du skulle använda för ett nytt program.
1.6 figur 1.3 placerar de tre programvarutekniklagen ovanpå ett lager med titeln ”a quality focus.”Detta innebär ett organisatoriskt kvalitetsprogram som total kvalitetshantering. Gör lite forskning och utveckla en översikt över de viktigaste principerna för ett totalt kvalitetshanteringsprogram.
TQM kan definieras som hantering av initiativ och förfaranden som syftar till att uppnå leverans av kvalitetsprodukter och tjänster. Ett antal nyckelprinciper kan identifieras för att definiera TQM, inklusive:
- verkställande ledning-toppledningen bör fungera som huvuddrivrutin för TQM och skapa en miljö som säkerställer dess framgång.
- utbildning-anställda ska få regelbunden utbildning om metoder och begrepp för kvalitet.
- kundfokus-förbättringar i kvalitet bör förbättra kundnöjdheten.
- beslutsfattande-kvalitetsbeslut bör fattas baserat på mätningar.
- metodik och verktyg-användning av lämplig metodik och verktyg säkerställer att avvikelser identifieras, mäts och besvaras konsekvent.
- kontinuerlig förbättring-företag bör kontinuerligt arbeta för att förbättra tillverknings-och kvalitetsförfaranden.
- företagskultur-företagets kultur bör syfta till att utveckla medarbetarnas förmåga att arbeta tillsammans för att förbättra kvaliteten.
- anställdas engagemang-anställda bör uppmuntras att vara aktiva när det gäller att identifiera och ta itu med kvalitetsrelaterade problem.
1.7 är programvaruteknik tillämplig när WebApps byggs? Om så är fallet, hur kan det ändras för att tillgodose de unika egenskaperna hos WebApps?
programvara har blivit djupt inbäddad i praktiskt taget alla aspekter av våra liv. Programvaruteknik är tillämplig när nya program byggs och när befintliga program uppdateras – inklusive WebApps. WebApps är en av ett antal olika programkategorier. Och ändå kan det hävdas att WebApps är olika. En av de viktigaste ändringarna som WebApps kräver är tillgänglighet. Användare av populära WebApps kräver ofta tillgång på en 24/7/365 basis. En annan unik egenskap hos WebApps är deras kontinuerliga utveckling.
till skillnad från konventionell applikationsprogramvara som utvecklas över en serie planerade, kronologiskt åtskilda utgåvor, utvecklas webbapplikationer kontinuerligt. När det gäller programvaruteknik som tillämpas på WebApps måste många röster höras. Utseendet och känslan av en WebApp är en obestridlig del av överklagandet som i slutändan kommer att avgöra apparnas framgång.
1.8 när programvaran blir mer genomgripande blir risker för allmänheten (på grund av felaktiga Program) ett allt viktigare problem. Utveckla ett dommedag men realistiskt scenario där ett datorprograms misslyckande kan göra stor skada (antingen ekonomisk eller mänsklig).
en av de första tragiska men realistiska scenarierna som kommer att tänka på är misslyckandet av specifika program på ett flygplan. De stora datoriserade programmen på flygplan har samma risk att misslyckas som alla andra program och kan få katastrofala resultat. Till exempel, sensorn som upptäcker höjden på ett flygplan gör det möjligt för piloten att veta hur många fot flygplanet är över marken. Detta program är särskilt nödvändigt när väderförhållandena kan försämra piloternas synlighet på banan.
när en flygplan börjar sin anständiga och förbereder sig för att landa, använder piloten dessa program för att styra planet till en säker landning. Om detta program skulle misslyckas, och vädret hindrade piloternas synlighet, kanske piloten inte vet hur långt över marken han faktiskt är. Flygkrascher händer hela tiden, och hundratals passagerare dör varje år – främst på grund av misslyckade program och instrument på flygplanet.
1.9 Beskriv en processram med dina egna ord. När vi säger att ramaktiviteter är tillämpliga på alla projekt, betyder det att samma arbetsuppgifter tillämpas för alla projekt, oavsett storlek och komplexitet? Förklara.
programvaruteknikprocessen sker inte bara magiskt utan någon form av ordning och organisationsplanering. En processram skapar grunden för ingenjörsprocessen genom att använda ett litet antal aktiviteter som är tillämpliga på alla projekt. Steg-för-steg-algoritmen för ett processramverk består av fem aktiviteter: kommunikation, planering, modellering, konstruktion och distribution. Alla program, oavsett storlek och komplexitet, överensstämmer med dessa aktiviteter i den ordningen. Även om detaljerna i mjukvaruprocessen kommer att vara ganska olika för varje program, förblir de uppgifter som ingår inom ramen desamma.
1.10 Paraplyaktiviteter förekommer under hela programvaruprocessen. Tror du att de tillämpas jämnt över hela processen, eller är några koncentrerade i en eller flera ramaktiviteter.
i allmänhet tillämpas paraplyaktiviteter under ett mjukvaruprojekt och hjälper ett mjukvaruteam att hantera och kontrollera framsteg, kvalitet, förändring och risk. Eftersom programvaruteknikprocessen inte är en styv regim som måste följas exakt av ett mjukvaruteam, har processen mycket utrymme för anpassning.
även om paraplyaktiviteterna som sker under hela processen i allmänhet tillämpas på alla aspekter av processen, bör tekniken vara smidig och anpassningsbar; specifikt för problemet, till projektet, till laget och till organisationskulturen. På grund av detta kan en process som antagits för ett projekt vara väsentligt annorlunda än en process som antagits för ett annat projekt, och vissa aktiviteter kan koncentreras till ett eller flera områden.