{"title":"Experience with a process-driven approach to software engineering education","authors":"V. Veraart, S. Wright","doi":"10.1109/SEEP.1996.534028","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534028","url":null,"abstract":"Most undergraduate computing courses have a project component that attempts to convey some of the aspects of a 'real-life' development project but these often concentrate on the final product, rather than the process by which it is achieved. Process topics, such as project planning and scheduling, configuration management, etc., are often relegated to a casual support role, rather than treated as fundamental requirements for a rational software development process. We are making the concepts of software process central to our software engineering teaching and assessment. The paper reports on our experiences in developing three integrated Software Engineering units.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116620064","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A group collaboration tool for software engineering projects","authors":"Martin Purvis, Maryarn Purvis, Paul Jones","doi":"10.1109/SEEP.1996.534022","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534022","url":null,"abstract":"A CASE tool for the support of collaborative work in software engineering processes is described. The tool supports multiple, concurrent users who may be distributed over a network and who are engaged in group design deliberation on software engineering projects. The approach underlying the tool is based on Rittel's (1970) issue-based information systems, but new features have been added to support more detailed evaluation of why particular positions have been chosen by a collaborative group to resolve a given issue. A discussion of the new approaches and how they are incorporated into the tool is provided.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133194005","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Human-computer interaction in software engineering courses","authors":"C. Phillips, E. Kemp","doi":"10.1109/SEEP.1996.534049","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534049","url":null,"abstract":"A working group was convened to consider human-computer interaction (HCI) issues in relation to software engineering (SE) courses. Two broad questions were posed to the group: 1. Is this aspect (HCI) of software development adequately covered in SE courses? 2. Do contemporary graphical user interface (GUI) development tools over-emphasise the interface at the expense of functionality? The report has been written to reflect the discussions by the participants and to set out specific recommendations concerning the issues raised. It does not necessarily represent the views of any individual participants, nor the official views of their academic institutions.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114521048","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Software process assessment and improvement","authors":"B. Morgan, G. Lowry","doi":"10.1109/SEEP.1996.534042","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534042","url":null,"abstract":"A discussion is given on software process assessment and improvement, by looking at both academic and industrial issues. It is concluded that while industry and universities have a common interest in the education of students, university educators must remain mindful of the tension between meeting current industry needs and preparing students for life long learning. Student projects should satisfy a confluence of sponsor and course objectives; certain limitations inherent in the differing end objectives of industry and tertiary education affect how students approach project work, avoiding reuse and collaboration for academic submissions. Students can be helped to become attuned to personal process assessment and improvement by the example of their lecturers. The habit of self review and improvement is an important facet of professional work. Supportive supervision by the lecturer in charge and the judicious use of guest lecturers can help to enrich student project experience. Over time, as professionally educated software engineers come to make up an ever increasing proportion of developers, it is realistic to anticipate an overall process improvement and client satisfaction with information systems and applications. Process improvement is a corporate and individual professional responsibility and concern. As tertiary educators, we can encourage process improvement by helping managers and developers to open their minds while they are students to habits of reflection and self improvement at an early stage of their education.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129986000","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Seven deadly sins of introductory programming language design","authors":"Linda McIver, Damian Conway","doi":"10.1109/SEEP.1996.534015","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534015","url":null,"abstract":"Discusses seven undesirable features that are common to many programming languages used to teach first-time programmers: (1) less is more; (2) more is more; (3) grammatical traps; (4) hardware dependence; (5) backwards compatibility; (6) excessive cleverness; and (7) violation of expectations. We illustrate typical pedagogical difficulties which stem from these features, with examples drawn from the programming languages ABC, Ada, C, C++, Eiffel, Haskell, LISP, Modula 3, Pascal, Prolog, Scheme and Turing. We propose seven language design (or selection) principles which may reduce the incidence of such undesirable features: (1) start where the novice is; (2) differentiate semantics with syntax; (3) make the syntax readable and consistent; (4) provide a small and orthogonal set of features; (5) be especially careful with I/O; (6) provide better error diagnosis; and (7) choose a suitable level of abstraction.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130581786","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Teaching independent novice learners to develop relational database applications","authors":"C. A. Freyberg","doi":"10.1109/SEEP.1996.533982","DOIUrl":"https://doi.org/10.1109/SEEP.1996.533982","url":null,"abstract":"The teaching of relational database design and construction is a major challenge for teachers of introductory Information Systems courses. Some problems are further exacerbated when teaching of independent learners by correspondence is involved. We first describe our experience with teaching database application development and suggest two significant conceptual difficulties that have affected students working from widely used textbooks. We then describe a simple approach aimed specifically at these difficulties. When this approach was introduced recently, anecdotal evidence suggests that learning in the area has been significantly improved.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130860387","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"AI tools for software development effort estimation","authors":"Gavin FL Finnie, G. Wittig","doi":"10.1109/SEEP.1996.534020","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534020","url":null,"abstract":"Software development involves a number of interrelated factors which affect development effort and productivity. Since many of these relationships are not well understood, accurate estimation of software development time and effort is a difficult problem. Most estimation models in use or proposed in the literature are based on regression techniques. This paper examines the potential of two artificial intelligence approaches, viz. artificial neural networks and case-based reasoning, for creating development effort estimation models. Artificial neural networks can provide accurate estimates when there are complex relationships between variables and where the input data is distorted by high noise levels. Case-based reasoning solves problems by adapting solutions from old problems that are similar to the current problem. This research examines both the performance of backpropagation artificial neural networks in estimating software development effort and the potential of case-based reasoning for development estimation using the same dataset.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129930643","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Combining the use of software tools to generate interfaces","authors":"R. Pascoe","doi":"10.1109/SEEP.1996.534034","DOIUrl":"https://doi.org/10.1109/SEEP.1996.534034","url":null,"abstract":"Interfaces are software packages that are used alone or in conjunction with other interfaces to transfer data from one representation to another. Constructing such interfaces is a time consuming and often complex task primarily because of the diverse representation of data. The author describes his experiences of combining the use of software tools such as bison, flex, and rosy within a new tool a2b to generate interfaces from formal specifications of data transfers.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127213687","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"\"Usage-centered software engineering: new models, methods, and metrics\"","authors":"Larry Constantine","doi":"10.1109/SEEP.1996.533974","DOIUrl":"https://doi.org/10.1109/SEEP.1996.533974","url":null,"abstract":"For software engineering to fully meet the contemporary challenge of timely delivery of quality software solutions to real-world problems, it must be capable of engineering software for use. Usability is an important factor often neglected in software engineering. Improvements both in the education of new software engineers and the effectiveness of practicing engineers hinges on providing a better foundation to support engineering software for use. The conceptual basis of a usage-centered approach to software engineering is outlined, covering the core areas of modeling, methodology, and metrics. The role of essential models and design metrics in helping practicing software and applications developers learn how to design more usable systems is examined. By focusing on usage and the purposes of use, developers can better understand the real work of end users and design simpler systems that more fully support that work.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127346588","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using an issue-based model in a team-based software engineering course","authors":"A.H. Dutoit, B. Bruegge, R. Coyne","doi":"10.1109/SEEP.1996.533991","DOIUrl":"https://doi.org/10.1109/SEEP.1996.533991","url":null,"abstract":"Communication in software engineering projects becomes a bottleneck as the number of participants increases. As today's software systems grow in complexity and size, teaching effective communication skills in software engineering courses becomes a critical issue. The paper is an experience report on the use of an issue based model for teaching meeting procedures in a team based software engineering project course (7 teams, 25 students). We observed that, when carefully introduced in the classroom, the use of an issue based model provided significant benefits, even with such limited tool support as a word processor template. More specifically, we observed that students conducted meetings more efficiently, that they maintained a more complete record of the issues under discussion, and that intra team communication was significantly improved.","PeriodicalId":416862,"journal":{"name":"Proceedings 1996 International Conference Software Engineering: Education and Practice","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134585612","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}