Requirements Engineering Contributions on the Development of Educational Software for the Blind or People with Impaired Vision – An Experience Account

This paper presents an account of the experience observed when obtaining a set of requirements for the development of educational software for people with impaired vision. Numerous techniques of requirements engineering, specifically review and prototyping techniques, were applied to elicit, analyze, and validate 51 requirements for educational software for the vision impaired. Requirements were documented and subdivided in functional requirements (FR) and non-functional requirements (NFR). To improve the understanding of these requirements, they were represented via Use Cases at UML. The results were the elicitation, analysis and negotiation, modeling, and validation of 40 functional requirements, and 11 non-functional requirements, as well as the diagram of the resultant of use cases.


Introduction
The use of technological information has been promoting access in the work market, education segment, and leisure for people with special needs, giving them freedom and autonomy, and consequently allowing their inclusion in the society, giving them the ability to exercise their citizenship.Due to this circumstance, it becomes necessary to provide educational institutions, at all levels, with computer resources to create opportunities that facilitate the education process of handicapped people.One of these resources is the educational software.
Software engineering has advanced in studies and research to keep up with the requirements of developing low cost, high quality, and software that is more complex.Solution to problems related to incompletion and inconsistence of requirements at the initial development phase of the software is one of the main obstacles of the software development process.To deal with these problems requirements engineering, which proposes a set of techniques, methodology, and tools capable of giving technical support and help on the production of quality software, have emerged more recently [19].
In this article, an experience account in obtaining adequately represented and modeled requirements that can be applied in the development of an educational software for visually impaired people is presented.It is defended the idea that by utilizing requirements-engineering techniques one can obtain requirements that really satisfy the user's expectation.In the educational software development area for the visually impaired, the exact characteristics and specifications of this user turn the requirements elicitation, analysis, and documentation process more critical, thus being the fundamental point for the success in developing this type of software.
The current article is structured as follows: In section 2, special education in the visual deficiency context is approached.This section content allows understanding concepts related to blindness and subnormal vision, using visual perception examples of people with impaired or subnormal vision.These specifications reinforce the necessity of adequately establish a set of requirements for the development of educational software for the visual impaired.In section 3, aspects related to pedagogical basis that gives support to the development of educational software for the visual impaired is presented.In section 4, an account of experiences observed in the elicitation, analysis, negotiation, and requirements documentation process of educational software for the visual impaired is presented.In section 5, the set of modeled and elicited requirements through the use cases at UML is presented.In section 6, requirements validation process is presented.In section 7, final considerations are made and future work is suggested.

Special Education in the Context of People With Impaired Vision
The continuous and significant growth on the use of communication and information technologies has provided people with swiftness when executing tasks related to work, education, and leisure.Among the vast diversity of people that comprise society, a small fraction needs special settings to access this technology: the impaired.
One of the relevant factors in the teaching and learning process of impaired people is the adapted educational material, but due to lack of availability of it in schools, the participation opportunity of a person with disabilities to take part in the educational process is reduced or, in many cases, simply excluded.Educational software is one of the alternatives that can minimize the disadvantage encountered by the visual impaired, compared to a normal person, in the learning process.
To define the necessary requirements for the development of an educational software for the visual impaired (blind or impaired vision people), it is important to understand, initially, the concept of blindness and impaired vision to, later, utilize requirements engineering techniques to obtain and elicit these requirements.In the educational process, visual function evaluation is used.Secondly, [9], blindness is characterized by total lack of vision in anticipation of the loss of light projection.In this case, the learning method happens through the integration of the senses: touch -kinesthesis -hearing -odorflavor, where the Braille system is used as the main mean of interpretation and writing.In pedagogical terms, a person with subnormal vision is one that reads amplified printed types or with the help of powerful optical devises.The educational process will be develop by visual means or visual residues even if the use of specific means is necessary.
To better understand visual deficiency dimension, as far as the capacity of the person to see, "Mona Lisa's" images are shown with visual perception of normal vision (Figure 1) and visual deficiency (subnormal or legal blindness vision) caused by different pathologies (Figure 2 and 3).Image perception by the visual system does not suffer alteration because there is no central vision or peripheral vision damage.In practical terms, cones (that are receptors or responsible for the central vision and color), and rods, (responsible for the perception occurred by the peripheral vision and by the adaptation of the eye in dim light and the perception of forms and images) are preserved.[9].The dark spot (scotoma) shown in figure 4 demonstrates the beginning of the pathology that, in time, will evolve into what is shown in figure 5, which demonstrates the condition in a very advanced The condition provokes optical nerve damage and visual field alterations that can lead to blindness.In most cases, there is an increase in the intra-ocular pressure.People with this pathology present impaired vision due to the loss of peripheral vision with visual field reduction.
The central point responsible for the central vision is the Macula.Damage in this region causes the person to see a dark or gray spot (scotoma) in the center of the perceived image.The person then makes use of the peripheral vision.
stage of macula's deterioration.Comparing figure 4 and 5 one can observe that there is an aggravation of the deterioration process with the increasing of dark spots.

Pedagogical Supporting Aspects for the Development of an Educational Software Directed to Serve Visually Impaired People
When approaching the question of educating visually impaired people, it is necessary to emphasize that the educational process must occur in the same manner as with a normal person, that is, one with normal vision.However, to accomplish that it is necessary to provide adequate material conditions to the visually impaired student's necessities, according to [9].For the subnormal vision student this condition is predominantly given through the use of specific optical sources capable of improving use condition of lingering visual residue which can be used in educational activities or for daily activities (personal hygiene, feeding, commuting, among others), providing larger autonomy and freedom to the visually impaired.For the blind student the educational process is the same.However, specifications are a bit differentiated, because in this case, the understanding of any given information is perceived through touch and hearing.Thus, anything that could help the blind in his/her educational process should at least meet these two conditions.
According to [22], school achievement of many visually impaired people is directly connected to the use of pedagogic resources adapted or developed for this type of student.The author observes that the student, due to its visual deficiency, does not show delay in his/her cognitive capacity, making necessary the use or development of pedagogical material specifically aimed to fulfill his/her necessities.After completing these conditions, according to the author, would be enough to facilitate and supply better conditions for the educational development and studying of visually impaired students.
As for [33], deficiency must be understood based on three aspects: 1) the conception of deficiency, which for this author is determined by the biological and social character of the deficiency; 2) social compensation concept; 3) the process related to the education of the impaired person.The deficiency's biological character corresponds to the deficiency itself (e.g., blindness, deafness, motor deficiency).On the other hand, the deficiency's social character corresponds to what the primary deficiency in itself can create as social consequence for the impaired person.This social consequence brought by the deficiency can stir up enormous difficulties for the social and educational development of the impaired person, consequently due to this condition; the result is the person's social exclusion process.
As for the deficiency social aspect, [33], underlines that two consequences of the deficiency can occur, one with a limitation factor, and another with a motivation factor.The limitation factor occurs when the impaired person tends to attribute a value to the primary deficiency thus increasing the gap between the deficiency's social aspect and normality's social aspect.The person's social and cognitive development possibilities end up being impaired.Because of this perception, the person would have only the limiting factor imposed by the deficiency or the primary imperfection as reference for his/her acts and behaviors.
The other consequence of the deficiency, the motivation factor, reveals itself as resultant from the minimization of the primary defect impact and the energy potentiality to overcome social consequences of the deficiency.In this manner, the deficient itself reduces the distance between the deficiency's social consequences and normality.The deficiency consequences can function as break or motion, allowing the person to overcome his/her limitations or subdue to them.
For Vigotski [33], these two extreme reactions are highly important because, for the person, they mean two distinctive compensation moments translated, on one side, by the accomplishment, or on the other side, by failure; both appearing as results in the social and cognitive development of the impaired person.
The main mean of reducing and minimizing possibilities related to the deficiency's social consequence is the concretization, in an adequate way, of the deficient person's educational process, creating opportunities so this person would be able to develop cognitively and socially.
Vygotski [33] integrationist theory establishes that people develop from social and historical relations witnessed throughout his/her life.In this sense, this author disagrees with the biology of the defect.Opposed to this condition, [13] positively states that cognitive development insufficiency of people with some sort of deficiency, is essentially due to the lack of an adequate education that is based in special procedures and methods that allow them a development like those of normal people.In this sense, according to him, if a visually impaired child has access to an adequate educational condition, especially in the initial stages of his/her formation; it will significantly intensify the possibilities to succeed whether in social, intellectual, or professional terms.Adler [15] corroborates with this idea saying that any individual personality is driven by the demands of his/her role in society, observing the importance of integrationist relations as foundation for the development of any one, impaired or not.
For [32], the integrationist process occurs in a social-historical and cultural environment, and it is measured through language, signs, and instruments.In this sense, human activity is the unchained condition of the necessity and development of the use of language, formation and understanding of signs, and planning and development of instruments capable of meeting the social necessities of a given era.In this sense, using language elements, meanings established by the signs and by the use of instruments mankind develop cognitively and socially.In this process, mankind understands its relation with the world and internalizes concepts and knowledge historically produced.
Computer and the educational software, seen in theory-pedagogical model of [32], can be characterized as mediator instruments in the teaching-learning relation for people with visual deficiency.Thus, educational software developed according to functional and non-functional requirements that consider the necessities of the visually impaired user (blind or with impaired vision) will certainly magnify possibilities of access and systematic content understanding in terms of formal education for these users.In this sense, technological resources (computer and software) will have an important social function promoting education inclusion and, consequently, social inclusion of visually impaired people.

Defining a Set of Requirements According to the Necessities of Blind and Visually Impaired People
When it comes to special education, requirements engineering contributes effectively applying techniques and executing activities related to the process of development of software to serve the blind and visually impaired user.However, it is noted that the majority of software developed for the vision impaired do not adequately meet these user's requirements mostly because of little or almost no consideration from developers as far as elicitation process, analysis, validation, and requirements documentation are concerned, making it imperative to form a set of requirements for this to happen.In this sense, the potential user (the visually impaired) need to be effectively integrated into the requirements engineering process.This is true when different levels of visual deficiency are observed according to figures shown in section 2. It is essential that the requirements meet user's specifications according to each different levels of deficiency, being this aspect considered to initiate the requirements elicitation process of an educational software for the visually impaired.
Initially, all essential application command aspects associated to visually impaired people were studied and analyzed to be adequately considered in the requirements engineering process.From the theoretical base established through literature revision, contact was made with (ACADEVI) [1], (Cascavel Association for the Visually Impaired) to explain the objective of the research.Working appointment was made with this association board of directors to discuss requirements for the development of educational software.
Four two-hour meetings were scheduled, from which three meetings were devoted to elicitation, analysis, and requirements negotiation and one meeting devoted to the process of validation.
Requirements were elicited using the interview and questionnaire technique respecting the user specifications.It was conditioned that the participants did not necessarily need to have computer knowledge or use a computer in their activities.The first meeting counted with the participation of blind and visually impaired people who held degrees that varied from middle school to college, besides the presence of the requirement engineer.The aspects related to pedagogical subject were analyzed by blind or impaired vision pedagogues who were part of the group defined by ACADEVI.Initially, explanation of the task to be performed was given, defining the requirement terms and its classification according to [19].
The following meetings occurred with a variable number of participants.However, their structure did not suffer alteration due to the presence of computer users with different levels of scholarship and similar visual deficiencies as those from the first meeting.In the third and final meeting for the requirements assessment, the work was finished, and it was validated that a set of functional and nonfunctional requirements were elicited.It was established that it would be necessary to hold another meeting so that the users could approve the requirements document.It was also established, with the group of people with visual deficiency that participated in all meetings, that some proposed requirements would be validated through a prototype.
Below are some of the requirements that were validated by the developed prototype.It is a Subset of requirements aimed to meet the necessities of the blind and visually impaired user.Requirement description follows the following structure: Requirement Identification / Requirement source / Requirement Description.
[RF-01] Activate system Source: Blind and visually impaired user When system is activated, it responds with sound all actions performed on ABNT keyboard.

[RF-02] Keyboard test Source: Blind and visually impaired user
The system allows the user to test the keyboard when the software is activated.

[RF-03] Activate on-line help Source: Blind and visually impaired user
The system notifies after activation of a pre-defined shortcut key and through sounds all user-software interaction key functions promptly during the use of the software.

[RF-04] Enlarge characters Source: Blind and visually impaired user
The system allows enlargement of text, words, and characters by activating pre-defined shortcut keys.

[RF-05] Identify and save last read line in the text Source: Blind and visually impaired user
The system allows identifications and saving of last read line in the text before closing the file, after activation of pre-defined shortcut keys.

[RF-06] Change font color Source: Visually impaired user
The system allows the user to change font color by clicking the mouse left button over one of the 16-bit pallet colors available on the bottom of the page.
[RF-07] Change screen color Source: Visually impaired user The system allows user to change background screen color by clicking the right mouse button over one of the 16-bit pallet colors available on the bottom of the page.

[RF-08] Activate voice synthesizer Source: Blind and visually impaired user
The system allows the use of voice synthesizer created by other tools.
It should be mentioned that in these meetings non-functional requirements where brought up.The definition process of these requirements where oriented using the technique proposed by [11] called NFR Framework.It implies affirming that users followed the non-functional requirements operationalization process by actively participating in the prototyping and definition of functional requirements necessary to satisfy non-functional aspects.An example of this type of analysis can be observed in figure 6, where Usability and Security/Data non-functional requirements for the educational software for the visually impaired were explored.
The symbolism adopted by NFR Framework represents non-functional requirements as cloud shapes with a thin outline, and operationalization as cloud shapes with a thicker outline.Full lines with arrows represents choices of operationalizations in order to achieve a particular non-functional requirement.The doted line represents negatively and positive contributions among softgoals and operationalizations.The symbol "X" symbol associated to the operations represents their rejection by thee users as means of satisfaction of associated non-functional requirements.The symbol "√" associated to the operations represents their acceptance by thee users as means of satisfaction of associated nonfunctional requirements.On figure 6, one can observe that NFR-Usability was determinant confirmed through activation of related aspects to the system functionalities, which were approved by the visually impaired users.These functionalities, reading speed definition, sound massage, on-line help, sound massage when finish printing, voice synthesizer use, on-line dictionary, served as parameters to confirm the system usability, which in turn was considered as the fundamental non-functional requirement to the demands established by this type of user's specifications.NFR-Security Data was also activated in relation to automatic-fiveminute save and last read line save.It is worth to point out that in this non-functional requirement evaluation, it was conferred with the visual impaired users the policy of implementation of the login/password, which was not confirmed for presenting a negative interdependency in relation to the use of the system, which was considered a priority by the system users.It can be observed by the symbol "X" next to Login/Password operation.
Thus, using requirements engineering techniques we can obtain and document requirements for an educational software for the visually impaired.However, requirements need to be documented later implementation.More recently, the use case technique has demonstrated being very effective in the development process.Use Cases have received a special attention in the object oriented development community.In fact, use case diagrams are part of the Unified Modeling Language (UML), a standard for visual modelling.This technique has been used in most object oriented development processes, such as Rational Unified Process -RUP [16], [20], and Catalysis [14].In this manner, aiming to propitiate that, requirements for educational software for the visually impaired computer user be effectively understood and implemented via the Object Oriented approach, the use cases for the already documented requirements were generated.
Next, we present the modeling of the results utilizing the use case technique, as well as experiences acquired in the process of obtaining them.
Each methodology has models that are utilized to document different aspects of the requirements.Thus, requirement-modeling activity is characterized by detailing all requirements defined in the evaluation.To initiate the modeling of the requirements, ideally they should have already been solicited, analyzed, and negotiated.However, in practice, even when modeled, the requirements might need to be altered, requiring going back to initial activities of the requirements engineering process.In this study, the experience of developing a software for the visual impaired, the use case modeling technique was utilized.This technique was chosen for integrating UML, a visual modeling standard language utilized in the development of object-oriented software.
According to [29] the use cases in Unified Modeling Language (UML) are utilized to describe the use of a system by actors, in this case, description of a sequence of steps and operations that a user have to execute to interact with the system for performing a task or reach a objective.Some experiences in the definition of the use cases occurred because they were performed jointly with blind and visually impaired users.In the use case "activate system" derived from RF-1(section 3), it was defined by the users that it was important to have shortcut keys and sound massage to facilitate software interaction, because for the blind the understanding of the information occurs predominantly through the kinesthetic system (touch) and hearing.In this aspect, lack of sound puts in evidence the necessity to add new shortcut key to confirm the operation that the software is executing at that moment.Computer-user interaction must bee propitiated for visually impaired users through linear answers because identification of answers emitted by the machine is, fundamentally, understood and comprehended via hearing tracks.Thus, linearity in the answers emitted by the machine must be maintained for other use cases.
It was verified that sound messages emitted by the system is an indispensable condition to promote user-computer interaction.However, these messages must be clear and objective, avoiding sound pollution many times unnecessary when using the software.Thus, it was concluded that it is necessary to have an option to interrupt the sound message activated by a key.Besides, according to these users, as one learns how to work with the software, the understanding of the messages becomes faster and consequently less used.
One of the definitions of use case that caused ambiguity was "mark text line".To eliminate discrepancy understanding the function mark, it became identify and save, whereas in their (users) understand, mark, means having sound identification of a text line.Identification of line is important for these users to retake the reading, because this condition allows them to pick up reading from were they left off.It was noted that the procedure adopted by the users to identify the last read text line was to white the line number somewhere.This condition always caused confusion to the user, after some days retaking the reading the user had a hard time remembering or finding the note with the line number that he had stopped.To solve this problem, it was suggested that the system became capable to perform this task identifying and saving the last read line of the text, before closing the file, thus, originating the use case Identify and save text last read line.
Due to these user's specifications it was essential to define use cases with their participation and collaboration, thus, avoiding reworking on the requirements engineering process.This condition also allowed requirement engineers wider understanding of the necessities of this type of user, what decisively contributed in the developed product's quality.
Below, in figure 7, are presented descriptions of use cases involving some of the requirements already solicited.

Validation Through Revisions and Prototyping
Validation activity was performed to verify if presented requirements in the document met all necessities and aspects that the user would whish from the proposed software.For the validation activity, revision and prototyping techniques were used.The revision technique is done through requirements revision performed by a group of people who analyze, discuss, and show ways to solve problems encountered during the elicitation process, analysis and negotiation, and specification.This revision was performed with the visually impaired that participated or not in the meetings intended for elicitation.In this revision, terms that were causing conflicts and ambiguities in requirements descriptions were adjusted.At the end of the meeting a document was created containing a set of 40 (forty) functional requirements and 11 (eleven) non-functional ones, which were validated by the blind and visually impaired users.
The prototyping technique consists in the development of a prototype.In this case, the prototype was used to validate some critical requirements pointed out by the users.The use of these techniques was necessary to detect and correct problems in the agreed requirements, thus helping in the activities and requirements analysis and it was fundamental in the validation process.
Through prototyping, the following requirements were validated: For example, to evaluate requirements "change screen color" and "change font color", creating an adequate contrast for the user with impaired vision, a screen with these conditions was developed.Tests were performed with many visually impaired users trying to identify best color options for the screen/font contrast.It was concluded, together with the users, that color choice was something personal and objective because users with the same visual pathology had emitted completed different responses, thus making difficult color definition that could provide contrast desired by a determined user according to his/her visual residue.Due to this corroboration, it was agreed, and approved by all users that participated in the process, that this requirement would be provided with the availability of the 16-bit color pellet already existed in Window®.This requirement was validated through the prototype, as shown on figure 9 and 10.Validations utilizing voice synthesizer and human voice recording were also made.Users defined that both options were valid, but human voice carried better quality, and it was more pleasant to hear.However, they defined that, depending of the user and software application domain, a human voice should be recorded especially when it is directed for children.In this case, software intended for firstgrade children education should meet this specification.In this manner, it was observed that requirements validation through prototype technique was of extreme importance because it allowed blind and visually impaired users to confirm their requirements validations.

Conclusion and Future Endeavor Proposal
In this article, questions related to special education specially directed towards the visual deficiency area which was the base of requirements systematization proposal for the development of educational software for blind and visually impaired people were shown.It is evidenced that it was of fundamental importance user participation in the elicitation process, analysis, documentation, and requirements validation.
It was observed in this experience that upgrade the requirements engineering process systematization allowed for significant better result, thus generating a set of agreed requirements, validated and documented certainly capable of make feasible the development of a quality computer software.This condition will promote great benefits to people with special needs, especially in the education and working sectors.
This study demonstrated that people with deficiency need to have access to computer resources to have an opportunity to grow professionally and educationally and consequently conquer social inclusion.In this aspect, technological resources provided by computer technology promote respect, dignity, and rupture the stigma attributed by society to visually impaired people.
Requirements presented in this article represent a sub-set of a total of 40 functional requirements and 11 non-functional requirements to be applied in the development of educational software.The total set of the requirements in this study is being used in the development of software for visually impaired people.Paraná State Government finances this project.Requirements presented in this study and related to visually impaired people are being used in the development of a screen enlargement system called Xlupa, also approved and financed by the Brazilian government through the National Technological and Scientific Development Council (Conselho Nacional de Desenvolvimento Cientifico e Tecnológico (CNPq).
Among the work related to software aimed to the visually impaired people, Ecrã Readers and Enlargers, Braille Translators, Document Enlargers [Portugal] can be mentioned.The requirements presented in these systems partially comply with the necessities of the visually impaired user.However, no literature of the bibliographic reference area or published articles that specifically board requirements engineering process on educational software for the visually impaired were found.
The people involved with the development of the software can promote the access to the blind and the visually impaired users as investment in research aimed to special education area are made, producing high quality and low cost system.This condition certainly implies the use of formal requirements engineering processes and techniques to be achieved.
Future endeavor: • Study to establish requirements to be applied in the development of software for people with cerebral palsy; • Develop studies for requirements application for implementing remote education system for the visually impaired.

Figure 1 -
Figure 1 -Visual Perception of a person with normal vision

Figure 2 -
Figure 2 -Visual perception of a person with glaucoma

Figure 3 -
Figure 3 -Visual perception with central vision damage

Figure 4 -
Figure 4 -Image of the damage of the Macula.The beginning of the process

Figure 5 -
Figure 5 -Evolution of macula damage with many scotomas (dark spots)

Figure 6 -
Figure 6 -Example of RNF system operation flow of the proposed system.

Figure 10 -
Figure 10 -Prototype screen with Figure 11 -Prototype screen with background background color / contrast font and font with enlarged font size with impaired font size