A GENERAL MODEL FOR EDUCATIONAL SOFTWARE DESIGN AND DEVELOPMENT
The paper presents a general model for Educational Software Design and Development (ESDD). The ESDD require knowledge and skills from two main areas – software engineering and education. To address the needs of learners, software developers should understand both software and educational design, and know the needs of the target group(s).
The paper reviews some of the popular Software Design (SD) and Instructional Design (ID) models. Based on specific components of these models, a new ESDD model is devised. It combines components of ID with SD. ID components are used to define the learning problem, user needs, learning goals, learning content and activities. SD components are used to define software functionalities and features, the interface design, to realise software implementation, testing, evaluation, deployment and maintenance.
The model is based on the experience of the authors with two elective bachelor higher education courses, taught regularly at the Faculty of Mathematics and Informatics of Sofia University “St. Kliment Ohridski”. The courses are “Design, Development, and Evaluation of Educational Software” (taught mostly to students in higher education programmes in Software Engineering, Informatics, Computer Science, and similar), and “IT in education of children with Special Needs”, where an appropriate adapted model is applied. It is a challenge to train in a course software specialists with no background in educational science to apply learning design in ESDD.
The described model consists of six stages. The first stage is needs analysis. It is aimed at identifying the learning problem that software should address, and detecting learning needs. The second stage is audience analysis. It includes identification of general and specific characteristics and learning styles of the targeted learners. The third stage is task analysis where, on the base of the needs and audience analyses, we define software learning goals and objectives, and identify the learning content that software will represent. Here we also incorporate the different activities and tasks through which the intended knowledge, skills, and attitudes will be learned, and we can construct a scenario of the educational software.
The fourth stage is software design. At this stage, by using the already defined learning goals, content, activities and tasks, we specify the software requirements. Then we define the software functionalities and design the interface. The fifth stage is implementation. It is related to the development of software prototype and its testing whether it meets the functionalities and requirements described at previous stages. In case of identified problems the process can go back to some of previous stages and particular changes will be made. This improvement cycle continues until the prototype meets the users’ needs. The last stage is testing and evaluation. At this stage final software prototype is tested and evaluated by experts and end users. Depending on the evaluation results the software can go back to be improved or provided to the end users and maintained.
The advantages of this model: considers end users’ needs; special accent to the educational design of the software in order to assure the achievement of the defined learning goals; easy to be adapted for any kind of educational software and to any kind of user groups.