Download presentation
Presentation is loading. Please wait.
Published byBeatrice Kelley Modified over 9 years ago
1
Three Software Development Gestalts Kirby McMaster Brian Rague Steven Hadfield Nicole Anderson
2
Three Software Development Gestalts Schemas, Paradigms, and Gestalts We use the term gestalt to refer to a mental framework that allows students to organize course topics into a unified whole (greater than the sum of the parts). Donald: A schema... is a data structure of generic concepts stored in memory and containing the network of relationships among the constituent parts.... If we are to understand the relationships between concepts, we need to know in what order and how closely concepts are linked and the character of the linkage. Bain: Students bring paradigms to the class that shape how they construct meaning.... Even if they know nothing about our subjects, they still use an existing mental model of something to build their knowledge of what we tell them. 2
3
Three Software Development Gestalts Gestalts for Software Development Software development is a broad and diverse field. Our scope in this research is limited to the development of Information Systems, consisting of: a set of application programs one or more databases. In CS and IS curricula, software development principles are taught in the following types of courses: Programming, with an emphasis on object-oriented concepts. Databases and database management systems. Software Engineering, including systems analysis and design. 3
4
Three Software Development Gestalts Purpose of this Study Our primary goal in this research was to construct scales to measure gestalts for Programming, Database, and Software Engineering. Our methodology involved analyzing words in books. Our assumption is that words used frequently in a book reflect the gestalt of the author. Our findings have relevance in designing ways to teach software development courses. The gestalt scales can also help instructors choose suitable textbooks for those courses. 4
5
Three Software Development Gestalts Gestalt Scale Development The construction of measurement scales for our three software development gestalts involved the following steps: 1.Sampling: Select a diverse sample of Programming (OOP), Database (DB), and Software Engineering (SE) books having an Amazon concordance. 2. Measurement: For each concordance word, record the book, word, and frequency. 3. Conversion: Change nouns, verbs, adjectives, and adverbs to a consistent form. 4. Transformation: Rescale word frequencies (StdFreq) within a book to give the average concordance word a score of 100. 5. Grouping: Combine relevant synonyms into word/groups, summing the StdFreq scores for each group. 5
6
Three Software Development Gestalts Gestalt Scale Development 6. Scale Construction: Build the Programming (PGestalt), Database (DGestalt), and Software Engineering (SGestalt) scales using an iterative process: Look for words that are used frequently within each book and consistently across similar books. Build a tentative scale, and calculate scores for every book. Remove books with low scale scores, and repeat the process. Stop when the scales and list of remaining books stabilize. Starting with 37 OOP books, 37 DB books, and 36 SE books, we obtained (after several iterations) PGestalt, DGestalt, and SGestalt scales constructed from 27 OOP books, 27 DB books, and 26 SE books, respectively. 6
7
Three Software Development Gestalts Programming Gestalt The PGestalt scale consists of 14 word/groups and weights. The most frequent word/groups are: class/subclass method/algorithm object. The weights for each word/group are used to calculate an overall weighted-average PGestalt score for a book. Sample calculations are illustrated for McMillan’s Object-Oriented Programming with Visual Basic.NET (PGestalt score = 394.1). 7
8
Three Software Development Gestalts Word/GroupBooks Avg StdFreq Weight class/subclass27541.120.87 method/algorithm23391.213.78 object27317.510.29 code/program27314.310.14 function/procedure18268.97.99 value/variable27268.77.98 integer21203.34.89 public/private24201.74.81 type/datatype26186.24.08 string24180.33.80 statement/line18168.63.25 data/information26164.23.04 new27154.92.60 file24152.22.47 TOTAL100.00 8 PGestalt Scale
9
Three Software Development Gestalts Word/GroupWeight StdFreqScale class/subclass20.87*765.5159.8 method/algorithm13.78*437.060.2 object10.29*337.434.7 code/program10.14*434.844.1 function/procedure7.99168.413.5 value/variable7.98248.219.8 integer4.89236.711.6 public/private4.81*383.018.4 type/datatype4.08139.25.7 string3.80218.58.3 statement/line3.25128.84.2 data/information3.04*314.39.6 new2.60131.03.4 file2.4736.30.9 TOTAL394.1 9 PGestalt Calculations McMillan (2004), OOP With VB.NET
10
Three Software Development Gestalts Database Gestalt The DGestalt scale consists of 14 word/groups and weights. The most frequent word/groups are: data/information table/relation database. The weights for each word/group are used to calculate an overall weighted-average DGestalt score for a book. Sample calculations are illustrated for Watson’s Data Management (DGestalt score = 438.7). 10
11
Three Software Development Gestalts Word/GroupBooks Avg StdFreq Weight data/information27524.819.55 table/relation27438.115.56 database27335.310.83 query/sql26266.97.68 entity/relationship18257.07.23 attribute/column/field25234.76.20 key/primary/foreign22220.35.54 system/subsystem25206.24.89 object21197.54.49 model/modeling22195.14.38 user/client/customer25190.24.15 record/row/tuple24187.64.03 value/variable27164.82.98 type/datatype27154.52.51 TOTAL100.00 11 DGestalt Scale
12
Three Software Development Gestalts Word/GroupWeightStdFreqScale data/information19.55*1115.6218.1 table/relation15.56*431.767.2 database10.83*336.236.4 query/sql7.68237.518.2 entity/relationship7.23281.620.4 attribute/column/field6.20200.212.4 key/primary/foreign5.54267.914.8 system/subsystem4.89235.911.5 object4.4981.13.6 model/modeling4.38261.311.4 user/client/customer4.15227.89.5 record/row/tuple4.03217.48.8 value/variable2.98127.53.8 type/datatype2.5198.72.5 TOTAL438.7 12 DGestalt Calculations Watson (2005), Data Management
13
Three Software Development Gestalts Software Engineering Gestalt The SGestalt scale consists of 12 word/groups and weights. The most frequent word/groups are: software system/subsystem process. The weights for each word/group are used to calculate an overall weighted-average SGestalt score for a book. Sample calculations are illustrated for Thayer’s Software Engineering, Vol. 1 (SGestalt score = 394.7). 13
14
Three Software Development Gestalts Word/GroupBooks Avg StdFreq Weight software26444.618.13 system/subsystem26401.315.85 process26304.810.77 data/information26265.18.69 code/program24231.86.93 requirement/specification25229.56.81 test/testing20226.86.67 user/client/customer23223.36.49 develop/development26221.86.41 project26207.15.63 design/designer26175.63.98 model/modeling25169.13.64 TOTAL100.00 14 SGestalt Scale
15
Three Software Development Gestalts Word/GroupWeightStdFreqScale software18.13*727.7131.9 system/subsystem15.85*550.887.3 process10.77190.020.5 data/information8.69263.022.9 code/program6.93*382.326.5 requirement/specification6.81*419.328.6 test/testing6.67280.618.7 user/client/customer6.49219.214.2 develop/development6.41296.719.0 project5.63124.37.0 design/designer3.98*370.014.7 model/modeling3.6495.13.5 TOTAL394.7 15 SGestalt Calculations Thayer (2002), Software Engineering, Vol. 1
16
Three Software Development Gestalts
17
Gestalt Scale Distributions Gestalt scale scores varied widely across the books in the sample. PGestalt scores for the 37 OOP books ranged from 101.1 to 402.6. DGestalt scores for the 37 DB books ranged from 118.7 to 438.7. SGestalt scores for the 36 SE books ranged from 124.9 to 394.7. A graph of the three gestalt distributions is shown on the next slide. Each distribution is shown only for books in the relevant category PGestalt for OOP books DGestalt for DB books SGestalt for SE books. Averages for the three scales for all books are presented in a table on the following slide. 17
18
Three Software Development Gestalts Gestalt Scale Distributions 37 OOP, 37 DB, and 36 SE Books 18
19
Three Software Development Gestalts Gestalt Scale Distributions Averages by Book Category and Scale Type 19 CategoryPGestaltDGestaltSGestalt OOP (37 books)271.575.766.3 DB (37 books)107.0274.699.4 SE (36 books)86.894.2257.2 ALL (110 books)155.7148.6139.9
20
Three Software Development Gestalts Comparing Gestalt Scales The relationship between PGestalt and DGestalt scores for all sample books is displayed on the next screen as a scatter plot. The correlation between the PGestalt and DGestalt scales is slightly negative (= -0.392), when all 110 books are included. The correlation is larger (= -0.769) when only OOP and DB books are considered. Note that 3 DB books and 1 SE book have PGestalt scores above 200 (high on the “wrong” scale). Similar patterns exist for the PGestalt-Gestalt and DGestalt-SGestalt pairs of scales. 20
21
Three Software Development Gestalts PGestalt vs. DGestalt Scatter Plot 37 OOP, 37 DB, and 36 SE Books 21
22
Three Software Development Gestalts Gestalt Mixtures The mixture of gestalts within a book can be obtained by expressing the gestalt scores as percentages. The next slide is a triangular scatter plot, with PGestalt and DGestalt percentages on the axes. The SGestalt percentage is implied, since the sum of all 3 is 100%. A gestalt is dominant if its percentage score exceeds 50%. Ninety of the 110 books have a dominant gestalt. Only one (DB) book was dominant on the "wrong" (PGestalt) scale. 22
23
Three Software Development Gestalts Gestalt Scale Mixture Plot 37 OOP, 37 DB, and 36 SE Books 23
24
Three Software Development Gestalts Choosing a Textbook Question: Would McConnell’s Code Complete be a suitable textbook for a Software Engineering course? The SGestalt score for this book is 185.4 (see next slide). The most frequent word/groups are: code/program data/information test/testing. The Gestalt mixture is: PGestalt = 42.7%, SGestalt = 38.1%, and DGestalt = 19.2%. We would not recommend Code Complete as a primary SE textbook, but it would provide worthwhile supplemental reading. 24
25
Three Software Development Gestalts Word/GroupWeightStdFreqScale software18.13183.133.2 system/subsystem15.85107.717.1 process10.7750.15.4 data/information8.69*303.326.4 code/program6.93*915.463.4 requirement/specification6.8165.24.4 test/testing6.67223.614.9 user/client/customer6.49-- develop/development6.4176.64.9 project5.63148.48.4 design/designer3.98185.27.4 model/modeling3.64-- TOTAL185.4 25 SGestalt Calculations McConnell (2004), Code Complete, 2 nd ed
26
Three Software Development Gestalts Summary and Conclusions In this paper, we have described three scales for measuring gestalts in software development: 1. Programming – for writing object-oriented programs. 2. Database – for designing and implementing databases. 3. Software Engineering – for building complex software systems. We calculated three gestalt scores for each sample book and analyzed the distributions of these scores. The scales were able to discriminate between the types of books used to construct the scales. A few books had high gestalt scores on the "wrong" scale. When viewed as a mixture of gestalts, 90 of the sample books had a dominant gestalt. 26
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.