Académique Documents
Professionnel Documents
Culture Documents
Chapter 3 Methodology
3.1 Introduction A software development methodology is a framework that used to structure, design, develop and implement the project during software project development process. The methodology is very important because it can improve the quality of a software development effort. Choosing the right methodology can greatly decrease the duration as well as cost to develop a good quality software system. The figure 3.1 shows an activity diagram on how the process of methodology implement in this project.
Figure 3.1: An activity diagram on how the process of methodology implement in this project
27 | P a g e
FCSIT, University of Malaya 3.2 Methodology comparison There are many types of methodology can be used. Each of them has it own unique, strength, functionality and weakness. Choosing the right methodology can help to improve the quality of the software development. To choose the best methodology that suite the project, we have list down some criteria: 1. Fast development 2. Suitable to this project size 3. Able to examine by client from time to time This project is required to finish before October 2009. The duration given to finish this project may not enough. So the methodology that is fast development is rank as the first criteria. This project is a small scale project. So, the methodology chosen must be suitable to a small scale project to avoid any unnecessary consideration and work. This can help in save a lot of time to develop this software project. We rank able to examine by client from time to time as third criteria because this project may have changes from time to time. It is important to let the client examine it and give comment for the further modification. The table 3.1 shows several software development methodologies with it advantages and disadvantages: Table 3.1: Several software development methodologies with it advantages and disadvantages Methodology Description Advantages Disadvantages Waterfall model An activity centered life The cycle that proceeds development staged Do not accommodate to cycle frequently project.[31] change
requirements analysis and end All requirements gather Models with maintenance. completing
implicit
It and design out of the assumption that designs a first.[31] can be feasibly into real
emphasizes
translated
before proceeding to the next Suitable for large scale products.[31] phase[31] project.[32]
28 | P a g e
FCSIT, University of Malaya Prototyping model An activity centered life Early functionality. Able Tendency for difficult cycle that is the process of to examine by problem to be pushed to the future if not solve in the early
requirement from client and Provides a process to state.[32] then transform the perfect transform the Not flexible when have any additional
to the customer. If there are Suitable from small to changes.[33] new requirements, repeat the medium process.[32] Incremental model projects.[33] not set need Requires of interfaces at modules.[32] clean between scale
the length of the waterfall requirements model waterfall by in performs the once.[32]
overlapping
Tendency for difficult problem to be pushed to the future if not Resource can be held solve constant.[32] in the early
state.[32]
Spiral model
An activity centered life Control costs and risk Tendency for difficult cycle that used to overcome through the weakness of waterfall prototyping.[32] model and accommodate changes problem to be pushed to the future if not solve in the early
An activity centered life Owner of a problem can Can cycle that approach
be
difficult with
to first
software
FCSIT, University of Malaya increasing in concert with the Lower increasing complexity of costs.[32] maintenance
3.3 Methodology chosen After compare the several methodology states in the table 3.1, the prototype model is the most suitable using for this project. Prototype model is a process of developing software project by first gather requirements from client and then transform the requirements in to prototype. The prototype will show to the client for any changes. The prototype will be the product in due course. Prototyping model is comprised into 3 prototyping types which are: 1. Evolutionary 2. Experimental 3. Exploratory In evolutionary prototype, the software for a system is adapted gradually, by changing the requirements step by step as these become clearer with use, and changing the system to fit these. Prototyping is used to develop a product and the prototype gradually evolves into the end product. In experimental prototype, the prototype is used to evaluating a possible solution to a problem by developing it in advance of large-scale implementation. It is a throw away form and might be implemented in a form that quite different from the final product. In exploratory prototype, a prototype is used to help with clarifying user requirements and possibly with identifying how the introduction of the system might lead to the need to modify the wider work practices of an organization. It also is a throw away prototype.
30 | P a g e
FCSIT, University of Malaya For this project, the evolutionary prototype model is used because we can start the prototype at early stage and then improve it to become a complete final product. Prototyping model is comprised into 8 parts: 1) User requirement gathering 2) Prototype design 3) Prototype implementation 4) Prototype evaluation by user 5) Requirement for changes 6) System and user acceptance test 7) System conversion 8) System operation and maintenance
31 | P a g e
FCSIT, University of Malaya The figure 3.2 shows the prototyping model.
32 | P a g e
FCSIT, University of Malaya The prototyping methodology is chosen for this project because it meets all the criteria stated: 1) Fast development, 2) Suitable to this project size, 3) Able to examine by client from time to time. By using prototyping methodology, this project will be able complete on time. The prototyping methodology is suitable for small to medium scale project so it is suitable for this project. Prototype methodology allowed client examine from time to time will be able to support client requirement changes in the middle of the development process. The client will be able to judge the system functionality, user interface design and others before the system is completed. Besides, prototyping methodology also has other advantages like higher user satisfaction and save project development process resources such as manpower.
3.4 Requirement gathering 3.4.1 Interview We gather all the functional and non-functional requirements of this project system form the interview conduct with Assoc. Prof. Dr. Kim Kah Hwi from Department of Physiology, Faculty of Medicine, University Malaya. The detail of the interview will be included in the Appendix Section.
3.4.2 Information gathered from Internet We have gathered the information about the wave of the human brain especially alpha wave and theta wave from the internet. This is because alpha wave is one of the causes that reflect human memory, relaxation and sleep disorder. Besides, we also research on the biofeedback training. We have collected a lot of useful information about the biofeedback training which can enhanced the alpha wave. We also have gathered the information about the brain builder from the internet. We try to get the information about the existing system in the market and see how it works. Most of the information gather from internet have been use for literature review in the previous chapter. All information gathers will be further analysis and use as the reference when developing the system.
33 | P a g e