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.
(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 email@example.com firstname.lastname@example.org Sardar Zafar Iqbal Department of Computer Sciences, Iqra University, Islamabad Pakistan email@example.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 . 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”. 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 . 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” . 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 . Figure specification, Design, Coding, Testing and Debugging, 2.7 given below shows the prototyping paradigm . 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 . 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  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 . 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 . 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 . 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 . 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 , 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 . 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 . 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 . 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 . 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  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  Sommerville I. Software Engineering, China: Addison- (Disciplines) Wesley 2006 8th Edition. pp 08.  Madachy R.J., Software Process Dynamics, New Jersey: IEEE Press, John Wiley & Sons, 2007, pp 07.  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  Capretz L. F. “Y: A New Component-Based Software Life Cycle Model”. Journal of Computer Science 2005.  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  Sommerville I. Software Engineering, China: Addison-Wesley 2006 8th Edition. pp 71  Jalote P., “Chapter 2: Software Processes” in A Concise Introduction to Software Engineering, London: Springer 2008, pp 17-30.  Pressman R. S., “Chapter 02: The Process” Software Engineering, A Practitioner Approach”, 5th ed. New York: McGraw-Hill, 2001, pp 31-35.  B.W. Boehm, “A Spiral Model for Software Development and Enhancement”, ACM SIGSOFT Software Engineering Notes. August 1986, vol. 11 pp 14-24.  Juric R. “Extreme Programming and its development practices”. IEEE 22"' International Conference on Information Technology. June 2000 pp 97-104.  Sommerville I. Software Engineering, China: Addison- Wesley 2006 8th Edition. pp 398  Requirement Analysis (2010), http://en.wikipedia.org/wiki/Requirements_analysis, [June 22, 2010]  Jalote P., “Chapter 3: Software Requirement Analysis and Specification” in A Concise Introduction to Software Engineering, London: Springer 2008, pp 64.  Model-View-Controller (2010), http://en.wikipedia.org/wiki/Model-View-Controller. [June 22, 2010].  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
Pages to are hidden for
"Design of Novel Usability Driven Software Process Model"Please download to view full document