1.2 Gi en rekke eksempler (både positive og negative) som indikerer virkningen av programvare på vårt samfunn.
bruk av programvare i vårt samfunn har en rekke både positive og negative konsekvenser. Mens de positive aspektene kan være ekstremt nyttige, gir de negative oss litt av en krykke. Generelt er programvare ikke laget for å «skade» oss på noen måte, men heller for å gjøre ting enklere og mer effektivt for oss.
1.3 For Eksempel Er E-banking et perfekt eksempel på programvare som gjør livene våre mye enklere. Alt kort av fysisk uttak av penger fra banken din kan gjøres online. Du kan også sette din paychecks nå ved å ta et bilde av det med din telefon. På ulemper kan den samme teknologien brukes til å stjele kredittkortnumrene og identiteten din hvis den faller i feil hender. Samme med anti-sikkerhetsprogramvare.
det er folk som får betalt gode penger for å hacke inn i din lokale bank og stjele fra dem bare for å bevise for banken at de trenger å oppgradere nettverkssikkerheten. I de fleste tilfeller er bankene takknemlige for denne typen inntrenging. Den samme programvaren kan imidlertid brukes til kriminelle formål der banken ikke ville være så fornøyd. Programvare kan være både svært nyttig og ekstremt farlig avhengig av hvem som bruker det og hvordan.
1.4 Mange moderne applikasjoner endres ofte-før de presenteres for sluttbrukeren og deretter etter at den første versjonen er tatt i bruk. Foreslå noen måter å bygge programvare for å stoppe forverring på grunn av endring.
først og fremst bør programvareapplikasjoner være vedlikeholdbare. Det betyr at det skal konstrueres i en grad at endringer kan gjøres ganske enkelt når applikasjonen vokser. En måte å minimere forringelse på grunn av endring, er å tillate at automatiske oppdateringer bygges inn. Ta Windows OS for eksempel: den har muligheten til å tillate automatisk oppdatering for nødvendige sikkerhets-og brannmurplattformer for å sikre at systemet alltid er » oppdatert.»Siden tidligere applikasjoner alltid blir oppdatert, er det viktig å bygge ny programvare med de samme egenskapene.
1.5 Vurder de syv programvarekategoriene som presenteres I Avsnitt 1.1.2. Tror du at den samme tilnærmingen til software engineering kan brukes for hver? Forklar svaret ditt.
Millioner av programvareingeniører over hele verden jobber hardt med programvareprosjekter i en eller flere av disse kategoriene. I noen tilfeller bygges nye systemer, men i mange andre blir eksisterende applikasjoner korrigert, tilpasset og forbedret. På grunn av dette kan det være nødvendig med en annen tilnærming til programvareutvikling for individuelle kategorier. Mange av programmene som programvareingeniører jobber med, er ekstremt gamle, og fortsetter å bli oppgradert. Derfor er det fornuftig at du ikke vil bruke samme tilnærming for et eksisterende program som du vil bruke for et nytt program.
1.6 Figur 1.3 plasserer de tre software engineering lagene på toppen av et lag med tittelen » et kvalitetsfokus.»Dette innebærer et organisatorisk kvalitetsprogram som total quality management. Gjør litt forskning og utvikle en oversikt over de viktigste prinsippene i et total quality management program.
TQM kan defineres som styring av tiltak og prosedyrer som er rettet mot å oppnå levering av kvalitetsprodukter og tjenester. En rekke sentrale prinsipper kan identifiseres ved å definere TQM, inkludert:
- Executive Management-Toppledelsen skal fungere som hoveddriveren FOR TQM og skape et miljø som sikrer suksess.
- Opplæring-Ansatte bør få regelmessig opplæring i metoder og konsepter for kvalitet.
- Kundefokus-Forbedringer i kvalitet bør forbedre kundetilfredsheten.
- Decision Making-Kvalitetsbeslutninger bør gjøres basert på målinger.
- Metodikk og Verktøy – bruk av egnet metodikk og verktøy sikrer at avvik identifiseres, måles og responderes konsekvent.
- Kontinuerlig Forbedring-Bedrifter bør kontinuerlig arbeide for å forbedre produksjons-og kvalitetsprosedyrer.
- Bedriftskultur-kulturen i selskapet bør sikte på å utvikle ansattes evne til å jobbe sammen for å forbedre kvaliteten.
- Medarbeiderinvolvering-Ansatte bør oppfordres til å være proaktive i å identifisere og adressere kvalitetsrelaterte problemer.
1.7 er software engineering aktuelt når WebApps er bygget? Hvis ja, hvordan kan det bli endret for å imøtekomme De unike egenskapene Til WebApps?
Programvare har blitt dypt innebygd i nesten alle aspekter av våre liv. Software engineering er aktuelt når nye programmer er bygget, og når eksisterende programmer er oppdatert-inkludert WebApps. WebApps er en av en rekke forskjellige programvarekategorier. Og likevel kan Det hevdes At WebApps er forskjellige. En av de viktigste modifikasjonene Som WebApps krever er tilgjengelighet. Brukere av populære WebApps krever ofte tilgang 24/7/365. En annen unik egenskap Ved WebApps er deres kontinuerlige utvikling.
I Motsetning til konvensjonell applikasjonsprogramvare som utvikler seg over en rekke planlagte, kronologisk fordelte utgivelser, utvikler Webapplikasjoner kontinuerlig. Når det gjelder programvare engineering brukes Til WebApps, må mange stemmer bli hørt. Utseendet Og følelsen Av En WebApp er en ubestridelig del av appellen som til slutt vil avgjøre Appens suksess.
1.8 som programvare blir mer gjennomgripende, risiko for publikum (på grunn av feil programmer) bli en stadig viktigere bekymring. Utvikle en dommedag, men realistisk scenario der svikt i et dataprogram kan gjøre stor skade (enten økonomisk eller menneskelig).
En av de første tragiske, men realistiske scenarier som kommer til hjernen er svikt i bestemte programmer på et passasjerfly. De store datastyrte programmene på fly har samme risiko for å mislykkes som noe annet program, og kan ha katastrofale resultater. For eksempel kan sensoren som oppdager høyden på et fly, tillate piloten å vite hvor mange meter flyet er over bakken. Dette programmet er spesielt nødvendig når værforholdene kan svekke pilotens synlighet på rullebanen.
når et passasjerfly begynner sin anstendig og forbereder seg på å lande, bruker piloten disse programmene til å lede flyet til en trygg landing. Hvis dette programmet skulle mislykkes, og været hindret pilotens synlighet, kan piloten ikke vite hvor langt over bakken han egentlig er. Flyulykker skjer hele tiden – og hundrevis av passasjerer dør hvert år-hovedsakelig på grunn av mislykkede programmer og instrumenter på flyet.
1.9 Beskriv en prosessramme med dine egne ord. Når vi sier at rammeaktiviteter gjelder for alle prosjekter, betyr dette at de samme arbeidsoppgavene gjelder for alle prosjekter, uavhengig av størrelse og kompleksitet? Forklare.
programvareutviklingsprosessen skjer ikke bare magisk uten noen form for orden og organisasjonsplanlegging. Et prosessrammeverk skaper grunnlaget for ingeniørprosessen ved å bruke et lite antall aktiviteter som gjelder for alle prosjekter. Den trinnvise algoritmen for en prosess rammeverk består av fem aktiviteter: kommunikasjon, planlegging, modellering, konstruksjon og distribusjon. Alle programmer, uavhengig av størrelse og kompleksitet, er i samsvar med disse aktivitetene i den rekkefølgen. Selv om detaljene i programvareprosessen vil være ganske forskjellige for hvert program, forblir oppgavene som er involvert innenfor rammen de samme.
1.10 Paraply aktiviteter skje gjennom hele programvaren prosessen. Tror du de blir brukt jevnt over hele prosessen, eller er noen konsentrert i en eller flere rammeaktiviteter.
generelt brukes paraplyaktiviteter gjennom et programvareprosjekt og hjelper et programvareteam med å administrere og kontrollere fremgang, kvalitet, endring og risiko. Siden programvareutviklingsprosessen ikke er et stivt regime som må følges nøyaktig av et programvareteam, har prosessen mye rom for tilpasning.
selv om paraplyaktivitetene som skjer gjennom hele prosessen, vanligvis brukes på alle aspekter av prosessen, bør prosjekteringen være smidig og tilpasningsdyktig; spesifikk for problemet, til prosjektet, til teamet og til organisasjonskulturen. På grunn av dette kan en prosess vedtatt for ett prosjekt være vesentlig forskjellig fra en prosess vedtatt for et annet prosjekt, og noen aktiviteter kan være konsentrert på ett eller flere områder.