Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
1Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Design of Novel Usability Driven Software Process Model

Design of Novel Usability Driven Software Process Model

Ratings: (0)|Views: 834|Likes:
Published by ijcsis
In this paper we have proposed a novel software process model for web based applications. This model is based 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 Implementation. Model contains certain sub activities in each phase describing the flow and steps which should be followed to develop a web application. The main emphasis of the model is on usability aspect, keeping in view the criticality of the user interface for a good web application. Flexible and easy change manageable nature of the model makes it different and worth using as compared to other software development approaches.
In this paper we have proposed a novel software process model for web based applications. This model is based 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 Implementation. Model contains certain sub activities in each phase describing the flow and steps which should be followed to develop a web application. The main emphasis of the model is on usability aspect, keeping in view the criticality of the user interface for a good web application. Flexible and easy change manageable nature of the model makes it different and worth using as compared to other software development approaches.

More info:

Published by: ijcsis on Jan 20, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See More
See less

01/20/2011

pdf

text

original

 
  Abstract-
In this paper we have proposed a novel softwareprocess model for web based applications. This model is basedon the empirical study carried out by us and also by theliterature review of software development models. Modelconsists of three phases: Requirement Engineering, Design andImplementation. Model contains certain sub activities in eachphase describing the flow and steps which should be followedto develop a web application. The main emphasis of the modelis on usability aspect, keeping in view the criticality of the userinterface for a good web application. Flexible and easy changemanageable nature of the model makes it different and worthusing as compared to other software development approaches.
 
I.
 
I
NTRODUCTION
 
The rigorous use of web application has produced amounting interest in the development of methodologicalapproaches providing a suitable support for the constructionof web applications and other software applications. Severalresearch groups proposed methodologies, processes andmodels to build software applications. Several softwareprocess models (discussed in Section II) were studied andanalyzed properly and thoroughly. The analysis revealed thatthere are some limitations in the existing models. Hencethere arises a need to development of new customized modelto accommodate the needs of any web application.This paper presents novel usability driven web basedsoftware process model, which proposes to build the webapplication in three phases, containing back and forthmovement from one phase to another to accommodatechanges at any phase. The paper contains the coremethodology behind the model and different phases, howthey relate to each other and how they contribute to webapplication design and structure. The paper is organized asfollows: Section II contains the background study of existingsoftware process models. Section III contains the proposedmodel Section IV contains the Conclusion and Future Work.I.
 
B
ACKGROUND
 A set of activities whose goal is the development andevaluation of a software product is called a software process.[1]. General definition given by the commonly acceptedSoftware Engineering Institute’s Capability Maturity Model(SEI CMM) is “A software process is a set of activities,methods, practices, and transformations used by people todevelop software”[2]. Software development processconstitutes the following activities:
 
Requirements engineering: aims at understanding theproblem.
 
Design: aims at planning a solution to the problem.
 
Implementation: translates the plan into runningapplication code.
 
Testing: aims at identifying coding errors orinconsistencies between the collected requirements andtheir implementation.
 
Deployment: brings the solution to the customers.
 
Maintenance: aims at monitoring a running system andkeeping it healthy and running.A literature review of history of software development lifecycle dates back to 1960s. Working for the US department of defence A. Enthoven and Henry Rowan developed aheuristic process for managing large information systemproject [3]. This process defines linear set of stages forproject development that could be recycled as needed.Winston Royce introduced the first model for softwaredevelopment in 1970 in his paper “Managing thedevelopment of large software systems” [4]. Following is thedescription of the model given by him:
Hina Gull
Department of Computer Engineering,
College of Electrical & Mechanical EngineeringNUST
Rawalpindi Pakistan
 
hina.gull03@gmail.com
Design of Novel Usability DrivenSoftware Process Model
Farooque Azam
Department of Computer Engineering,
College of Electrical & Mechanical EngineeringNUST
Rawalpindi Pakistan
 
farooq@ceme.nust.edu.pk 
Sardar Zafar Iqbal
Department of Computer Sciences,
Iqra University, Islamabad
Pakistanzafar.iqbal38@gmail.com
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 9, December 201046http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
 A.
 
Waterfall Process Model
Waterfall model is recognized as Classic Life CycleModel or Linear Sequential Model. This was the firststepwise sequential model given in 1970 by Winston W.Royce. Because of the cascading effect from one phase toanother this model is known as the waterfall model. Themodel formed the basis for most software developmentstandards and consists of the following phases: Requirementsspecification, Design, Coding, Testing and Debugging,Installation and Maintenance.
 B.
 
V Software Process Model
V Model is considered to be the extension of thewaterfall model. After moving in the linear fashion theprocess steps are bent upward after the coding phase. Fortop-down SE (i.e., forward engineering), the process startson the upper left and goes to the upper right. For bottom-up(i.e., reverse engineering), it starts on the upper right andgoes to the upper left. It is commonly used to identify therelationship between the development phase and the testingphase. V- Model is shown in figure given below. The modelfollows a well structured method in which each phase isimplemented by the detailed documentation of the previousphase [5].V- Model consists of number of phases. At the left sideof the model, verifications phases are there, coding is at thebottom and validation phases are at the right side of the V.
C.
 
 Incremental Development Model
“The incremental model delivers software in small,usable pieces, called “increments. In general, eachincrement builds on those that have already been delivered.”(Roger S. Pressman).Waterfall model of the software development requires itsusers to commit the requirement phase before the designbegins and the designer to commit specific design strategiesto commit design before implementation. Changes to therequirements require rework on requirements, design andimplementation [6]. Keeping these weaknesses of thewaterfall in view incremental development model wasdeveloped. It sets off with an initial planning and ends withdeployment with the cyclic connections in between.As calendar time progresses, Incremental model applieslinear sequences in a staggered fashion. Each linearsequence delivers an increment of the software. Allrequirements are determined initially and individualincrements are allocated with subsets of requirements. Theincrements are developed in sequential series, with eachincremental release adding functionality. The incrementalapproach lessens overall effort leading to the earlier deliveryof initial system to the customer. Typically, there is moreeffort in requirements analysis and design, and less forcoding and integration due to which the overall schedulemay lengthen.
 D.
 
Prototype Model
The goal of a prototyping-based development process isto overcome the limitations of the waterfall model. Thebasic idea was producing a throwaway prototype to help inunderstanding the requirements instead of freezing therequirements before any design or coding can proceed. Theprototype is produced on the basis of currently available setof requirements. The prototype helps customer to get thereal look and feel of the system, enabling them to betterunderstand what they actually want, leading more requiredfeatures of the system and less frequent changes [7]. Figure2.7 given below shows the prototyping paradigm [8]. Theparadigm begins with requirement gathering. Overallobjectives of the system are defined in the meeting of developers and customers, identifying the mainrequirements for the system leading to a quick design. Thisquick design represents the aspects of the system that arevisible to the users. The design leads to a prototype of thesystem. The prototype is given to customer/user forevaluation. After exploring the prototype customer/userprovides developers with their feedback i.e. what is correct,what needs to be modified, what is missing, what is notneeded, etc. Based on the feedback, the prototype ismodified to incorporate some of the suggested changes thatcan be done easily, and then the users and the clients areagain allowed to use the system. Iteration occurs as theprototype is tuned to satisfy the needs of the customer, whileat the same time enabling the developer to better understandwhat needs to be done.
 E.
 
Spiral Model
Spiral Model [9] is an evolutionary development model,originally proposed by Boehm. It is said to be the risk drivenmodel combining iterative nature of prototype model andsystematic aspects of linear sequential model. It canaccommodate other models as special cases and providesguidance to determine which combination of models bestfits a given situation. The spiral model has evolved throughpractical experience after implementation of complexgovernment projects with new innovations in waterfallmodel in several years. The radial dimension modelrepresents the growing cost required in bring about the stepsto date; the angular dimension track the evolution made incompleting each cycle of the spiral. It is called risk-drivenbecause it identifies areas of uncertainties that are sources of project risk and structures activities based on the risks. Thedevelopment proceeds in repeating cycles of determiningobjectives, evaluating alternatives, prototyping anddeveloping, and then planning the next cycle. Each cycleinvolves a progression that addresses the same sequence of steps for each portion of the product and for each level of elaboration. Development builds on top of the results of previous spirals.Each cycle of the spiral commence with the recognition of 
 
The intention i.e. (performance, functionality, ability toaccommodate change, etc.);
 
The unconventional resources i.e. (design A, design B,reuse, buy, etc.);
 
The constriction i.e. (cost, schedule, interface, etc.).
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 9, December 201047http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
F.
 
 Extreme Programming (XP)
XP is considered to be the lightweight methodologyproven to be the efficient, low-risk, flexible, predictable andscientific [10]. It is designed for smaller projects and teamsof two to ten programmers, which results in efficient testingand running of given solutions in a small amount of time. Itsincremental planning approach and solid and continuingfeedback from short cycles of the software developmentallow an evolutionary design process that lasts as long as itssystem. XP believes that changes are expected and ratherthan treating changes as undesirable, development shouldsqueeze change. And to accommodate change, thedevelopment process has to be lightweight and quick torespond. For this, it develops software iteratively, andavoids reliance on detailed and multiple documents whichare hard to maintain. Instead it relies on face-to-facecommunication, simplicity, and feedback to ensure that thedesired changes are quickly and correctly reflected in theprograms [7].In XP, the process starts with the requirements which areexpressed as user stories which are short (a few sentences)descriptions of what scenarios the customers and userswould like the system to do. They are different fromtraditional requirements specification as the user stories donot contain detailed requirements which are to be exposedonly when the story is to be implemented, thereforeallowing the details to be decided as late as possible. Eachstory is written on a separate card, so they can be flexiblygrouped. The authorized development team estimates howlong it will take to implement a user story. The estimates arerough, generally stated in weeks. Using these estimates andthe stories, release planning is done which defines whichsystem release will contain which stories to be implementedin. The dates of these releases are also decided. XPencourages frequent and small releases. Programmers work in pairs and develop tests (acceptance tests) for each task before writing the code. All tests must be successfullyexecuted when new code is integrated into the system [11].Bugs found during the acceptance testing for iteration canform work items for the next iteration.
G.
 
Win Win Spiral Model:
In Win Win Spiral Model [8], the developer andcustomer end up in negotiating various requirements basedon functionality, performance, cost, time, etc. The bestnegotiation strives for a “win-win” result. The detailed risk analysis imposing many different constraints, objectives &alternatives consume a lot of time. But never are these risksspecifically mentioned and vary project to project [9].II.
 
P
ROPOSED
M
ODEL
 
 A.
 
What is Usability Driven Web based SoftwareProcess Model?
Proposed Usability Driven Web based softwareprocess model is a software development modelespecially meant for web based software, containingseveral stages or phases from static informationgathering to the web based software’s testing anddeployment. It is complete in the sense it appears as anentire process to build a web based softwareapplication. It covers all the activities rendered forsoftware development from requirement elicitation todesign, coding and testing. Model contains certain subactivities in each phase describing the flow and stepswhich should be followed to develop a web application.The main emphasis of the model is on usability aspect,keeping in view the criticality of the user interface for agood web application. Flexible and easy changemanageable nature of the model makes it different andworth using as compared to other developmentapproaches of web based applications.Model progresses in linear fashion if nochange arrives, but the moment as these changes comeacross, model find its way back to the phase whereverthis change needs to be accommodated. This back andforth movement of the model makes the difference inany environment to accommodate change.
a.
 
 Model Principles
Following are some of the principles which laid thefoundation of the novel web development model:
 
Flexibility & Change Management: Organizationsand information are often changing so quickly thatthe information provided on web sites soonbecomes out of date. If a web site has not beenupdated for several months, the confidence of theusers in the provided information will probably notbe very high. Hence change management is mainfocus of the model to cope with the changes.
 
Attain Usability: Main concern of the webapplication is the providence of a user friendlyinterface. Model promotes methodology that willlead to a user friendly web applicationdevelopment.
 
Evolve by continuously obtain feedback andimprove: This principle promotes practices thatallow the team to get early and continuousfeedback from stakeholders about requirements andother issues leading to correct and in time deliveryof the web application.
 B.
 
 How Usability Driven Web Based SoftwareProcess Model is organized?
Model can be organized into two linkeddimensions: method content and process content. Themethod content is where method elements are defined(namely roles, tasks or sub phases, and artifacts). Theprocess content is where the elements of methodcontent are applied in a predefined and chronologicalmanner.
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 9, December 201048http://sites.google.com/site/ijcsis/ISSN 1947-5500

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->