Ohjelmistosuunnittelu vs. tietojenkäsittelytiede
Modernissa yhteiskunnassa tietokoneista on tullut olennainen ja väistämätön osa. Keskitymme kuitenkin vähemmän näiden tuttujen asioiden sisäisiin toimintoihin. Tietotekniikka on tietokonejärjestelmien teoreettinen perusta, kun taas ohjelmistosuunnittelu on näiden periaatteiden soveltaminen ongelmiin ohjelmistoratkaisun kehittämiseksi.
Tietokone Tiede
Tietojenkäsittelytiede on tietokonelaitteiden ja -ohjelmistojen perustiede. Se tarjoaa käsityksen sekä ohjelmistojen että laitteistokomponenttien mekanismista ja laskennan teoreettisista perusteista toteutusta ja soveltamista varten tietokonejärjestelmissä.
Tietotekniikka koostuu monista tärkeimmistä ala-aloista. Laskennallinen teoria, tieto- ja koodausteoria, algoritmit ja tietorakenne sekä ohjelmointikielen teoria kuuluvat teoreettiseen tietotekniikkaan. Sovellettuja tietotekniikan osa-alueita ovat tekoäly, tietokonearkkitehtuuri ja tekniikka, tietokonegrafiikka ja visualisointi, salaustekniikka ja tietoturva, tietokoneverkot, rinnakkaiset, rinnakkaiset ja hajautetut järjestelmät, tietokannat ja tiedon haku sekä ohjelmistosuunnittelu.
Monet näistä osa-aloista perustuvat matemaattisiin teorioihin. Jotkut sovellusnäkökohdat liittyvät mekatroniikkaan ja muihin soveltaviin tieteisiin.
Nämä alakurssit ulottuvat myös sivuaineopintoihin. Laskennallinen teoria sisältää esimerkiksi sellaisia tutkimusalueita kuten automaattiteoria, laskettavuuden teoria, monimutkaisusteoria, salaus ja kvanttilaskentateoria..
Ohjelmistotuotanto
Ohjelmistosuunnittelua voidaan pitää yhtenä tärkeimmistä sovelletun tietotekniikan osa-alueista. Se keskittyy tehokkaiden ohjelmistojärjestelmien rakentamiseen tiukkaa teknistä lähestymistapaa käyttämällä. Sitä voidaan kuvata systemaattisena, kurinalaisena, kvantifioitavana lähestymistapana ohjelmistojen suunnitteluun, kehittämiseen, käyttöön ja ylläpitoon sekä näiden lähestymistapojen tutkimiseen. Ohjelmistosuunnittelulle ei ole olemassa yhtä hyväksyttyä määritelmää, mutta sen tarkoituksen tulkintaa.
Fritz Bauer määritteli ohjelmistosuunnittelun "terveen suunnittelun periaatteiden luomiseksi ja käyttämiseksi taloudellisesti kehitetyn ohjelmiston saamiseksi, joka on luotettava ja toimii tehokkaasti oikeissa koneissa".
Ohjelmisto ei ole fyysinen; se on loogisia kokonaisuuksia, jotka toimivat tietokonejärjestelmässä. Siksi se on suunniteltava optimaaliseen suorituskykyyn sekä laitteisto- että operatiivisissa näkökohdissa. Näiden tavoitteiden saavuttamiseksi ohjelmistosuunnittelijat käyttävät kehitysmalleja. Nämä mallit sisältävät ohjelmistokehityksen päävaiheet kuten suunnittelun, koodaamisen, vianetsinnän ja ylläpidon yhtenäiseksi kehykseksi, joka mahdollistaa ohjelmiston järjestelmällisen edistymisen sen elinkaaren aikana.
Mikä on ero ohjelmistosuunnittelun ja informaatiotieteen välillä??
• Tietojenkäsittelytiede keskittyy laskennan teoreettisiin näkökohtiin sekä ohjelmistoissa että laitteissa.
• Ohjelmistosuunnittelu keskittyy ohjelmistokehitykseen systemaattisesti. Koodaus tai ohjelmointi on avaintekijä ohjelmistosuunnittelussa.
• Ohjelmistosuunnittelua voidaan pitää laskentateorian sovelluksena (esimerkiksi algoritmin tehokkuutta voidaan mitata tietotekniikan teoriassa kuvatulla monimutkaisuudella, mutta sen sovellus kuuluu ohjelmistotekniikan alueelle, jossa sopivin algoritmi on valittu monimutkaisuuden perusteella).