Design of Novel Usability Driven Software Process Model

Document Sample
Design of Novel Usability Driven Software Process Model Powered By Docstoc
					                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 8, No. 9, December 2010




                                Design of Novel Usability Driven
                                    Software Process Model
                          Hina Gull                                                             Farooque Azam
           Department of Computer Engineering,                                       Department of Computer Engineering,
        College of Electrical & Mechanical Engineering                            College of Electrical & Mechanical Engineering
                 NUSTRawalpindi Pakistan                                                   NUSTRawalpindi Pakistan
                   hina.gull03@gmail.com                                                   farooq@ceme.nust.edu.pk


                       Sardar Zafar Iqbal
               Department of Computer Sciences,
                Iqra University, Islamabad Pakistan
                    zafar.iqbal38@gmail.com



Abstract- In this paper we have proposed a novel software                   software process models. Section III contains the proposed
process model for web based applications. This model is based
                                                                            model Section IV contains the Conclusion and Future Work.
on the empirical study carried out by us and also by the
literature review of software development models. Model
consists of three phases: Requirement Engineering, Design and                                      I.   BACKGROUND
Implementation. Model contains certain sub activities in each               A set of activities whose goal is the development and
phase describing the flow and steps which should be followed                evaluation of a software product is called a software process.
to develop a web application. The main emphasis of the model                [1]. General definition given by the commonly accepted
is on usability aspect, keeping in view the criticality of the user
                                                                            Software Engineering Institute’s Capability Maturity Model
interface for a good web application. Flexible and easy change
manageable nature of the model makes it different and worth                 (SEI CMM) is “A software process is a set of activities,
using as compared to other software development approaches.                 methods, practices, and transformations used by people to
                                                                            develop software”[2]. Software development process
                      I.   INTRODUCTION                                     constitutes the following activities:
                                                                             Requirements engineering: aims at understanding the
The rigorous use of web application has produced a
                                                                                 problem.
mounting interest in the development of methodological
approaches providing a suitable support for the construction                 Design: aims at planning a solution to the problem.
of web applications and other software applications. Several                 Implementation: translates the plan into running
research groups proposed methodologies, processes and                            application code.
models to build software applications. Several software                      Testing: aims at identifying coding errors or
process models (discussed in Section II) were studied and                        inconsistencies between the collected requirements and
analyzed properly and thoroughly. The analysis revealed that                     their implementation.
there are some limitations in the existing models. Hence                     Deployment: brings the solution to the customers.
there arises a need to development of new customized model                   Maintenance: aims at monitoring a running system and
to accommodate the needs of any web application.                                 keeping it healthy and running.
This paper presents novel usability driven web based                        A literature review of history of software development life
software process model, which proposes to build the web                     cycle dates back to 1960s. Working for the US department of
application in three phases, containing back and forth                      defence A. Enthoven and Henry Rowan developed a
movement from one phase to another to accommodate                           heuristic process for managing large information system
changes at any phase. The paper contains the core                           project [3]. This process defines linear set of stages for
methodology behind the model and different phases, how                      project development that could be recycled as needed.
they relate to each other and how they contribute to web                    Winston Royce introduced the first model for software
application design and structure. The paper is organized as                 development in 1970 in his paper “Managing the
follows: Section II contains the background study of existing               development of large software systems” [4]. Following is the
                                                                            description of the model given by him:




                                                                      46                             http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                      Vol. 8, No. 9, December 2010




A. Waterfall Process Model                                              basic idea was producing a throwaway prototype to help in
    Waterfall model is recognized as Classic Life Cycle                 understanding the requirements instead of freezing the
Model or Linear Sequential Model. This was the first                    requirements before any design or coding can proceed. The
stepwise sequential model given in 1970 by Winston W.                   prototype is produced on the basis of currently available set
Royce. Because of the cascading effect from one phase to                of requirements. The prototype helps customer to get the
another this model is known as the waterfall model. The                 real look and feel of the system, enabling them to better
model formed the basis for most software development                    understand what they actually want, leading more required
standards and consists of the following phases: Requirements            features of the system and less frequent changes [7]. Figure
specification, Design, Coding, Testing and Debugging,                   2.7 given below shows the prototyping paradigm [8]. The
Installation and Maintenance.                                           paradigm begins with requirement gathering. Overall
                                                                        objectives of the system are defined in the meeting of
B. V Software Process Model                                             developers and customers, identifying the main
     V Model is considered to be the extension of the                   requirements for the system leading to a quick design. This
waterfall model. After moving in the linear fashion the                 quick design represents the aspects of the system that are
process steps are bent upward after the coding phase. For               visible to the users. The design leads to a prototype of the
top-down SE (i.e., forward engineering), the process starts             system. The prototype is given to customer/user for
on the upper left and goes to the upper right. For bottom-up            evaluation. After exploring the prototype customer/user
(i.e., reverse engineering), it starts on the upper right and           provides developers with their feedback i.e. what is correct,
goes to the upper left. It is commonly used to identify the             what needs to be modified, what is missing, what is not
relationship between the development phase and the testing              needed, etc. Based on the feedback, the prototype is
phase. V- Model is shown in figure given below. The model               modified to incorporate some of the suggested changes that
follows a well structured method in which each phase is                 can be done easily, and then the users and the clients are
implemented by the detailed documentation of the previous               again allowed to use the system. Iteration occurs as the
phase [5].                                                              prototype is tuned to satisfy the needs of the customer, while
     V- Model consists of number of phases. At the left side            at the same time enabling the developer to better understand
of the model, verifications phases are there, coding is at the          what needs to be done.
bottom and validation phases are at the right side of the V.
                                                                        E. Spiral Model
C. Incremental Development Model                                             Spiral Model [9] is an evolutionary development model,
    “The incremental model delivers software in small,                  originally proposed by Boehm. It is said to be the risk driven
usable pieces, called “increments. In general, each                     model combining iterative nature of prototype model and
increment builds on those that have already been delivered.”            systematic aspects of linear sequential model. It can
(Roger S. Pressman).                                                    accommodate other models as special cases and provides
    Waterfall model of the software development requires its            guidance to determine which combination of models best
users to commit the requirement phase before the design                 fits a given situation. The spiral model has evolved through
begins and the designer to commit specific design strategies            practical experience after implementation of complex
to commit design before implementation. Changes to the                  government projects with new innovations in waterfall
requirements require rework on requirements, design and                 model in several years. The radial dimension model
implementation [6]. Keeping these weaknesses of the                     represents the growing cost required in bring about the steps
waterfall in view incremental development model was                     to date; the angular dimension track the evolution made in
developed. It sets off with an initial planning and ends with           completing each cycle of the spiral. It is called risk-driven
deployment with the cyclic connections in between.                      because it identifies areas of uncertainties that are sources of
As calendar time progresses, Incremental model applies                  project risk and structures activities based on the risks. The
linear sequences in a staggered fashion. Each linear                    development proceeds in repeating cycles of determining
sequence delivers an increment of the software. All                     objectives, evaluating alternatives, prototyping and
requirements are determined initially and individual                    developing, and then planning the next cycle. Each cycle
increments are allocated with subsets of requirements. The              involves a progression that addresses the same sequence of
increments are developed in sequential series, with each                steps for each portion of the product and for each level of
incremental release adding functionality. The incremental               elaboration. Development builds on top of the results of
approach lessens overall effort leading to the earlier delivery         previous spirals.
of initial system to the customer. Typically, there is more             Each cycle of the spiral commence with the recognition of
effort in requirements analysis and design, and less for                 The intention i.e. (performance, functionality, ability to
coding and integration due to which the overall schedule                      accommodate change, etc.);
may lengthen.                                                            The unconventional resources i.e. (design A, design B,
                                                                              reuse, buy, etc.);
D. Prototype Model
                                                                         The constriction i.e. (cost, schedule, interface, etc.).
   The goal of a prototyping-based development process is
to overcome the limitations of the waterfall model. The




                                                                  47                             http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                      Vol. 8, No. 9, December 2010




F. Extreme Programming (XP)                                                  gathering to the web based software’s testing and
    XP is considered to be the lightweight methodology                       deployment. It is complete in the sense it appears as an
proven to be the efficient, low-risk, flexible, predictable and              entire process to build a web based software
scientific [10]. It is designed for smaller projects and teams               application. It covers all the activities rendered for
of two to ten programmers, which results in efficient testing                software development from requirement elicitation to
and running of given solutions in a small amount of time. Its                design, coding and testing. Model contains certain sub
incremental planning approach and solid and continuing                       activities in each phase describing the flow and steps
feedback from short cycles of the software development                       which should be followed to develop a web application.
allow an evolutionary design process that lasts as long as its               The main emphasis of the model is on usability aspect,
system. XP believes that changes are expected and rather                     keeping in view the criticality of the user interface for a
than treating changes as undesirable, development should                     good web application. Flexible and easy change
squeeze change. And to accommodate change, the                               manageable nature of the model makes it different and
development process has to be lightweight and quick to                       worth using as compared to other development
respond. For this, it develops software iteratively, and                     approaches of web based applications.
avoids reliance on detailed and multiple documents which                               Model progresses in linear fashion if no
are hard to maintain. Instead it relies on face-to-face                      change arrives, but the moment as these changes come
communication, simplicity, and feedback to ensure that the                   across, model find its way back to the phase wherever
desired changes are quickly and correctly reflected in the                   this change needs to be accommodated. This back and
programs [7].                                                                forth movement of the model makes the difference in
In XP, the process starts with the requirements which are                    any environment to accommodate change.
expressed as user stories which are short (a few sentences)                  a.  Model Principles
descriptions of what scenarios the customers and users
                                                                                 Following are some of the principles which laid the
would like the system to do. They are different from
                                                                             foundation of the novel web development model:
traditional requirements specification as the user stories do
not contain detailed requirements which are to be exposed                     Flexibility & Change Management: Organizations
only when the story is to be implemented, therefore                              and information are often changing so quickly that
allowing the details to be decided as late as possible. Each                     the information provided on web sites soon
story is written on a separate card, so they can be flexibly                     becomes out of date. If a web site has not been
grouped. The authorized development team estimates how                           updated for several months, the confidence of the
long it will take to implement a user story. The estimates are                   users in the provided information will probably not
rough, generally stated in weeks. Using these estimates and                      be very high. Hence change management is main
the stories, release planning is done which defines which                        focus of the model to cope with the changes.
system release will contain which stories to be implemented                   Attain Usability: Main concern of the web
in. The dates of these releases are also decided. XP                             application is the providence of a user friendly
encourages frequent and small releases. Programmers work                         interface. Model promotes methodology that will
in pairs and develop tests (acceptance tests) for each task                      lead to a user friendly web application
before writing the code. All tests must be successfully                          development.
executed when new code is integrated into the system [11].                    Evolve by continuously obtain feedback and
Bugs found during the acceptance testing for iteration can                       improve: This principle promotes practices that
form work items for the next iteration.                                          allow the team to get early and continuous
                                                                                 feedback from stakeholders about requirements and
G. Win Win Spiral Model:                                                         other issues leading to correct and in time delivery
     In Win Win Spiral Model [8], the developer and                              of the web application.
customer end up in negotiating various requirements based
                                                                             B. How Usability Driven Web Based Software
on functionality, performance, cost, time, etc. The best
                                                                                 Process Model is organized?
negotiation strives for a “win-win” result. The detailed risk
analysis imposing many different constraints, objectives &                       Model can be organized into two linked
alternatives consume a lot of time. But never are these risks                dimensions: method content and process content. The
specifically mentioned and vary project to project [9].                      method content is where method elements are defined
                                                                             (namely roles, tasks or sub phases, and artifacts). The
                   II.   PROPOSED MODEL                                      process content is where the elements of method
                                                                             content are applied in a predefined and chronological
    A. What is Usability Driven Web based Software                           manner.
        Process Model?
        Proposed Usability Driven Web based software
    process model is a software development model
    especially meant for web based software, containing
    several stages or phases from static information




                                                                  48                             http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                    Vol. 8, No. 9, December 2010




    b. Method Content:                                                officials of E&ME, who keep sending new requirement as
                                                                      well as can change any requirement at any time), so this
       Roles                                                         model includes requirement change management process
        The essential skills needed by team members to                (Figure 4) keeping in view the above mentioned issue of
    develop a web application using this model are                    requirements, so that requirement changeability or new
    represented by Roles:                                             requirements can be easily accommodated.
    o Stakeholder represents interest groups whose
        needs must be satisfied by the Project developed by              Tasks (Sub-Activities):
        the model. It is a role that may be played by anyone              Each phase of the model consists of several tasks or
        who is (or potentially will be) materially affected           sub-activities.
        by the outcome of the project                                 o Requirement Engineering Sub-Activities:
    o System Analyst represents customer and end-user                     Requirement engineering phase consists of the
        concerns by gathering input from stakeholders to                  following sub activities:
        understand the problem to be solved and by                              o Requirement Elicitation
        capturing and setting priorities for requirements.                      o Requirement Analysis
    o Designer is responsible for designing the software                        o Requirement Specification
        architecture and other design concerns (Class                           o Requirement Testing
        diagram, Activity Diagram, Domain Model,                                o Requirement Change Management
        Presentation Model, Navigational Model), which                o Design Sub-Activities: Design phase has following sub
        includes making the key technical decisions that                  activities:
        constrain the overall design and implementation of                      o Architectural Design
        the project.                                                            o Conceptual Design
    o Developer is responsible for developing and                               o Presentational Design
        implementing the system.                                                o Navigational Design
    o Tester is responsible for the core activities of the            o Implementation Sub-Activities: Implementation phase
        test effort, such as identifying, defining,                       has following activities:
        implementing, and conducting the necessary tests,                       o Coding
        as well as logging the outcomes of the testing and                      o Unit Testing
        analyzing the results.                                                  o Integration testing
    o Project Manager leads the planning of the project                         o Heuristic Evaluation
        in collaboration with stakeholders and team,                            o Deployment
        coordinates interactions with the stakeholders, and                    The sketch of the whole model is given in Figure 2.
        keeps the project team focused on meeting the
        project objectives.                                               Artifacts
    o Any Role represents anyone on the team that can                      An artifact is something that is produced, modified, or
        perform general tasks.                                        used by a task. Roles are responsible for creating and
                                                                      updating artifacts. Artifacts are subject to version control
    Disciplines (Model Phases)                                       throughout the project lifecycle. Following are some of the
     Following are the main phases of the model:                      artifacts that should be produced during the development of
      Requirement Engineering                                        the project using the proposed approach:
      Design                                                               Requirement Draft: Containing the initial
      Implementation                                                           requirements given by the users.
     The model mainly consists of three phases:                             Software Requirement Specification: Containing
Requirement Engineering, Design and implementation.                             the detail description of the requirements after
Each phase is further sub divided into sub phases or                            analysis.
activities which form the basic flow of the model. The main                 Requirement Testing Document: Containing the
feature of the model includes its flexibility i.e. the                          test cases for checking the requirements.
movement from any phase to another. The forward flow of                     Design Document: Containing the architectural,
the model suggests that one can move from requirement                           conceptual, navigational and presentational design
engineering phase to Design phase, then to the                                  of the software to be produced.
implementation phase. The model does not freeze any                         Code Document: Containing the code of the
phase, one can easily move from design to requirement                           software.
engineering phase and from implementation to requirement                    Heuristic Evaluation Document: Containing the
engineering and design.                                                         reviews of the evaluators about the interface of the
The model can easily accommodate changes even later in                          web application.
the development cycle, due to its ability to move to any                    Test Document: Containing the unit and
prior phase. The major issue with the ERP development was                       integration test plans for the web applications.
its changing and upcoming requirements (as customers were




                                                               49                              http://sites.google.com/site/ijcsis/
                                                                                               ISSN 1947-5500
                                                                (IJCSIS) International Journal of Computer Science and Information Security,
                                                                Vol. 8, No. 9, December 2010




c. Process Content                                                                The goal of the requirement analysis activity is to evaluate
                                                                                  the requirements gathered in Requirement Elicitation
    Process (Working of the Model)                                               activity. The requirements are analyzed on the basis of
     Proposed usability driven web based software model                           several properties i.e. clarity, completeness, contradiction,
starts with the requirement engineering phase. Requirement                        ambiguity etc [12]. The activity involves understanding the
Engineering is the iterative phase containing requirement                         relationship among different requirements and shaping those
elicitation, requirement analysis, requirement specification,                     relationships to achieve a successful result. In this activity,
requirement validation,       requirement     testing,   and                      requirements are divided into three categories:
requirement change management. The phase starts with the                          a) Functional Requirements
requirement elicitation activity and ends up with the                             b) Non-Functional Requirements
requirement change management. In the whole process new                           c) Usability Requirements
requirements can arrive at any stage which needs to be                            Then, analysts read the requirement draft, highlight the
accommodated. Phases of the proposed model are there in                           problems in Functional, Non functional and usability
the coming section.                                                               requirements. They have to pass the requirement draft
                                                                                  through several stages such as Necessity checking,
                                                                                  Consistency and Completeness check, and feasibility
                                                                                  checking. In necessity checking analyst has to determine the
                                                                                  need for the requirements, whether they are contributing to
                                                                                  the goal of the business or not. Consistency and
                                                                                  Completeness checking involves to make it sure that no
                                                                                  requirements are contradictory and are not incomplete or
                                                                                  missed out. While in feasibility checking it is ensured that
                                                                                  the requirements are feasible in the context of budget,
                                                                                  schedule and technology. Here, model considered Usability
                                                                                  requirements as separate entity due to the fact the Usability
                                                                                  is the core and important consideration in the web
                                                                                  development environment. After analysis the analysts will
                                                                                  come up with errors and problems in the requirements such
                                                                                  as infeasible, inconsistent, incomplete and unnecessary
                                                                                  requirements, which are then negotiated with the customer
                                                                                  to come up with the requirements which are free of these
                                                                                  problems.
                                                                                  Next activity in the requirement engineering phase is to
                                                                                  come up with a complete Software requirement
                                                                                  specification. In this activity analyst has to document all
                                                                                  requirements (Functional, Non functional and Usability).
                                                                                  SRS should be documented according to the world wide
                                                                                  accepted standards so that it should clearly state all the
                                                                                  requirements of the product.
                                                                                  The basic objective of requirement validation activity is to
                                                                                  ensure that the SRS should imitate the actual and crucial
                                                                                  requirements accurately and clearly. In this activity, SRS is
    Figure 1: Proposed Usability Driven Web based Software Process Model
                                                                                  inspected and reviewed by the customer to find errors and
                                                                                  other matters of concern in the requirements of the system.
      Model Phases:
                                                                                  In this review it is only validated whether the requirements
                                                                                  are correct or not, other factors such as quality, readability,
Phase-1: Requirement Engineering
                                                                                  testability and user interface in particular are also
Main requirement engineering process consists of several                          considered. If requirements are reviewed and validated, not
phases. Detailed description of each phase is given here as                       only a substantial fraction of the errors are detected by them,
under:                                                                            but a vast majority of the remaining errors are detected soon
Requirement elicitation involves extracting the right                             afterward in the design activity [13].
information from the stakeholders and users. Information                               Next sub activity requirement testing involves the tests
can be gathered from several sources such as by documents,                        cases to be produced to check the requirements whether they
legacy applications, interviews etc. In this phase all kind of                    are correct, complete, consistent, measurable, quantifiable,
requirements such as Functional and Non functional                                traceable and current.
requirements are gathered. As usability is the main concern                            Requirement management is the next sub activity in the
in web application development, in particular the user                            proposed web development model. Change Management
interface requirements are also be focused and gathered.




                                                                           50                              http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                        Vol. 8, No. 9, December 2010




process starts with the change request i.e. when a request for            to specify the navigability through the content of web
any requirement arrives. The request may consist of new                   application i.e., the navigation path available to the user.
requirements or can be any change to the existing                             Next model that we design in our web application
requirements. The requirement then can be analyzed on the                 development is the presentation model. It aims at
basis of its impact, whether it is feasible to the system in its          designing the structure and behaviour of the user interface.
each and every respect or not.                                            In addition, the communication and representation task of
     After impact analysis if the requirement under                       the Web application are taken into account.
consideration is found to be feasible, is approved and placed
in the requirement document with the rationale for the                    Phase-3: Implementation
change. If the requirement is not feasible it is negotiated                    After designing, it is time to implement what we have
with the customer, then is approved or discarded.                         designed so far. The phase (Figure 3) evolves with the
                                                                          actual coding of the web application and afterwards
Phase-2: Design                                                           conducting the tests. The implementation is divided into
Design phase of the proposed web development model is                     following activities:
given below:                                                              Coding involves implementation of classes and objects
                                                                          involved in the system. The coding is done in units and then
                                                                          these units are integrated to form a whole working system.
                                                                          Heuristic Evaluation is the method of usability analysis
                                                                          where a number of evaluators are presented with user
                                                                          interface design and are asked to comment on it. They tried
                                                                          to come up with the opinion what is good and bad in the
                                                                          interface. Heuristic evaluation is usually carried out by the
                                                                          small set of evaluators. They evaluate the user interface
                                                                          design and judge its compliance with recognized usability
                                                                          principles which are commonly called as heuristics [15].
                                                                          The result of this evaluation will be the related usability
                                                                          issues or problems with references to those usability
                                                                          principles that were violated by the design in each case in
                                                                          the opinion of the evaluator.
                                                                          Next activity is the unit testing. As the system is developed
                                                                          in units, so unit testing will play an important role to find
                                                                          the bugs in the system. The primary goal of the unit testing
                                                                          is to take the smallest piece of software and determine
                                                                          whether it is behaving exactly as we expect or not.
             Figure 2: Design Phase of Proposed Model
                                                                          Integration testing involves combining the individual
    Phase starts by designing the architectural model of the              modules and then testing them as a group. It involves taking
web application to be developed. The architectural design is              the different modules as input which are unit tested, groups
based on Model View Controller [14] design pattern.                       them in larger aggregates, applies tests defined in an
Conceptual design consists of various models such as                      integration test plan to those aggregates, and delivers as its
 Domain Model: Domain Model represents the basic                         output the integrated system.
     entities and their relationships, and also encapsulates              The purpose of the deployment is to successfully produce
     the business logic.                                                  product releases, and deliver the software to its end users.
                                                                          Following tables (Table 1, Table 2 and Table 3) portrays the
 Sequence Diagram: are constructed to show the overall
                                                                          relationship between the method content and process
     workflow of the system. They can be used to describe
                                                                          content of proposed model:
     the business and operational step-by-step workflows of
     components in a system.
 Class Diagram: In the conceptual design of a system, a
     number of classes are identified and grouped together in
     a class diagram which helps to determine the statical
     relations between them. Class Diagram shows different
     classes, their attributes and functions also.
While modeling web application, the non-linearity of
hypertext is the most important consideration taken into
account. Thus, it is very important to design hypertext
structure. So, the next step in web process model is to
design the navigational or hypertext model. The objective
of the hypertext model also called as navigational model is




                                                                   51                              http://sites.google.com/site/ijcsis/
                                                                                                   ISSN 1947-5500
                                                               (IJCSIS) International Journal of Computer Science and Information Security,
                                                               Vol. 8, No. 9, December 2010




Table 1: Process Content with their corresponding Method Content (Roles)                               III. CONCLUSION
                                                                                    Proposed usability driven web based software process
                                                                                 model is meant for delivering the product in three simple
                                                                                 phases. The main feature of the model includes its flexibility
                                                                                 i.e. the movement from any phase to another. The model
                                                                                 does not freeze any phase, one can easily move from design
                                                                                 to requirement engineering phase and from implementation
                                                                                 to requirement engineering and design. A flexible and
                                                                                 structured approach of web development is followed that
                                                                                 emphasizes the continuous delivery of quality software that
                                                                                 is valuable to stakeholders.




   Table 2: Process Content with their corresponding Method Content
                              (Artifacts)




                                                                                                    Figure 1: Implementation Phase

                                                                                                           REFERENCES

   Table 3: Process Content with their corresponding Method Content
                                                                                 [1] Sommerville I. Software Engineering, China: Addison-
                             (Disciplines)                                            Wesley 2006 8th Edition. pp 08.
                                                                                 [2] Madachy R.J., Software Process Dynamics, New
                                                                                      Jersey: IEEE Press, John Wiley & Sons, 2007, pp 07.
                                                                                 [3] Humphrey W., “Comments on eXtreme
                                                                                      Programming”, eXtreme Programming Pros and Cons:
                                                                                      What Questions Remain”, IEEE Computer Society
                                                                                      Dynabook. September 2001, Available at:
                                                                                      http://www.computer.org/SEweb/Dynabook/Humphrey
                                                                                      Com.htm
                                                                                 [4] Capretz L. F. “Y: A New Component-Based Software
                                                                                      Life Cycle Model”. Journal of Computer Science 2005.
                                                                                 [5] V-Model (Software Development), Internet:
                                                                                      http://en.wikipedia.org/wiki/V-
                                                                                      Model_(software_development) [May 21, 2010].




                                                                           52                             http://sites.google.com/site/ijcsis/
                                                                                                          ISSN 1947-5500
                                                     (IJCSIS) International Journal of Computer Science and Information Security,
                                                     Vol. 8, No. 9, December 2010




[6] Sommerville I. Software Engineering, China:
    Addison-Wesley 2006 8th Edition. pp 71
[7] Jalote P., “Chapter 2: Software Processes” in A Concise
    Introduction to Software Engineering, London:
    Springer 2008, pp 17-30.
[8] Pressman R. S., “Chapter 02: The Process” Software
    Engineering, A Practitioner Approach”, 5th ed. New
    York: McGraw-Hill, 2001, pp 31-35.
[9] B.W. Boehm, “A Spiral Model for Software
    Development and Enhancement”, ACM SIGSOFT
    Software Engineering Notes. August 1986, vol. 11 pp
    14-24.
[10] Juric R. “Extreme Programming and its development
    practices”. IEEE 22"' International Conference on
    Information Technology. June 2000 pp 97-104.
[11] Sommerville I. Software Engineering, China: Addison-
    Wesley 2006 8th Edition. pp 398
[12] Requirement Analysis (2010),
    http://en.wikipedia.org/wiki/Requirements_analysis,
    [June 22, 2010]
[13] Jalote P., “Chapter 3: Software Requirement Analysis
    and Specification” in A Concise Introduction to
    Software Engineering, London: Springer 2008, pp 64.
[14] Model-View-Controller (2010),
    http://en.wikipedia.org/wiki/Model-View-Controller.
    [June 22, 2010].
[15] Nielsen, J. and Molich, R. "Heuristic Evaluation of
    User Interfaces ", ACM CHI'90 Conference on Human
    Factors in Computing Systems, 1990 pp. 249-256.




                                                                53                              http://sites.google.com/site/ijcsis/
                                                                                                ISSN 1947-5500

				
DOCUMENT INFO
Description: The International Journal of Computer Science and Information Security (IJCSIS) is a well-established publication venue on novel research in computer science and information security. The year 2010 has been very eventful and encouraging for all IJCSIS authors/researchers and IJCSIS technical committee, as we see more and more interest in IJCSIS research publications. IJCSIS is now empowered by over thousands of academics, researchers, authors/reviewers/students and research organizations. Reaching this milestone would not have been possible without the support, feedback, and continuous engagement of our authors and reviewers. Field coverage includes: security infrastructures, network security: Internet security, content protection, cryptography, steganography and formal methods in information security; multimedia systems, software, information systems, intelligent systems, web services, data mining, wireless communication, networking and technologies, innovation technology and management. ( See monthly Call for Papers) We are grateful to our reviewers for providing valuable comments. IJCSIS December 2010 issue (Vol. 8, No. 9) has paper acceptance rate of nearly 35%. We wish everyone a successful scientific research year on 2011. Available at http://sites.google.com/site/ijcsis/ IJCSIS Vol. 8, No. 9, December 2010 Edition ISSN 1947-5500 � IJCSIS, USA.