A Proposed Hybrid Web Engineering Process Model for Large-Scale Web-Based Applications Development in Large Web Development Enterprises

Size: px
Start display at page:

Download "A Proposed Hybrid Web Engineering Process Model for Large-Scale Web-Based Applications Development in Large Web Development Enterprises"

Transcription

1 A Proposed Hybrid Web Engineering Process Model for Large-Scale Web-Based Applications Development in Large Web Development Enterprises Submitted By Omaima Nazar Ahmad AL-Allaf Supervised By Prof. Dr. Asim El-Sheikh Dissertation Submitted in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy In Computer Information Systems Faculty of Information Systems and Technology The Arab Academy for Banking and Financial Sciences Amman-Jordan August 2008

2 II

3 AUTHORIZATION I, the undersigned Omaima Nazar Ahmad Al-Allaf authorize the Arab Academy for Banking and Financial Sciences to provide copies of this Dissertation to Libraries, Institutions, Agencies and any Parties upon their request. Name: Omaima Nazar Ahmad Al-Allaf Signature: Date: 12/8/2008 III

4 DEDICATION All respect and very special appreciation to my Dear mother Doctor.Nida a Hazem for her encouraging and supporting to me And also to my lovely daughter Dalia for her encouraging and patience to me With Respect Omaima Al-Allaf 12 August 2008 IV

5 ACKNOWLEDGEMENTS I would like to thank God, first and foremost, for having guided me through the critical stages of my life to successful completion. This thesis is the result of almost four years of full-time study, and during this time I have been supported by many people. I am delighted to now have the opportunity to express my sincere gratitude and appreciation to all of them. I am deeply indebted to my supervisor, Professor Asim Elsheikh for his stimulating suggestions, guiding hand and expertise in the field of Software Engineering. Special thanks also due to the staff members of the Department of information Systems- The Arab Academy for Banking and Financial Sciences-Amman-Jordan for their constant cooperation and help during this period of research. I would like to extend my deepest gratitude and sincere thanks to my mother for her affectionate support that has acted as a necessary stimulus to my academic quest. Finally, my thanks go to my daughter DALIA has helped me to achieve my goal through her patience, understanding and willingness to accommodate my dream. Omaima Al-Allaf 12 August 2008 V

6 Published Papers Omaima N. Al-Allaf, Guidelines for Using Multimedia in Webpage and User Interface Design, Proceedings of the 4 th International Multiconference on Computer Science and Information Technology (CSIT2006), ASU (private), Vol.3, pp , Amman, Jordan, 5-7 April Omaima Nazar Ahmad AL-Allaf and Asim El-Sheikh, Guidelines for Constructing Web Engineering Process Models for Developing Large-Scale Web-Based Applications, The 1 st international conference on digital communications and computer applications (DCCA 2007), Jordan University of Science & Technology, pp , Irbid, Jordan, March VI

7 ABSTRACT Currently, the level of adoption of current practice and software process improvement (SPI) in large enterprises is unknown. A literature and a practical survey of web development methodologies has been conducted in this thesis to identify web engineering practice and to understand the extent of web practices currently in use in large enterprises to help improving the software processes. This survey clarified that, there were several web methodologies that has concentrated on delivering functional web applications but most of these applications run over time and budget and without consideration on SPI and quality requirements. The survey confirmed also that the: tools and technology, and standards and procedures are partially adopted, whereas, the project management planning, customer involvement practices, web metrics, and the control of the development process are barely used by these enterprises. A Hybrid web engineering process model for developing the large web applications in large enterprises has been proposed in this thesis. This model consists of many activities to follow: possible division of large web application into many small sub applications; possible division of large number of developers into many sub teams; identify a management team to control and monitor the development process; Stakeholders and customers inclusion and feedback during web development process; requirement analysis, management and development; risk analysis of all large web application s components; adopting the Spiral model by management team to manage and monitor the development progress; adopting the Throwaway Prototype model by each sub team for requirements gathering; adopting the XP agile method by each sub team for customer communication during the development process; adopting WebEng process model by each sub team to match web application s properties and challenges; adopting a suitable user interface design approach; conducting CMMI levels key process areas; conducting web engineering practices; integrating SQA activities; and training the mmanagers and developers on CMMI and web engineering practices. This model is focuses on overall development process phases such as: requirement gathering and analysis; cost, time and effort estimation; planning; design; coding; testing, verification and validation; integration; and documentation. According to Hybrid model evaluation with CMMI levels key process areas, we investigate that: This model steps covered and largely satisfied both of CMMI Level2 and CMMI Level3 process areas; whereas, satisfied CMMI Level4 process areas; but partially satisfied CMMI Level5 process areas. According to Hybrid model comparison with XP, Spiral and WebEng in VII

8 their compatibilities with CMMI levels process areas; we investigate that this model can overcome the limitations of these process models to use them in combinations. Finally, the evaluation of the Hybrid model according to CMMI process areas has been conducted in this research. This evaluation has been carried out by the aiding of many professional developers and managers currently working in many large web-development Jordanian enterprises. The evaluation results shows that the Hybrid model satisfied about 85.57% of CMMI level2, 86.86% of CMMI level3, 73.35% of CMMI level4, and finally about only 31.65% of CMMI level5. The study indicates that large enterprises can benefit from Hybrid model if they apply it in good manner with sufficient training because it was being noted from the analysis of Hybrid steps that: this model can overcome as possible as the problems of large web applications development mentioned in the literature researches and also web development problems in these large web enterprises. VIII

9 Table of Contents Contents Page Chapter 1: Overview of the Thesis Introduction The Development Process of Web-Based Applications The Large-Scale Web-Based Applications The Importance of this Research The Problems in Developing Large-Scale Web-Based Applications The Research Objectives Literature Review Literatures Related to Development Methodologies of Web Applications Literatures related to development methodologies of large web applications The Literature Analysis (Problems Obtained from Literature) The Research Methodology Outlines of the Thesis 14 Chapter Two: Review of Web-Based Applications Development and Development Process Models Introduction The Software Web-Based Applications Multidisciplinary Nature of Web Development Web-Based Applications versus Traditional Software Characteristics of Simple and Advanced Web Applications The Components of Web-Based Applications The Basic Requirements for Web Engineering Challenges of Web-Based Applications Development The Software Development Process The Perceived Problems in Software Development The Basics of Good Software Development Ad-hoc Development The Importance of Software Process in Large Organizations Traditional Software Process Models (Heavyweight) Waterfall Software Process Model Incremental Process Model The Rapid Application Development (RAD) Model Prototyping Model Spiral Software Process Model Rational Unified Process Model (RUP) Agile Process Methodologies (Lightweight) Extreme Programming (XP) Strengths and Limitations of Agile Methodologies Introducing Agile Methodologies in Large Organizations Agile Methodologies for Web-Based Applications Development Agile Methods vs. Traditional Methods Mixing Agile Methods with Traditional Methods Challenges to Implementing Agile Processes in Traditional Organizations Web-Based Applications Development Process The Web Engineering Process Model (WebEng) Factors Responsible for the Failure of Web-Based Applications Steps for Successful Web-Based Applications Development IX

10 Contents Page Large-Scale Web-Based Applications Development Requirements Engineering (RE) in Web Development The Modeling of Web-Based Applications Model-Driven Development (MDD) of Web-Based applications Design Models for Web-Based Applications Cost, Effort and Time Estimation of Web-Based Applications The Stakeholders of Web-Based Applications Project Planning Management of Web Development Tools for Web Engineering Testing Web-Based Applications Documenting Web-Based Applications.. 49 Chapter 3: Software Process Improvement and Quality Assurance in Large Enterprises 3.1 Introduction The Software Process Improvement with CMM The Capability Maturity Model Integration (CMMI) The CMMI Capability Maturity Levels The Categories of CMMI Key Process Areas Organizations with Software CMM Experience Immature Versus Mature Software Organizations Training The Software Process Standards (ISO Standards) The Importance of Software Process Improvement (SPI) CMMI for Large Enterprises Lack of Research about SPI for Large Enterprises The Need of SPI to Solve Problems in Large Enterprises Development of SPI Activities in Large Enterprises The SPI Success Factors in Large Organizations Factors Affecting Organizational Change in SPI Efforts The SPI and Agile Methodologies The Elements of SPI in Agile Software Development Comparison of SPI Elements in Traditional and Agile Development Agile Adoption and Improvement Model (AAIM) Compatibility of Agile Methods with CMMI Requirements The Software Quality Assurance (SQA) The Components of Software Quality Assurance The Quality Attributes of Web-Based Applications The Quality Assurance in Web Development Organizations Web Applications Quality and Support in XP Risk Management and SQA The Quality Assurance of Large-Web-Applications and SPI Integrating Quality Activities in Project Life Cycle Chapter 4: An Analytical Survey of Large-Scale Web-Based Applications Development in Large-Scale Jordanian Enterprises Introduction Survey Methodology Statistical Methods Used in Data Analysis The Analysis of the First Questionnaire Factors Used to Select the Large Enterprises (Research Population).. 72 X

11 Contents Page General Characteristics of Large-Scale Jordanian Enterprises Interviews in Large Web Development Enterprises Development Teams in Large-Jordanian Enterprises The Statistical Analysis of the Second Questionnaire Respondent Background Current Position of Respondent Activities Currently Work CMMI-Related Training Participated in Previous Forms of Software Process Assessment Experience of Developers in Present Organization Overall Experience of Developers Level of Experience with Web Based Applications Development Development and Test Methods The Size of Jordanian Enterprises Web Application Domain Web-Based Applications Development Involves The Developers Familiarity with Development Methodologies Development Methodologies Used by Enterprises Test Types Required by Organization Assurance Activities are Performed Who Performs the Assurance Activities? Description of Possible Symptoms at Organizations Web Engineering Practices Organizational issues Standards and Procedures Web Metrics Control of the Development Process Tools and Technology Summary of Statistical Analysis of the Second Questionnaire Summary of Analysis Related to Respondents Background Summary of Analysis Related to Development and Test Methods Summary of Possible Symptoms at Organizations Summary of Web Engineering Practices. 98 Chapter 5: Hybrid Web Engineering Process Model for Large-Scale Web-Based Applications Development Introduction The Need for a Standard Web Engineering Process Model Problems (Related to Large Web Development) to be Solved Guidelines for Constructing Web Engineering Process Models The Proposed Hybrid Web Engineering Process Model The Features of the Hybrid Web Engineering Process Model The Components of the Hybrid Model The Role of the Management Component The Role of Development Component Stakeholders Coordination in the Hybrid Model Requirement Engineering and Management in Hybrid Model Requirements Development Planning Phase in Hybrid Model Risk Analysis and Management in the Hybrid Model Cost, Time and Effort Estimation in Hybrid Model XI

12 Contents Page Management of Large Web Application Development in Hybrid Model Management of Large Number of Developers in Hybrid Model The Properties of Teams in the Hybrid Model The Properties of Sub Teams Members in the Hybrid Model The Relationships of Development Teams in Hybrid Model Management within XP Principles Adoption Quantitative Project Management User Interface Design in the Hybrid Model User Interface Design Approach for Large Web Applications Configuration Management in Hybrid Model Testing, Verification and Validation in Hybrid Model Project Monitoring and Control Organizational Process Performance Technical Solutions in the Hybrid Model Integration in Hybrid Model Product Integration Integrated Project Management Integrated Teaming Integrated Supplier Management Organizational Environment for Integration Developers Training in the Large Web Development Enterprises Organizational Training Integrating QA Activities with Hybrid Model The Activities to the different SQA processes Internal Assessment and Light Formal Reviews External Assessment Software Development Process Models Used in Hybrid Model Spiral Model Adopted by Centralized Team Advantages of the Spiral Model Throwaway Prototype The Limitations and Strengths of Prototype Model The Web Engineering Process Model The XP Adopted by Sub Teams in the Hybrid Model The Benefits of Using XP in Hybrid Model Integrating Web Engineering Practices in Hybrid Model Software Process Improvement in the Hybrid Model The Problems Solved By the Hybrid Model The Advantages and the Limitations of the Hybrid Model. 133 Chapter 6: CMMI-Evaluation of the Proposed Hybrid Web Engineering Process Model 6.1 Introduction Hybrid Model Evaluation According to CMMI Levels The Compatibility of Hybrid Activities with CMMI Level The Compatibility of Hybrid Activities with CMMI Level The Compatibility of Hybrid Activities with CMMI Level The compatibility of Hybrid Activities with CMMI Level The Coverage of XP, Spiral, WebEng and Hybrid with CMMI The Coverage of XP, Spiral, WebEng and Hybrid with CMMI-Level The Coverage of XP, Spiral, WebEng and Hybrid with CMMI-Level The Coverage of XP, Spiral, WebEng and Hybrid with CMMI-Level The Coverage of XP, Spiral, WebEng and Hybrid with CMMI-Level The Coverage of XP, Spiral, WebEng and Hybrid with CMMI-Generic Practices XII 134

13 Contents Page Summary of the Hybrid Analysis versus CMMI process Areas Hybrid Model Evaluation by Large Jordanian Enterprises CMMI level2 Process Areas and Goals CMMI level3 Process Areas and Goals CMMI level4 Process Areas and Goals CMMI level5 Process Areas and Goals The Summary of Hybrid model Evaluation 162 Chapter7: Discussion and Conclusions Introduction Discussion of the Survey Findings Conclusions Contributions Recommendations to Avoid Failure Future Works in Research Limitations of the Research References 173 Appendix A Appendix B. 195 Appendix C. 202 XIII

14 List of Tables Table Name Page Table (2.1): Traditional versus Agile Software Development 33 Table (2.2): The Summary of Risk-Based Method 35 Table (2.3): The Core RE Activities 39 Table (2.4): Estimation Dimensions and Corresponding Project Factors. 44 Table (3.1): The Factors Affecting Organizational Change in SPI Efforts 59 Table (3.2): The Fundamentals of Software Development in Plan-Driven and Agile 61 Table (3.3): The Quality Attributes of Web-Based Applications. 65 Table (4.1): Factors Used by Enterprises to Measure the Size of Web Applications 72 Table (4.2): Descriptive Statistics of the Current Position of Employee 75 Table (4.3): The Descriptive Statistics of Respondents Current Work Activities 76 Table (4.4): Descriptive Statistics of Developers Receiving any CMMI Training Table (4.5): Descriptive Statistics of Respondents Participated in Forms of SPA 77 Table (4.6): Descriptive Statistics of Developers Experience in Present Organization 77 Table (4.7): Descriptive Statistics of Overall Software Experience of Developers 78 Table (4.8): Descriptive Statistics of Level of Experience with Web Development Table (4.9): Descriptive Statistics of Different Sizes of Large Jordanian Enterprises 79 Table (4.10): Descriptive Statistics of Application Domain in Jordanian Enterprises Table (4.11): Describe If Development Involve In-House, Outsource or Reusability 80 Table (4.12): Statistics of Developers Familiarity with Development Methodologies 81 Table (4.13): Descriptive Statistics of Development Methods Used by Enterprises 82 Table (4.14): Descriptive Statistics of Test Types Required by Organization 82 Table (4.15): Descriptive Statistics of Performed Assurance Activities 83 Table (4.16): Frequent Distribution of Who Performed Assurance Activities 84 Table (4.17): Developers Perceptions Toward Symptoms at Organization 85 Table (4.18): The Statistics of Organizational Issues in Web Engineering Practices.. 88 Table (4.19): Statistics of Standards and Procedures in Web Eng Practices 90 Table (4.20): The Frequency Distribution of Web Metrics in Web Engineering Practices.. 92 Table (4.21): The Frequency Distribution of Control of the Development Process.. 94 Table (4.22): The Frequent Distribution of Tools and Technology in Web Eng Practices 95 Table (5.1): Problems in the Literature 102 Table (5.2): Problems of Large Web Development in Large Jordanian Enterprises 102 Table (5.3): Problems of Web Engineering Practices in Large Jordanian Enterprises 102 Table (5.4): The Features of Hybrid by Principles XIV

15 Table Name Page Table (5.5): Problems in the Literature solved by the Hybrid model Table (6.1): Hybrid Activities Against the Activities of CMMI Level Table (6.2): Hybrid Activities Against the Activities of CMMI Level Table (6.3): Hybrid Activities Against the Activities of CMMI Level4 141 Table (6.4): Hybrid Activities Against the Activities of CMMI Level5 141 Table (6.5): Coverage of CMMI-Level2 Areas by XP, Spiral, WebEng and Hybrid Table (6.6): Coverage of CMMI-Level3 Areas by XP, Spiral, WebEng and Hybrid. 144 Table (6.7): Coverage of CMMI-Level4 Process Areas by XP, Spiral, WebEng and Hybrid 146 Table (6.8): Coverage of CMMI-Level5 Process Areas by XP, Spiral, WebEng. and Hybrid Table (6.9): Coverage of CMMI Generic Practices by XP, Spiral, WebEng and Hybrid 147 Table (6.10): The Results of CMMI level2 Requirements Management 149 Table (6.11): The Results of CMMI level2 Project Planning Table (6.12): The Results of CMMI level2 Project Monitoring and Control Table (6.13): The Results of CMMI level2 Supplier Agreement Management 151 Table (6.14): The Results of CMMI level2 Measurement and analysis Table (6.15): The Results of CMMI level2 Process and Product Quality Assurance. 152 Table (6.16): The Results of CMMI level2 Configuration Management 153 Table (6.17): The Results of CMMI level3 Requirements Development 154 Table (6.18): The Results of CMMI level3 Technical solution Table (6.19): The Results of CMMI level3 Product Integration Table (6.20): The Results of CMMI level3 Verification. 156 Table (6.21): The Results of CMMI level3 Validation 156 Table (6.22): The Results of CMMI level3 Organizational Process Focus. 157 Table (6.23): The Results of CMMI level3 Organizational Process Definition Table (6.24): The Results of CMMI level3 Organizational Training Table (6.25): The Results of CMMI level3 Integrated Project Management Table (6.26): The Results of CMMI level3 Risk Management Table (6.27): The Results of CMMI level3 Decision Analysis and resolution 160 Table (6.28): The Results of CMMI level4 (2 Process Areas) 161 Table (6.29): The Results of CMMI level5 (2 Process Areas) 161 Table (6.30): The Summary of Hybrid Model Evaluation by CMMI. 162 Table (7.1): The Hybrid Model Activities Compatibility with CMMI levels KPAs XV

16 Figure Name List of Figures Figure (1.1): The Framework of Web Engineering Process 4 Figure (1.2): The Research Methodology. 15 Figure (1.3): The Outlines of the Thesis. 17 Figure (2.1): The Web Engineering A multidisciplinary field.. 20 Figure (2.2): Complementary and Conflicting Goals in a Software project. 23 Figure (2.3): The Throwaway Prototype.. 26 Figure (2.4): The Spiral Software Process Model 27 Figure (2.5): The Rational Unified Process.. 28 Figure (2.6): The Life Cycle of the XP Process.. 30 Figure (2.7): The General Process for User Requirements Analysis.. 40 Figure (2.8): The Model-Driven Approach for Web Systems 42 Figure (2.9): A More Detailed Model for a Web Application, Showing User Roles and Interactions 47 Figure (3.1): The Staged View of CMMI 53 Figure (3.2): Agile Adoption and Improvement Model.. 62 Figure (4.1): Factors Used by Enterprises to Measure the Size of Web Applications 72 Figure (4.2): Relationships between Teams in Enterprises. 74 Figure (4.3): Describe the Frequencies of Current Position of Employee 75 Figure (4.4): The Frequencies of Respondents Current Work Activities 76 Figure (4.5): The Frequencies of Developers Receiving Any CMMI Training. 76 Figure (4.6): Participation in Software Process Improvement. 77 Figure (4.7): Frequencies of Developers Experience in Present Organization.. 77 Figure (4.8): Frequencies of Overall Experience of Developers 78 Figure (4.9): Frequencies of Level of Experience with Web Development 78 Figure (4.10): Frequencies of Different Sizes of Large Jordanian Enterprises Figure (4.11): Frequency Distribution of Application Domain.. 80 Figure (4.12): Describe If Development Involve In-House, Outsource or Reuse 80 Figure (4.13): Frequencies of Development Methods Which developers Familiar With 81 Figure (4.14): Frequencies of Development Methods Used by Enterprises... Figure (4.15): Frequency distribution of Test Types Required by Organization 83 Figure (4.16): Frequent Distribution of Performed Assurance Activities 83 Figure (4.17): Frequent Distribution of Who Performed Assurance Activities.. 84 Figure (4.18): The Mean of Severity Score Description of All Symptoms 86 Figure (4.19): The Means of Occurrence Frequency Score Description of Symptoms 87 XVI Page 82

17 Figure (4.20): Organizational Issues in Web Engineering Practices Figure Name Page Figure (4.21): Standards and Procedures in Web Engineering Practices 91 Figure (4.22): Web Metrics in Web Engineering Practices 93 Figure (4.23): Control of the Development Process in Web Engineering Practices Figure (4.24): Tools and Technology in Web Engineering Practices. 96 Figure (4.25): Overall Best Practices Adoption in Large Jordanian Enterprises. 99 Figure (5.1): The Proposed Guidelines for Constructing Web Eng Process Models Figure (5.2): Web-Based Application Division Figure (5.3): The Complete Hybrid Web Engineering Process Model Figure (5.4): The Interaction Process between the Management and Sub Team Figure (5.5): The Integration of Web Engineering Process with XP Practices Figure (5.6): Relationships between teams in enterprises 116 Figure (5.7): Steps of UI design of Sub Web Application 119 Figure (6.1): The Results of CMMI level2 Requirements Management. 149 Figure (6.2): The Results of CMMI level2 Project Planning Figure (6.3): The Results of CMMI level2 Project Monitoring and Control Figure (6.4): The Results of CMMI level2 Supplier Agreement Management 151 Figure (6.5): The Results of CMMI level2 Measurement and Analysis. 152 Figure (6.6): The Results of CMMI level2 Process and Product Quality Assurance Figure (6.7): The Results of CMMI level2 Configuration Management. 153 Figure (6.8): The Results of CMMI level3 Requirements Development 153 Figure (6.9): The Results of CMMI level3 Technical Solution Figure (6.10): The Results of CMMI level3 Product Integration 155 Figure (6.11): The Results of CMMI level3 Verification 156 Figure (6.12): The Results of CMMI level3 Validation Figure (6.13): The Results of CMMI level3 Organizational Process Focus 157 Figure (6.14): The Results of CMMI level3 Organizational Process Definition. 158 Figure (6.15): The Results of CMMI level3 Organizational Training. 158 Figure (6.16): The Results of CMMI level3 Integrated Project Management. 159 Figure (6.17): The Results of CMMI level3 Risk Management Figure (6.18): The Results of CMMI level3 Decision Analysis and Resolution. 160 Figure (6.19): The Results of CMMI level4 (2 Process Areas) Figure (6.20): The Results of CMMI level5 (2 Process Areas) Figure (6.21): The Hybrid Evaluation by Large Enterprises According to CMMI. 162 XVII

18 List of Abbreviation Abbreviation of the study s constructs Hybrid Hybrid Web Engineering Process Model WebEng. Web Engineering Process Model XP... Extreme Programming QA.. Quality Assurance SQA Software Quality Assurance SPI.. Software Process Improvement CMM. Capability Maturity Model CMMI. Capability Maturity Model Integration SEI.. Software Engineering Institute KPA s. Key Process Areas SBPQ. Software Best Practice Questionnaire DB.. Data Base ASP Agile Software Development Process OO. Object Oriented OOP Object Oriented Programming RUP... Rational Unified Process RE.. Requirements Engineering ISO. International Organization for Standardization UI... User Interface UID. User Interface Design SCM... Software Configuration Management SEPG.. Software Engineering Process Group XVIII

19 Chapter 1 Overview of the Thesis 1.1 Introduction During the last decades, the web-based applications are evolving rapidly using many new technologies, programming languages and models that are being used to increase the interactivity and usability of these applications. A web-based application is a software system based on technologies and standards of the World Wide Web Consortium (W3C) that provides web resources such as content and services through a user interface and web browser [1]. The web-based applications have the properties of network intensiveness, concurrency, unpredictable load, performance, availability, data driven, content sensitive, continuous evolution, immediacy and security [2]. Web engineering is concerned with the use of scientific, hypertext engineering, software engineering best practices, advances, management principles, disciplined, systematic methodologies, iterative process, better development tools and a set of good guidelines to the successful development, deployment, performance evaluation and maintenance of high quality web sites and web-based applications [3]. The emerging field of web engineering aims to bring the web application s development under control, minimizes risks, enhances web site maintainability, quality and successfully manages the diversity and complexity of web application s development to avoid major failures of web applications development [4]. The complexity of designing, developing, maintaining and managing web applications have increased significantly when web applications have evolved [4]. The objective of this chapter is to give a brief description of web-based application, web engineering, development process of web-based applications and large web applications. This chapter includes the importance of this research, problems in developing large-scale web applications and research objectives. This chapter also includes literature review, literatures related to development methodologies of web applications, literatures related to development methodologies of large web applications and analysis of these literatures. Finally, this chapter includes research methodology and outline of this thesis. 1.2 The Development Process of Web-Based Applications The development of modern web-based applications requires a methodologically sound engineering approach because these web applications are complex software systems. The web engineering comprises the use of systematic and quantifiable approaches based on software 1

20 engineering in order to accomplish the specification, implementation, operation and maintenance of high-quality web applications [1]. The web site s structure, functionality and information contained within it may evolve and change continuously over time to keep information current and to meet user requirements. So it is not possible to specify fully what a web site should contain at the start of the development process. Therefore, the ability to maintain information, scale the structure and functions of web site are major factors that make web application development different in comparison to traditional software development. These factors should be taken into consideration when developing web applications [5]. Many of new methodologies related to web development focused on the user interface design but failed to address the wider aspects, complexity and overall development process of web-based applications [6]. At the same time, the traditional software process models of traditional information systems have challenges to accommodate web specific aspects into their techniques and practices. Therefore, the development of web-based applications requires a mix of web site development techniques together with properties of traditional software process models [7]. 1.3 The Large-Scale Web-Based Applications The simplest form of web applications consists of a set of linked hypertext files that present information using text and limited graphics. When the importance of e-business applications grow, the web applications are evolving into sophisticated computing environments that provide standalone features, computing functions, content to the end user and are integrated with corporate databases and business applications [2]. The properties of large web applications are defined in few literature researches. Garland and Anthony [8] defined a large software project as a system that: including large quantities of source code typically millions of lines; including large number of developers (more than 50, often geographically distributed); including large number of interactive functions; using of multiple programming languages; using multiple mechanisms (files, relational and object databases); and distributing the components over several hardware platforms. Whereas, Bell [9] defined the large-scale software as a system that: comprising a large number of interactive activities that carried out by large number of developers (at least 50) working over lengthy time spans. While, Curtis, et. al. [10] defined the large-scale software project as a system that: involving at least 10 people; involving real-time, distributed or embedded applications; and including hundreds of thousands of lines of delivered system source code. 2

21 On the other hand Burstin and Ben-Bassat [11] defined the large software as a system that having large and diverse community of users, organizational and interactive activities; including hundreds of thousands of lines of code; including hundreds to thousands pages of documentation; requiring long development time; consuming very large resources during the development and maintenance phases. Whereas Tamai and Itou [12] defined the largesoftware project as a system that: is large in program size, investment cost and development period; consisting of large collections of data; and integrating huge number of interacted functions. And Barnett [13] defined large-scale software project as a system that: involving developers from different companies and cultures; comprising teams with 50 or more members; integrating with legacy applications and third-party software packages; and including a number of sub-project teams that integrate their sub-systems to build the final application. Finally, Delic and Dayal [14] defined large-scale software as a system that: is heterogeneous and very dynamic; involving complex interactive activities among many humans, applications, services and devices; including hundreds of thousands of strategic decisions to operational decisions are made on each business day within the large enterprises. 1.4 The Importance of this Research The large-scale web application consists of large number of interactive web pages and functions that supports multiple users who access these functions through internet and connected networks. The development of web-based applications especially large-scale webbased applications has become common because of the growth of the internet and networks. Therefore, successfully developing large-scale web applications that will execute correctly and consistently in a distributed environment where hundreds or millions of requests need to be serviced is a very difficult task. The development methodologies of web-based applications are still in their early stages and new technologies continue to discover. Sometimes these technologies are alternatives and other times they are used in combinations. Balakrishnan and Somasundaram [15] addressed the key requirements for the successful development of large projects such as: user involvement; management support; clear statement of requirements and the ability to verify them; and proper planning [15]. On the other hand, McDonald and Welland [16] suggested that there is a need to focus on many factors to achieve the success of web applications development such as: more requirements analysis; clear analysis of business needs; better 3

22 testing and evaluation of web deliverables; and more focus on the issues associated with the evolution of web applications [16]. There is no uniform approach exists to web applications development. Therefore, the web developers need new techniques and guidelines that capture requirements and integrate them within a systems development methodology [17]. The WebEng is a web engineering process model that developed by Pressman [2]. The WebEng consists of many steps as shown in figure (1.1). Pressman focused in this model on the development of web-based applications in general and did not consider the size of these web applications. After that, many researches worked to create high quality web-based applications that deliver a set of complex content and functionality to a broad population of end users. Bahli and Tullio [18] mapped and discussed in their research the progress made so far on web engineering development. They summarized and classified the literature empirical studies on web engineering based on the six phases of the Pressman web engineering process model. They found that much of the web engineering researches focused on the engineering activity. Almost 70% of the published researches concerned with the engineering part of web applications development process such as architectural design, navigation design and interface design tasks of engineering activity and customer evaluation seem to draw more research. Their results suggested a significant need for theory-based research in web engineering. Figure (1.1): The Framework of Web Engineering Process [2] According to as listed above, the importance of this research is to propose a web engineering process model that we hope to be more suitable for successful development of large web applications and deliver these applications within the time, budget and effort. 4

23 1.5 The Problems in Developing Large-Scale Web-Based Applications Many organizations failed to develop large and high-performance web applications. There are many literature researches which addressed the factors responsible for the failure of web applications and highlights serious problems that affecting the large web applications development. The most important problems that caused the failure of development of large web applications are as follows: 1. Problems in requirement analysis phase [16]. 2. Poor project management of development process [16]. 3. Poor project estimation [16]. 4. The development of web applications that exceeds the budget [19]. 5. Flawed design and development process [20]. 6. Poor understanding of methodology to develop large web-based applications [20]. 1.6 The Research Objectives The objectives of this research are as follows: 1. Proposing a web engineering process model for the development of large-scale webbased applications. We will build this model according to the modification and combination of the basic properties of well known traditional software, agile and web engineering process models. 2. Focusing on the overall development process of large web applications because most of the other earlier researches and methodologies focused only on one development phase such as design, requirements, etc. 3. Reaching a suitable methodology that achieve as possible as an effective development of large web applications and reducing the likelihood of failure of these applications. We will focus in the proposed web engineering model to overcome as possible as the most problems of large web applications development and deliver large web applications on time, effort and within budget. The research questions are: Q.1: Is the proposed web engineering process model compatible with the Software Process Improvement (SPI) Capability Maturity Model Integration (CMMI) key process areas and goals (KPA s) to improve the web development process of the large enterprises and their software quality assurance (SQA)? Q.2: Can the adopting of this proposed web engineering process model overcome as possible as the limitations and challenges of traditional software process models and agile methodologies? 5

24 Q.3: Can the adopting of this proposed web engineering process model overcome as possible as the development problems of large web applications mentioned in literature researches and studies? Q.4: Can the adopting of this proposed web engineering process model in large enterprises for the development of large web applications within budget, effort and time and overcome as possible as the web development problems? 4. Analyzing the compatibility of the proposed model according to CMMI KPA s to determine the advantages properties of this model against other development models. 5. Finally, the objective also is to evaluate this model (according to CMMI levels) by many professional developers and managers currently working in many large Jordanian enterprises which undertaken large web development. The objective of this evaluation is to determine which CMMI level can be reached by these enterprises when adopting this proposed model. 1.7 Literature Review Many software process models and approaches for web applications development had been studied and proposed in the literature. Until now there are few studies about proposing web process models for developing large web applications. However, there is much room for improving existing models and approaches or coming up with new effective web models for the development of large web applications. We divided the literature review into two sections: development methodologies for web applications and the development methodologies for large web applications Literatures Related to Development Methodologies of Web Applications This section includes the literatures related to web engineering process methodologies and techniques for developing web applications without mention to the size of these web applications. A summary and analysis of these literatures are given below: Kushwaha, et. al. [20] addressed the factors that responsible for failure of web applications. They focused on user-centric approach of requirement engineering to help increasing the success rate of web applications development. They proposed the major activities that should be part of a web application s development in order to improve the reliability of web applications. They proposed cognitive process of socio-psychological requirement engineering to overcome the blurring between the requirement engineering and analysis, and also to adopt a more comprehensive approach before cognitive requirement 6

25 engineering is carried out. They highlighted fifteen complexity issues that have a major effect on the successful development of web applications. Hsieh [21] presented a development methodology for web applications that serves as a road map to guide web development. This methodology consists of three phases: structural design, detailed design and implementation. Structural design views a system at the web-page level and detailed design deals with issues of intra-page. The implementation is logically segmented into four steps: implementation of the visual interface, client-side scripting, severside scripting for the visible interface, and server-side scripting for pages and tasks without a visual interface. Souza and Falbo [22] presented an agile approach for development of web applications which used the concept of agile modeling. They started web engineering process with the identification of business needs, followed by project planning. Next, requirements are detailed and modeled, analysis and design. Then the application is built using tools specialized for the web applications. Finally, the system is tested and delivered to end users. Their approach included four activities: requirement specification, analysis, design and implementation. These four activities form should be applied in an iterative fashion, allowing for user feedback and requirements and system evolution. Whitson [23] described a web development process (WebHelix) for the development of web applications. This model consists of project management plan that creates a task list from a systems architecture diagram and uses chart to synchronize the team workload. The WebHelix methodology used a modified spiral approach to systems development. Some parts of the design process, like the business analysis and planning, are done once at the beginning of the process. Some parts of the process, like deployment and maintenance are done once at the end of the process. The major creation of the web application is done by using set of steps repeatedly, producing a set of more complete prototypes, with the final prototype being the completed web application. A WebHelix process consists of the business success evaluation, planning, analysis, design, coding and integration, testing, evaluation, deployment and training, maintenance and future updates. Crane and Clyde [24] described a lightweight two-phase process that integrated advantages from incremental development, throwaway prototyping and waterfall process models to address the challenges of development of web applications such as: frequent changes in requirements; time and cost constraints; and producing quality user interfaces within the 7

26 restrictions of the web environment. Their process consists of cascading phases of interdependent waterfall models. Phase1 follows a modified incremental development model with an emphasis on rapid prototyping and involves the iteration of development activities (requirements definition, systems analysis, design, coding and testing). Phase1 helps the development team to understand the requirements and adapt to frequent changes. Whereas phase2 follows waterfall model with an emphasis on quality and consists of well-defined steps that correspond closely to development activities. Unlike phase1, progress is measured in terms of completion of development activities, instead of the completion of features. Phase2 builds on the knowledge gained from the phase1 and produces a product that has a better user interface, more extensible and maintainable. Zhao and Chen [25] proposed a component-oriented model of web application in which a web application is regarded as a collection of components. Each component have its own functionality and cooperating with others through certain interfaces. They aimed to establish a foundation for methodology to effective development and maintenance of web application that can benefit from the notion of component-oriented approach. Under this model a web application is consisted of client components and server components. All components expose their functionality through interfaces. The client component of a web application will carry out all the tasks at the client side including interacting with end users and any other related activities. The server component takes care of all the processing works to happen at the server side and they do not have user interfaces. This model designed to be used at the application definition phase only during the development process to capture the features of web applications. This model lacked systematic and engineering methodology that can cover the whole lifecycle of web applications. Bochicchio and Paiano [26] discussed a design/prototyping environment and presented the definition and features of JWeb (an environment to support design and prototyping of complex WWW sites). They discussed reasons of why an environment supporting design/prototyping is useful such as: support in the early stage; multi delivery; technological flexibility; design advanced options; and design incompleteness. The JWeb system is a design environment with fast prototyping capabilities based on the hypermedia design methodology (HDM) with the following features: it supports design of the hyper-base and access structures; it supports a clean separation between design in the large and design in the small; and it allows building an environment based on a relational DB to hold the multimedia contents. In many cases they used the prototype as initial version of the application to be worked on in 8

27 order to build up the final version. Sometimes, the prototype could be used as an implementation platform. Finally, we can say that, they didn t discuss design models. Bochicchio and Fiore [27] described an environment (tool) named WARP (Web Application Rapid Prototyping) for the analysis and the rapid prototyping of web applications. This environment offers a set of online software tools, which assist the designer and the user browsing of a web application in all its different aspects. The environment is based on models and techniques used in the hypermedia, information systems and software engineering fields, adapted and mixed. The WARP project proposed a methodology and a development environment for fast prototyping of web applications which support the development cycle from requirement analysis and design of the information and system features till the detailed definition of these schemas and the production of applications (coding, database creation, database filling and creation of interfaces). The process of developing a web application with WARP consists of many steps: collection of requirements; generation of the supporting database; management of the contents; and definition of presentation aspects. After the prototype has created, it must be evolved to create the final web application [27]. Griffiths, et. al. [28] proposed simple web method (SWM) for web engineering. They had built and introduced the prototype WIPSE (Web Integrated Project Support Environment) called PAWS (Project Administration Web Site) that implements some of these whole life cycle activities and to support web engineering. They introduced the following stages and techniques in SWM: project planning; analysis (statement of purpose, audience definition, content analysis and modeling, constraint analysis, and marketing analysis and planning); design (structure/web architecture, page design, visual style, navigation, and metaphor definition); building (preparation, prepare content, build web site, test and evaluate and launch); and maintenance. All of these above efforts offered facilities to speed up design and development of web applications. However, none of them provided an efficient support for the end-to-end process of generation and maintenance of whole web applications Literatures related to development methodologies of large web applications A summary and analysis of literatures related to development process of large-scale web applications is given below: Aoyama [29] proposed an agile software development process (ASP) in order to meet the conflicting of delivering software faster, facilitating distributed development and maintaining 9

THE USAGE OF CAPABILITY MATURITY MODEL INTEGRATION AND WEB ENGINEERING PRACTICES IN LARGE WEB DEVELOPMENT ENTERPRISES: AN EMPIRICAL STUDY IN JORDAN

THE USAGE OF CAPABILITY MATURITY MODEL INTEGRATION AND WEB ENGINEERING PRACTICES IN LARGE WEB DEVELOPMENT ENTERPRISES: AN EMPIRICAL STUDY IN JORDAN THE USAGE OF CAPABILITY MATURITY MODEL INTEGRATION AND WEB ENGINEERING PRACTICES IN LARGE WEB DEVELOPMENT ENTERPRISES: AN EMPIRICAL STUDY IN JORDAN OMAIMA N. A. AL-ALLAF Assistant Prof., Dept. of CIS,

More information

HYBRID WEB ENGINEERING PROCESS MODEL FOR THE DEVELOPMENT OF LARGE SCALE WEB APPLICATIONS

HYBRID WEB ENGINEERING PROCESS MODEL FOR THE DEVELOPMENT OF LARGE SCALE WEB APPLICATIONS HYBRID WEB ENGINEERING PROCESS MODEL FOR THE DEVELOPMENT OF LARGE SCALE WEB APPLICATIONS OMAIMA N. A. AL-ALLAF Department of CIS, Faculty of Sciences and Information Technology, AL-Zaytoonah University

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

How To Understand And Understand The Software Development Process In Korea

How To Understand And Understand The Software Development Process In Korea Universiti Teknologi MARA Designing a Proposed Model of Software Development Practices Nor Hasikin Bt Husian Thesis submitted infiilfillmentof the requirements for Bachelor of Science (Hons) Information

More information

Web Applications Development and Software Process Improvement in Small Software Firms: a Review

Web Applications Development and Software Process Improvement in Small Software Firms: a Review Web Applications Development and Software Process Improvement in Small Software Firms: a Review Haroon Tarawneh Al-balqa Applied University haroon@teacher.com Sattam Allahawiah Al-balqa Applied University

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Engineering. Objectives. Designing, building and maintaining large software systems Software Engineering Objectives Designing, building and maintaining large software systems To define software engineering and explain its importance To discuss the concepts of software products and software

More information

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York Software Project Management A Process-Driven Approach Ashfaque Ahmed CRC Press Taylor Si Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business

More information

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management ZAHOOR UL ISLAM XIANZHONG ZHOU University of Gothenburg Chalmers

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

Leveraging CMMI framework for Engineering Services

Leveraging CMMI framework for Engineering Services Leveraging CMMI framework for Engineering Services Regu Ayyaswamy, Mala Murugappan Tata Consultancy Services Ltd. Introduction In response to Global market demand, several OEMs adopt Global Engineering

More information

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

LECTURE 1. SYSTEMS DEVELOPMENT

LECTURE 1. SYSTEMS DEVELOPMENT LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics

More information

The Adoption of Agile Processes in Large Web Development Enterprises: A Survey in Jordan

The Adoption of Agile Processes in Large Web Development Enterprises: A Survey in Jordan The Adoption of Agile Processes in Large Web Development Enterprises: A Survey in Jordan Omaima N. A. AL-Allaf Department of Computer Information Systems Faculty of Sciences and Information Technology

More information

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

Test Cases Design for Software Database Provisioning Development

Test Cases Design for Software Database Provisioning Development Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea sunguk@rist.re.kr Abstract This paper

More information

Universiti Teknologi MARA. The Perception of IT Organizations Towards Software Development Methodology Adoption

Universiti Teknologi MARA. The Perception of IT Organizations Towards Software Development Methodology Adoption Universiti Teknologi MARA The Perception of IT Organizations Towards Software Development Methodology Adoption Fazilahsul ParidalHaisah Binti Mohd Ali Thesis submitted in fulfillment of the requirements

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Agile Framework for Globally Distributed Development Environment (The DAD Model)

Agile Framework for Globally Distributed Development Environment (The DAD Model) Agile Framework for Globally Distributed Development Environment (The DAD Model) REHAN AKBAR, MUHAMMAD HARIS, MAJID NAEEM Department of Computer Science GC University, Lahore Pakistan. rehankb@yahoo.com

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

Redesigned Framework and Approach for IT Project Management

Redesigned Framework and Approach for IT Project Management Vol. 5 No. 3, July, 2011 Redesigned Framework and Approach for IT Project Management Champa Hewagamage 1, K. P. Hewagamage 2 1 Department of Information Technology, Faculty of Management Studies and Commerce,

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES

TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES ii iii x xiv CHAPTER 1: INTRODUCTION 1 1.0 Background 1 1.1 Research Motivation 4 1.2 Research Objectives 5 1.3 Project Scope 6

More information

Evolving a Ultra-Flow Software Development Life Cycle Model

Evolving a Ultra-Flow Software Development Life Cycle Model RESEARCH ARTICLE International Journal of Computer Techniques - Volume 2 Issue 4, July - Aug Year Evolving a Ultra-Flow Software Development Life Cycle Model Divya G.R.*, Kavitha S.** *(Computer Science,

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Requirements Engineering

Requirements Engineering Murali Chemuturi Requirements Engineering and Management for Software Development Projects Foreword by Tom Gilb ^ Springer Contents 1 Introduction to Requirements Engineering and Management... 1 1.1 What

More information

Software Engineering III B.Tech IT SEM-I

Software Engineering III B.Tech IT SEM-I Software Engineering III B.Tech IT SEM-I Term: 2014-2015 Unit-1 PPT SLIDES Text Books:1.Software Engineering, A practitioner s approach Roger s. Pressman 6 th edition McGraw-Hill 2.Software Engineering

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

Chapter 2 Software Processes

Chapter 2 Software Processes Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering

More information

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface. iii Contents List of figures List of tables OGC s foreword Chief Architect s foreword Preface Acknowledgements v vii viii 1 Introduction 1 1.1 Overview 4 1.2 Context 4 1.3 Purpose 8 1.4 Usage 8 2 Management

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919 Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned

More information

Multi-Dimensional Success Factors of Agile Software Development Projects

Multi-Dimensional Success Factors of Agile Software Development Projects Multi-Dimensional Success Factors of Agile Software Development Projects Nagy Ramadan Darwish Department of Computers and Information Sciences Institute of Statistical Studies and Research Cairo University

More information

Laboratory Information Management and Process Control Software for Microbiological Laboratories of the Government Hospitals

Laboratory Information Management and Process Control Software for Microbiological Laboratories of the Government Hospitals Laboratory Information Management and Process Control Software for Microbiological Laboratories of the Government Hospitals Hewapathirana R H MSc IT 06/10000 Faculty of Information Technology University

More information

Overview of Software Engineering and the Software Development Process

Overview of Software Engineering and the Software Development Process Overview of Software Engineering and the Software Development Process CONTENTS I. Definition of Software and Characteristics of Software II. Types / Categories of Software 1. System Software 2. Real-time

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.

A Software Engineering Process for Operational Space Weather Systems. S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx. A Software Engineering Process for Operational Space Weather Systems S. Dave Bouwer, W. Kent Tobiska Space Environment Technologies www.spacewx.com Transitioning Research Models into Operations Software

More information

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Transdyne Corporation CMMI Implementations in Small & Medium Organizations Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Dana Roberson Quality Software Engineer NNSA Service

More information

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24 Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes

More information

NEOXEN MODUS METHODOLOGY

NEOXEN MODUS METHODOLOGY NEOXEN MODUS METHODOLOGY RELEASE 5.0.0.1 INTRODUCTION TO QA & SOFTWARE TESTING GUIDE D O C U M E N T A T I O N L I C E N S E This documentation, as well as the software described in it, is furnished under

More information

Building Software in an Agile Manner

Building Software in an Agile Manner Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over

More information

A STUDY ON SOTWARE PRODUCT DEVELOPMENT APPROACHES IN THE SRI LANKAN SOFTWARE INDUSTRY

A STUDY ON SOTWARE PRODUCT DEVELOPMENT APPROACHES IN THE SRI LANKAN SOFTWARE INDUSTRY u b / s o ^ /?2 /o~j A STUDY ON SOTWARE PRODUCT DEVELOPMENT APPROACHES IN THE SRI LANKAN SOFTWARE INDUSTRY By V.Manoharan LIBRARY HWIVERSITY OF R/iORATuWA, SRI LANKA MORATUWA The Dissertation was submitted

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Software Requirements, Third Edition

Software Requirements, Third Edition j Microsoft Software Requirements, Third Edition Karl Wiegers and Joy Beatty Contents Introduction Acknowledgments xxv xxxi PART I SOFTWARE REQUIREMENTS: WHAT, WHY, AND WHO Chapter 1 The essential software

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Web Application Development Processes: Requirements, Demands and Challenges

Web Application Development Processes: Requirements, Demands and Challenges Web Application Development Processes: Requirements, Demands and Challenges THAMER AL-ROUSAN 1, BASEM HADIDI 2, SHADI ALJAWARNEH 3 1, 3 Faculty of Science and Information Technology, Isra University, Amman,

More information

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Dipak Surie, Email : ens03dse@cs.umu.se Computing Science Department Umea University, Umea, Sweden Abstract. During software development,

More information

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model by Bill Cottrell and John Viehweg Software Engineering Specialists

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 The essence of

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

risks in the software projects [10,52], discussion platform, and COCOMO

risks in the software projects [10,52], discussion platform, and COCOMO CHAPTER-1 INTRODUCTION TO PROJECT MANAGEMENT SOFTWARE AND SERVICE ORIENTED ARCHITECTURE 1.1 Overview of the system Service Oriented Architecture for Collaborative WBPMS is a Service based project management

More information

MTAT.03.243 Software Engineering Management

MTAT.03.243 Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 17: Other SPI Frameworks and QM Systems Dietmar Pfahl Spring 2014 email: dietmar.pfahl@ut.ee Structure of Lecture 17 Other SPI Frameworks People CMM

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 EXAMINERS REPORT Friday 2 nd October 2015 Answer any THREE

More information

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1

Quality Systems Frameworks. SE 350 Software Process & Product Quality 1 Quality Systems Frameworks 1 What is a Quality System? An organization uses quality systems to control and improve the effectiveness of the processes used to deliver a quality product or service A Quality

More information

TDWI Project Management for Business Intelligence

TDWI Project Management for Business Intelligence TDWI Project Management for Business Intelligence Format : C3 Education Course Course Length : 9am to 5pm, 2 consecutive days Date : February, 2012 Venue : Syd / Melb - TBC Cost : Early bird rate $1,998

More information

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction Lecture Slides for Managing and Leading Software Projects Chapter 1: Introduction developed by Richard E. (Dick) Fairley, Ph.D. to accompany the text Managing and Leading Software Projects published by

More information

Certified Software Quality Engineer (CSQE) Body of Knowledge

Certified Software Quality Engineer (CSQE) Body of Knowledge Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

Developing CMMI in IT Projects with Considering other Development Models

Developing CMMI in IT Projects with Considering other Development Models Developing CMMI in IT Projects with Considering other Development Models Anahita Ahmadi* MSc in Socio Economic Systems Engineering Organizational Process Development Engineer, International Systems Engineering

More information

Software Engineering. Software Engineering. Software Costs

Software Engineering. Software Engineering. Software Costs Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation. Ian

More information

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost

More information

Windchill PDMLink 10.2. Curriculum Guide

Windchill PDMLink 10.2. Curriculum Guide Windchill PDMLink 10.2 Curriculum Guide Live Classroom Curriculum Guide Update to Windchill PDMLink 10.2 from Windchill PDMLink 9.0/9.1 for the End User Introduction to Windchill PDMLink 10.2 for Light

More information

Software Development Life Cycle

Software Development Life Cycle 4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...

More information

Development (60 ЕCTS)

Development (60 ЕCTS) Study program Faculty Cycle Software and Application Development (60 ЕCTS) Contemporary Sciences and Technologies Postgraduate ECTS 60 Offered in Tetovo Description of the program The objectives of the

More information

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and

Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and Copyright is owned by the Author of the thesis. Permission is given for a copy to be downloaded by an individual for the purpose of research and private study only. The thesis may not be reproduced elsewhere

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,

More information

Software Maintenance Management

Software Maintenance Management Software Maintenance Management Evaluation and Continuous Improvement Alain April Alain Abran IEEE COMPUTER SOCIETY iwiley- INTERSCIENCE A JOHN WILEY & SONS, INC., PUBLICATION Contents Foreword Thomas

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

More information

The Software Life Cycle. CSE 308: Software Engineering

The Software Life Cycle. CSE 308: Software Engineering The Software Life Cycle CSE 308: Software Engineering 1 Life Cycle Models A software life cycle model represents all of the activities and work products necessary to develop a software system Life cycle

More information

CMSC 435: Software Engineering Course overview. Topics covered today

CMSC 435: Software Engineering Course overview. Topics covered today CMSC 435: Software Engineering Course overview CMSC 435-1 Topics covered today Course requirements FAQs about software engineering Professional and ethical responsibility CMSC 435-2 Course Objectives To

More information

ADAPTING THE SOFTWARE ENGINEERING PROCESS TO WEB ENGINEERING PROCESS

ADAPTING THE SOFTWARE ENGINEERING PROCESS TO WEB ENGINEERING PROCESS ADAPTING THE SOFTWARE ENGINEERING PROCESS TO WEB ENGINEERING PROCESS Sandeep Kumar Satyaveer Sangwan Department of Information Technology, M. M. Engineering College, M. M. University, Mullana-Ambala (Haryana),

More information

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria

More information

Process Improvement. Objectives

Process Improvement. Objectives Process Improvement Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 1 Objectives To explain the principles of software process improvement To explain how software process factors

More information

Business Model Innovation in Wealth Management

Business Model Innovation in Wealth Management Business Model Innovation in Wealth Management DISSERTATION of the University of St. Gallen, Graduate School of Business Administration, Economics, Law and Social Sciences (HSG) to obtain the title of

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

IT3205: Fundamentals of Software Engineering (Compulsory) INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design

More information

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Software Engineering for Software-Intensive Systems: III The Development Life Cycle Software Engineering for Software-Intensive Systems: III The Development Life Cycle Assistant Professor Dr. Room E 3.165 Tel. 60-3321 Email: hg@upb.de Outline I Introduction II Foundations III The Development

More information

LDAP Authentication Configuration Appendix

LDAP Authentication Configuration Appendix 1 Overview LDAP Authentication Configuration Appendix Blackboard s authentication technology is considered a focal point in the company s ability to provide true enterprise software. Natively, the Blackboard

More information

ITIL-CMM Process Comparison

ITIL-CMM Process Comparison ITIL-CMM Process Comparison For More information: l.lee@pinkelephant.com s.crymble@pinkelephant.com www.pinkelephant.com Page 1 Pink Elephant understands many organizations are currently striving to improve

More information

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation Despite significant efforts to improve engineering practices and technologies,

More information

Role of Software Quality Assurance in Capability Maturity Model Integration

Role of Software Quality Assurance in Capability Maturity Model Integration Role of Software Quality Assurance in Capability Maturity Model Integration Rekha Chouhan 1 Dr.Rajeev Mathur 2 1 Research Scholar, Jodhpur National University, JODHPUR 2 Director, CS, Lachoo Memorial College

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Component Based Development in Software Engineering

Component Based Development in Software Engineering Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software

More information

CONTENTS Preface xv 1 Introduction

CONTENTS Preface xv 1 Introduction Preface xv 1 Introduction 1 1.1 Introduction to Software Project Management, 1 1.2 Objectives of This Chapter, 2 1.3 Why Managing and Leading Software Projects Is Difficult, 2 1.3.1 Software Complexity,

More information

Contents. Introduction... 1

Contents. Introduction... 1 Managed SQL Server 2005 Deployments with CA ERwin Data Modeler and Microsoft Visual Studio Team Edition for Database Professionals Helping to Develop, Model, and Maintain Complex Database Architectures

More information

Comparison and problems between Traditional and Agile software development methods

Comparison and problems between Traditional and Agile software development methods Lappeenranta University of Technology School of Industrial Engineering and Management Software Engineering and Information Management Department of Master Degree Program in Computer Science Mehar Ullah

More information