Praktisks Ievads Programmatūras projektu ar C++ – Priekšvārds

Link: http://cs.brown.edu/~spr/designbook/preface.html

advanced plānošanas protams, man ir mācīts Brown aptuveni desmit gadus tiek veidots tā, lai ievērotu ievada plānošanas secība un nodrošināt fona vajadzīgi studenti, lai veiktu nopietnas plānošanas projekti, uzlabotas kursi, pētniecības vai faktiskās darba vietas. Tā māca būtiskajām tēmām, kas ir nepieciešami nopietnu plānošanu, bet parasti nav iekļauti agrāk kursus, piemēram, maza mēroga un liela mēroga objektu-orientētā projektēšana, spēja izmantot mūsdienu objektu orientētas programmēšanas valoda, kas efektīvi (šajā lietā C++), uzlabotas plānošanas koncepcijas, lietotāja interfeiss būvniecība, atkļūdošanas un testēšanu, un basic programmatūras inženierija. Protams, ir spēcīga praktisko pusi, un studenti reāli izstrādāt un īstenot nozīmīgus projektus semestra laikā. Lai gan ir atsevišķas grāmatas, par katru no tēmām, protams, man nav izdevies atrast vienu grāmatu, kas sniedz tiesības informācijas apjomu par katru mācību priekšmetu ar spēcīgu praktisko smilga. Tādējādi es beidzot pārtrūka, un apņēmās uzrakstīt šo vienu.

I paredzēti šo tekstu, lai atbilstu vidēja līmeņa plānošanas gaitā, piemēram, to, kas aprakstīts iepriekš. Teksta uzņemas studentiem ir bijusi pienācīga ievada plānošanas secība, kas ietver pamata programmu un algoritmus un datu struktūras. Brown, mēs mācām Java ievada kursus, bet teksts būtu piemērots studentiem ar C++ vai procesuālo fona, kā arī. Grāmatu izmanto, C++, nevis Java jo C++ joprojām valodu izvēle rakstīšanai lielas sistēmas, un tas vēl arvien ir pamats, visvairāk uzlabotais programmēšanas kursi Brūns un citur.

teksts studentu nodrošina ar instrumentiem un tehniku, kas dos iespēju tos ērti izstrādes un īstenošanas mērena lieluma programmatūras sistēmām, atsevišķi vai komandā, sagatavojot viņus vairāk vērsti sistēmas kursi konkrētās jomās, piemēram, datu bāzes, kompilatori, datorgrafika, un programmatūras inženierijas, kā arī vasaras un pilna laika programmēšanas darbus.

teksts paredz, ka studentiem ir pieejams un zināšanas ar citām grāmatām vai rokasgrāmatu par pamata jēdzieniem, C++, lietotāja interfeisa sistēmu, piemēram, Motīvs vai Microsoft Foundation Classes, un labs suite programmēšanas rīki. Ja studenti nav C++ fona, tad C++ teksta, būtu iespējams pavadīt dažas pirmās nodaļas. Pat ar C++ fona, studentiem ir pieeja valodas rokasgrāmata. Teksta, manuāla, vai gadījumā izdales materiālos ir arī vajadzīgs, lai sniegtu informāciju par mērķa saskarnes grafisko lietotāja saskarnes un attiecīgā plānošanas vidē. Šie papildu darbi, kas nodrošina izejvielu ka šis teksts mēģina organizēt, integrēt, un noteikt, studentiem.

PĀRSKATS TEKSTS

materiāls ir sadalīta sekcijās, katra koncentrējoties uz konkrētu tematu, ar kādu pārklājas. Pamata tēmas:

  • Object-Oriented Dizaina (Nodaļās 1, 2, 5, 6, 10, 13, 16): Tas ir galvenais šo tekstu, un faktiski tas ir sastopama lielākā daļa citu nodaļu, kā arī. Pirmās divas nodaļas ir sniegts pārskats par objektu-orientētā projektēšana un detalizētu izskatās pēc maza mēroga dizaina. 5. nodaļa paplašina šīs ar jautājumiem, kas saistīti ar klases dizainu, bet 6. Nodaļa pēta dažādus apzīmējumus izmanto, lai izteiktu dizainu. 11. nodaļa attiecas uz projekta jautājumiem, kas saistīti ar lietotāja saskarni un 13. Nodaļā sniegts pārskats dizaina modeļus. 16. nodaļa secina, teksta, apspriežot jautājumus ar projektēšanu lielāku sistēmu.
  • Efektīvi Izmantot C++ (Nodaļās, 3, 4, 7, 12): sekundārais uzmanību, mācot skolēniem būt labi programmētāji ir efektīvi izmantot valodu. 3. nodaļā īstenošanu objektu projektēšanas un 4. Nodaļā doti norādījumi, izmantojot un ne ļaunprātīgi C++. 7. nodaļa attiecas uz standarta C++ bibliotēku un izmantot bibliotēkas kopumā, bet 12. Nodaļa iet pa ēkas bibliotēku un izmantot C++ veidnes.
  • Lietotāja Saskarnes (Nodaļas, 9, 10, 11): Tā kā lielākā daļa mūsdienu pieteikumus izmantot grafisko lietotāja interfeisu, tas ir būtiski, ka papildu programmēšanas kurss aptver pietiekami daudz materiālu, lai ļautu studentiem, lai izstrādātu un īstenotu savu saskarnes. 9. nodaļa aptver pamata jēdzieni grafisko lietotāja saskarnes. 10. nodaļa ietver izstrādi un īstenošanu jautājumos, kas saistīti ar ēkas faktiskā interfeisu. 11. nodaļa sniedz pamatnostādnes, lai domātu par un novērtējot lietotāja interfeisu.
  • Advanced Plānošanas Tēmām (Nodaļās, 10, 12, 14): mūsdienu programmētāji ir jāapzinās jaunas funkcijas un metodes. 10. nodaļa ietver lietotāja interfeisu, plānošanas un 12. Nodaļā ietilpst ēkas, bibliotēkas, ieskaitot veidņu bibliotēkas. 14. nodaļā ir apskatīts, vairāku procesu un vairākpavedienu plānošanas un dažādu interprocess paziņojumu un sinhronizācijas mehānismi, kas ir nepieciešami, lai to atbalstītu.
  • Programmatūras Inženierijas (Nodaļās, 8, 15, 16): Šī teksta daļa aptver materiāls studentiem ir nepieciešama, lai varētu lietot programmēšanas rīkus un efektīvi plānot un īstenot grupu projektu. 8. nodaļā ir aprakstīta būtiskākajos atkļūdošanas un testēšanu, sniedzot praktiskus ieteikumus, lai palīdzētu studentiem ar savas programmas. 15. nodaļa aptver pamatus programmatūras inženierijas, uzsverot prasībām un specifikācijām. Visbeidzot, 16. Nodaļa apspriež dizains un vadība lielāka programmatūras projektiem.

Katrs no šiem tematiem tiek attīrīti praktisks, hands-on veidā. Visvairāk nodaļas darbu, izmantojot piemēru, kas attiecas uz materiāla, izmantojot savu konkrētību, lai dotu abstraktiem principiem stabilu un saprotamu pamata. Teksts ir piparu ar pamatnostādnēm, sniedzot savus labākos padomus par to, kā veidot saprātīgu programmatūras sistēmām. Pilnu kodu, piem., 2. un 3. Nodaļā un 7. Nodaļā ir iekļauta Ziņojuma B un C, piedāvājot papildu informāciju, lai papildinātu materiālu šajās nodaļās.

IZMANTOT TEKSTS

Šo tekstu bija domāta uzlabotas plānošanas/ievada programmatūras inženierijas kursu Brūna. Organizācijas nodaļas teksts būtībā ir viens, es izmantot klasē. Pamata koncepcijas, object-oriented izstrādē un īstenošanā tiek mācīts, agri sniegt studentiem instrumentiem, lai īstenotu faktisko programmas. Pirmais uzdevums ir vienkārša programma, kas izstrādāta, lai iepazīstinātu studentus ar C++. Tad, ņemot gājusi cauri materiālam Nodaļā no 1 līdz 5, I, piešķirt mērena lieluma atsevišķu plānošanas projektu (pašlaik vadības loģiku, kontroles secību, lai pinball 3D programma). Kā studenti strādā uz šo, es iet caur materiālu, dizaina, bibliotēkas, debugging, un lietotāja saskarnes. Nākamajā plānošanas projektā paredzēts izstrādāt lietotāja saskarni un pievienots atpakaļ beigām par divu cilvēku projekts. Vienlaikus šis projekts ir ceļā, man aptver lielāko daļu no materiāla Nodaļās 12 līdz 14.. Ceturtā plānošanas projekts dod studentiem papildu pieredzi ar lietotāja saskarni un ievads vairāku procesa plānošanas. Pēdējā mēneša laikā ir aizņemts ar lielākiem, četru cilvēku komandu projekts, ka skolēni izvēlas paši un pēc tam norādiet un īstenotu, kas parasti izrādās multiplayer spēle programmu. Es segumu materiālu Nodaļas 15. un 16., kamēr tie tiek apdares iepriekšējo programmu, un sākot domāt par šo projektu. Kad tas ir izdarīts, studentiem dod divas klases prezentācijas, vispirms īsi apraksta, kādi ir viņu projekts būs darīt, un otrais, kas apraksta tās augstākā līmeņa dizains.

materiāls teksts var tikt izmantots citos veidos, kā arī. Lielākā daļa no šīs nodaļas, tikai ar nelieliem papildinājumiem, uzskatīt par citādu kārtību. Materiāli par atkļūdošanu, piemēram, var viegli pārvietot vai nu agrāk, vai vēlāk, protams. 11. nodaļa uz lietotāja saskarni principus var lasīt agrāk vai izlaista pilnībā, kā var Nodaļas 12. un 14. 4. un 5. nodaļā, var izmantot, pirms 2. un 3. Nodaļā, bet tas padara to daudz grūtāk, lai sāktu studentus uz nopietnu plānošanu problēma sākumā gaitā.

iesniedz papildu materiālus, lai šo tekstu, mēs esam izveidojuši mājas lapā:

http://www.cs.brown.edu/people/spr/designbook

Mums būs atjaunināt šo vietni, ar labojumiem, ierosinājumu, kods, problēmas, utt., kā gadījumā. Atbildes tiek atbalstīta.

ATZINĪBAS

es vēlos pateikties tiem daudzajiem cilvēkiem, kas lasa un komentēja materiāla šī teksta. Ievērojamākās no tām ir Scott Levandovskis, kurš cieta ar pirmo projektu visu tekstu un piedāvā noderīgus komentārus un ierosinājumus visā. Citi, kuriem ir doti noderīgi komentāri ietver Henrik Christensen) un Andrew Schulak. Es arī esmu ļoti pateicīga daudzi ierosinājumi, ko es saņēmu no ārpuses recenzentiem, tostarp Ouvens Astrachan, Duke University; Sallie Henrijs, Virginia Tech; Ronalds McCarty, Pensilvānijas Valsts Universitātē Erie; Džeimss Purtillo, Merilendas Koledžā Parks; Edna Māksliniece, Kalifornijas Valsts Universitātē Hayward, un Dāvids Stotts, Augstskolas par Ziemeļu Carolina pie Chapel Hill. Visbeidzot es vēlētos pateikties Trina Avery, lai padarītu prozas vairāk lasāmā.