A Comparative Study of Heavyweight and Lightweight Methodologies of Software Development

A Comparative Study of Heavyweight and Lightweight Methodologies of Software Development

البحث العلمي المؤتمرات العلمية ابحاث المؤتمرات العلمية

اسم الباحث     :    Amal Yahiya Al-Hashida Mohammed Shabbir Al-HaraziKhalil Saeed Al-Wagih Najeeb M. K Abu Alseoud Suad Mohammed Othman
سنة النشر     :    2017
ملخص البحث     :   


Abstract
Nowadays, software companies aim to produce valuable software in a short time period with a less cost. The success of a software development project heavily depends on software development methodology. There are two kinds of software methodologies that are heavyweight and lightweight. The aim of this paper is to classify some of software methodologies to heavyweight and lightweight. Advantages and disadvantages of the selected methodologies have discussed. Further a comparative study and discussion among of the selected methodologies have done.
Keywords: - Heavyweight Methodologies, Lightweight Methodologies, Software, SDLC.
1. Introduction
Recently, computers are part of our daily lives, and they make our work easier and faster. It is difficult to find any area or product where computers are not being used. Besides, the development of information technology makes people use software in every society, and it can be said software become a crucial part of any modern human society.
Software engineering is an engineering discipline whose target is to enhance quality products. A software product which reliable, within a given time schedule and within estimated cost [1]. Any organization that will develop software will face difficulties of selecting the suitable software development methodology. Therefore, how should a software engineering project be managed? The answer is not unique nor is it clearly defined. The answer is a combination of many factors. One of the key factors in the management of an engineering project is the methodology. A software development methodology is a set of rules and guidelines that are used in the process of researching, planning, designing, developing, testing, setup and maintaining a software product [2].Two well-known classes of software engineering development methodology are the Heavyweight and Lightweight. Heavyweight Methodologies are derived from the Waterfall Methodology. Lightweight Methodologies are derived from the Agile Methodology [2]. The aim of this paper is to classify the most popular Heavyweight and Lightweight Methodologies and review some of these methodologies that are popular practiced in software industries.
The rest of this paper is organized as follows: section 2 describes the SDLC, section 3 classification of software development methodology, section 4 describes some selected Heavyweight Methodologies along with their advantages and disadvantages, section 5 describes some selected Lightweight methodologies along with their advantages and disadvantages, section 6 comparison of some Heavyweight and Lightweight Methodologies, section 7 contains the discussion. Conclusion discussed in section 8.
2. System Development Life Cycle:
SDLC or software development life cycle is systematic approach that describes the life of a software product, and it solves problem and consists of a set of stages, each comprising multiple steps. All the stages are conceded according to the needs. The life cycle defines a methodology for enhancing the quality of the software and the whole development methodology[3].
SDLC provides a series of activities for system developers and designers to follow and develop software. Currently, organizations have many choices of methodologies to their own software, and each methodology satisfies specific customer’s needs.
The software life cycle typically includes the following stages [3]:
1- Planning.
2- Analysis.
3- Design.
4- Implementation.
5- Maintenance.
In the opinion of other researchers, they said software development life cycle consists of seven stages, namely: planning (project planning), requirement analysis (requirement definition), design, development (building), test (integration and test), deployment (installation and acceptance) [4] [5] [6] The following figure 1 represents the various stages of a typical SDLC. For more information, please read [3][4][5][6] [17] [18].

رجوع