A software Process model is a standardised format for planning, organising, and runninga new software development project. The need to complete and deliver software projects faster require using a suitable model.
There are several different kind of models being used which have evolved over the years, in this paper we carried out survey on the following main types of model; waterfall model, V-model, Component assembly model, Chaos model, Incremental model, Prototyping model, Spiral model, Rapid application development (RAD) model, Agile model, rational unified process (RUP), Iconix process and Software ecosystem (SECO) model by describing their characteristic features.
We concluded the study by listing the strengths and weaknesses of each of this models.
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
There are various SDLC models widely accepted and employed for developing software.
SDLC models give a theoretical guide line regarding development of the software. Employing proper
SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its
advantages and disadvantages making it suitable for use under specific condition and constraints for
specified type of software only. We need to understand which SDLC would generate most successful
result when employed for software development. For this we need some method to compare SDLC
models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC
models is a complex task as there is no mathematical theorem or physical device available. The essence
of this paper is to analyse some methodologies that could result in successful comparison of the SDLC
models. For this we have studied various available tools, techniques and methodologies and have tried
to extract most simple, easy and highly understandable method for comparing SDLC models.
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
There are various SDLC models widely accepted and employed for developing software.
SDLC models give a theoretical guide line regarding development of the software. Employing proper
SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its
advantages and disadvantages making it suitable for use under specific condition and constraints for
specified type of software only. We need to understand which SDLC would generate most successful
result when employed for software development. For this we need some method to compare SDLC
models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC
models is a complex task as there is no mathematical theorem or physical device available. The essence
of this paper is to analyse some methodologies that could result in successful comparison of the SDLC
models. For this we have studied various available tools, techniques and methodologies and have tried
to extract most simple, easy and highly understandable method for comparing SDLC models.
‘O’ Model for Component-Based Software Development Processijceronline
The technology advancement has forced the user to become more dependent on information technology, and so on software. Software provides the platform for implementation of information technology. Component Based Software Engineering (CBSE) is adopted by software community to counter challenges thrown by fast growing demand of heavy and complex software systems. One of the essential reasons behind adopting CBSE for software development is the fast development of complicated software systems within well-defined boundaries of time and budget. CBSE provides the mechanical facilities by assembling already existing reusable components out of autonomously developed pieces of the software. The paper proposes a novel CBSE model named as O model, keeping an eye on the available CBSE lifecycle.
A Software System Development Life Cycle Model for Improved Students Communic...IJCSES Journal
Software engineering provides methodologies, concepts and practices, which are used for analyzing,designing, building and maintaining the information in a software industry. Software Development Life Cycle (SDLC) model is an approach used in the software industry for the development of various size
projects: small scale projects, medium scale projects and large scale projects. A software project of any size is developed with the co-ordination of development team. It is therefore important to assign resources intelligently to the different phases of the software project by the project manager. This study proposes a
model for the spiral development process with the use of a simulator (Simphony.NET), which helps the project manager in determining how to increase the productivity of a software firm with the use of minimum resources (expert team members). This model increase the utilization of different development
processes by keeping all development team members busy all the time, which helps in decreasing idle and waste time.
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESijseajournal
Model driven development is an effective method due to its benefits such as code transformation, increasing
productivity and reducing human based error possibilities. Meanwhile, agile software development
increases the software flexibility and customer satisfaction by using iterative method. Can these two
development approaches be combined to develop web applications efficiently? What are the challenges and
what are the benefits of this approach? In this paper, we answer these two crucial problems; combining
model driven development and agile software development results in not only fast development and
easiness of the user interface design but also efficient job tracking. We also defined an agile model based
approach for web applications whose implementation study has been carried out to support the answers we
gave these two crucial problems.
Software development process models
Rapid Application Development (RAD) Model
Evolutionary Process Models
Spiral Model
THE FORMAL METHODS MODEL
Specialized Process Models
The Concurrent Development Model
‘O’ Model for Component-Based Software Development Processijceronline
The technology advancement has forced the user to become more dependent on information technology, and so on software. Software provides the platform for implementation of information technology. Component Based Software Engineering (CBSE) is adopted by software community to counter challenges thrown by fast growing demand of heavy and complex software systems. One of the essential reasons behind adopting CBSE for software development is the fast development of complicated software systems within well-defined boundaries of time and budget. CBSE provides the mechanical facilities by assembling already existing reusable components out of autonomously developed pieces of the software. The paper proposes a novel CBSE model named as O model, keeping an eye on the available CBSE lifecycle.
A Software System Development Life Cycle Model for Improved Students Communic...IJCSES Journal
Software engineering provides methodologies, concepts and practices, which are used for analyzing,designing, building and maintaining the information in a software industry. Software Development Life Cycle (SDLC) model is an approach used in the software industry for the development of various size
projects: small scale projects, medium scale projects and large scale projects. A software project of any size is developed with the co-ordination of development team. It is therefore important to assign resources intelligently to the different phases of the software project by the project manager. This study proposes a
model for the spiral development process with the use of a simulator (Simphony.NET), which helps the project manager in determining how to increase the productivity of a software firm with the use of minimum resources (expert team members). This model increase the utilization of different development
processes by keeping all development team members busy all the time, which helps in decreasing idle and waste time.
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESijseajournal
Model driven development is an effective method due to its benefits such as code transformation, increasing
productivity and reducing human based error possibilities. Meanwhile, agile software development
increases the software flexibility and customer satisfaction by using iterative method. Can these two
development approaches be combined to develop web applications efficiently? What are the challenges and
what are the benefits of this approach? In this paper, we answer these two crucial problems; combining
model driven development and agile software development results in not only fast development and
easiness of the user interface design but also efficient job tracking. We also defined an agile model based
approach for web applications whose implementation study has been carried out to support the answers we
gave these two crucial problems.
Software development process models
Rapid Application Development (RAD) Model
Evolutionary Process Models
Spiral Model
THE FORMAL METHODS MODEL
Specialized Process Models
The Concurrent Development Model
Tiara Ramadhani - Program Studi S1 Sistem Informasi - Fakultas Sains dan Tekn...Tiara Ramadhani
Tugas ini di buat untuk memenuhi salah satu tugas mata kuliah pada Program Studi S1 Sistem Informasi.
Oleh ;
Nama : Tiara Ramadhani.
NIM ; 11453201723
SIF VII E
UIN SUSKA RIAU
Wearables are small electronic devices, often comprising one or more sensors and having computational capability. Devices such as wrist watches, pens, and glasses with installed cameras are now available at cheap prices for user to purchase to monitor or securing themselves. The Nigerian state at this period is faced with a lot of kidnapping activities in schools, homes and abduction for the purpose of ransomed collection and other illegal activities necessitate these reviews. The success of the wearable technology in medical uses prompted the research into application into security uses. The method of research is the use of case studies and literature search. This paper takes a look at the possible applications of the wearable technology to combat the cases of abduction and kidnapping in Nigeria.
A REVIEW OF APPLICATIONS OF THEORY OF COMPUTATION AND AUTOMATA TO MUSICDr. Michael Agbaje
Theory of Computation and Automata is a theoretical branch of computer science. It established its roots during 20th Century when mathematicians began developing theoretically and literally machines which mimic certain features of man, completing calculations more quickly and reliably. The word automaton is closely related to the word "automation", meaning automatic processes carrying out the production of specific processes. Automata theory deals with the logic of computation with respect to simple machines, referred to as automata. Through automata, computer scientists are able to understand how machines compute functions and solve problems and more importantly, what it means for a function to be defined as computable or for a question to be described as decidable (Stanford(2004),Cristopher(2013))
Ethics has to do with moral principles that control or influence a person’s behavior. Research ethics has taken a prime position in the process of research. Digital watermarking as a technology that embeds information, in machine-readable form, within the content of a digital media file could raise privacy issues if deployed in ways that fail to take privacy into account. Digital watermarking can be applied to different applications including digital signatures, fingerprinting, broadcast and publication monitoring, authentication, copy control, and secret communication. This paper brings to view various ethical concerns of digital watermarking such as privacy, piracy, deception and anonymity.
This paper illustrates that cellular automata can drive
the spread of gossips in our environment using
stochastic model. The spread of rumour is
encouraged by the use of homogeneous cells which
can either be allowed or disallowed which is further
influenced by a parity model in modelling physical
science which comprises four cells signifying the
white cell as never heard and the black cell as having
heard. This generates a rule which determines if a
cell lives or dies. We can observe that if the cell is
white, and it has one or more black neighbours,
consider each black neighbour in turn. For each black
neighbour, change to black with some specific
probability, otherwise remain white. While on the
other hand, once a cell becomes black, the cell
remains black
PARASITIC COMPUTING: PROBLEMS AND ETHICAL CONSIDERATIONDr. Michael Agbaje
Parasitic computing is programming technique where a program in normal authorized interactions with another program manages to get the other program to perform computations of a complex nature. It is, in a sense, a security exploit in that the program implementing the parasitic computing has no authority to consume resources made available to the other program.The paper takes a look at the ethical issues of parasitic computing and suggest a look into the current operation of the internet TCP/IP.
— Short Message Service (SMS) is the text communication service component of phone, web or mobile communication systems, using standardized communications protocols that allow the exchange of short text messages between fixed line or mobile phone devices. The usage SMS as data application in the world is enormous, with 2.4 billion active users, or 74% of all mobile phone subscribers. This paper develops an SMS voting system that can be used in conducting a trustworthy and generally acceptable electoral conduct based on the legislation of a particular country. It is base on a level structure and a national SIM card module used for only electoral process. The SIM card can be used for either the Internet voting system or the SMS voting. The method is cheap and fast and guarantees prompt election result.
Broadcast monitoring is the process of tracking and observing activities on broadcasting channels in compliance with intellectual property rights and other illegal activities not conforming to broadcasting laws using the computer or human system. The problem here has a unique challenge from the pattern recognition point of view because a very high recognition rate is needed under non- ideal conditions. There is also a problem in comparing a small audio sequence with a large audio stream (the broadcast) searching for matches. Broadcast monitoring could be active or passive. In this paper we did a review of the various application and techniques useful to broadcast monitoring systems.
Effect of Block Sizes on the Attributes of Watermarking Digital ImagesDr. Michael Agbaje
This work examines the effect of block sizes on attributes (robustness, capacity, time of watermarking, visibility and distortion) of watermarked digital images using Discrete Cosine Transform (DCT) function. The DCT function breaks up the image into various frequency bands and allows watermark data to be easily embedded. The advantage of this transformation is the ability to pack input image data into a few coefficients. The block size 8 x 8 is commonly used in watermarking. The work investigates the effect of using block sizes below and above 8 x 8 on the attributes of watermark. The attributes of robustness and capacity increase as the block size increases (62-70db, 31.5-35.9 bit/pixel). The time for watermarking reduces as the block size increases. The watermark is still visible for block sizes below 8 x 8 but invisible for those above it. Distortion decreases sharply from a high value at 2 x 2 block size to minimum at 8 x 8 and gradually increases with block size. The overall observation indicates that watermarked image gradually reduces in quality due to fading above 8 x 8 block size. For easy detection of image against piracy the block size 16 x 16 gives the best output result because it closely resembles the original image in terms of visual quality displayed despite the fact that it contains a hidden watermark.
A 3-dimensional motion sensor and tracking system using vector analysis methodDr. Michael Agbaje
The importance of security in today’s world cannot be overemphasized. It is therefore, imperative to have a cheaper and lower resource requiring methods of achieving good security. Leaving home, work place, a child or somewhere important that needs supervision unattended is now a days not safe. There should be a form of supervision or surveillance either in person or by a machine. This research aimed at designing an electronic based device to provide such surveillance by sensing and tracking a single object in 3-Dimensional (3-D) motion within a defined space. Peering into the natural world it is found that animals such as dolphins, owls and bats locate objects and prey using sound, some animals even sense distortions in electromagnetic waves. Inspiration is not only garnered from nature but also from current technologies for this research. Three electronic sensors namely passive infra-red, active infrared and ultrasonic are evaluated and considered for designing a 3-D motion tracking system using mathematical method of vector analysis. An extensive look into the workings and features of all thethree sensors was done in order to find which sensor holds the greatest capacity for sensing an objects motion and obtaining the relative position of an object by the sensor in 3-dimensional space. Once achieved, the process of measurement can be done repeatedly at distinct time intervals to track the motion of the object in 3D space. The major benefit of this research is for the security and surveillance of property or personnel but is not limited to this. There is also an opportunity for applications in other areas such as in sports for tracking the 3D motion of an athlete and can also assist in evaluating player statistics such as speed and acceleration.
The measure of computerized information being created and put away is expanding at a disturbing rate. This information is classified and handled to distil and convey data to clients crossing various businesses for example, finance, online networking, gaming and so forth. This class of workloads is alluded to as throughput computing applications. Multi-core CPUs have been viewed as reasonable for handling information in such workloads. Be that as it may, energized by high computational throughput and energy proficiency, there has been a fast reception of Graphics Processing Units (GPUs) as computing engines lately. GPU computing has risen lately as a reasonable execution stage for throughput situated applications or regions of code. GPUs began as free units for program execution however there are clear patterns towards tight-sew CPU-GPU integration. In this paper, we look to comprehend cutting edge Heterogeneous System Architecture and inspect a few key segments that influences it to emerge from other architecture designs by analyzing existing inquiries about, articles and reports bearing and future open doors for HSA systems.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Navigating the Metaverse: A Journey into Virtual Evolution"Donna Lenk
Join us for an exploration of the Metaverse's evolution, where innovation meets imagination. Discover new dimensions of virtual events, engage with thought-provoking discussions, and witness the transformative power of digital realms."
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
1. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
A Survey of Software Process Models
J.V. Joshua, S.O. Okolie, O.D. Alao, M.O. Agbaje
Department of ComputerScience, Babcock University,Ilishan-Remo, Ogun State,Nigeria.
ABSRACT – A software Process model is a standardised format for planning, organising, and runninga new
software development project. The need to complete and deliver software projects faster require using a suitable
model.
There are several different kind of models being used which have evolved over the years, in this paper we
carried out survey on the following main types of model; waterfall model, V-model, Component assembly model,
Chaos model, Incremental model, Prototyping model, Spiral model, Rapid application development (RAD)
model, Agile model, rational unified process (RUP), Iconix process and Software ecosystem (SECO) model by
describing their characteristic features.
We concluded the study by listing the strengths and weaknesses of each of this models.
Keywords – Software, Software Process, Software Process Model, Software development
I. Introduction
Software is a major worldwide industry and demand is increasing exponentially [10]; [3]; [13]; [7]; [12].
Software pervades a multitude of products, in social, business and military human-machine systems. It includes
information technology systems, developed for gathering, processing, storing, retrieval and manipulation of
information, to meet organizational needs, and commercially-developed software products, sold to one, or more,
customers or end-users. Software offering functionality to an end-user is also called application software, and
might be a product on its own, or might be embedded in a larger system or machine. Figuratively speaking,
application software sits on top of system software, which are low-level programs, such as operating systems
and utilities for managing computer resources, which interact with the computer at a basic level.
Software Process is an organised set of activities aimed at building a software system. Software Process
Model is an abstract representation of a software process.
There are several software development models employed to develop this solution, some methodologies or
models are suitable for a particular domain.
In the next section, we give an insight to different development models that have evolves over years to the
present.
2. Software Development Models
2.1 Waterfall Model
The waterfall model is one of the earliest models in which phases are executed sequentially. The life cycle of
software development starts with the first stage and moves down through the various stages until the last stage:
implementing the software in a live environment. All stages in the waterfall model are cascaded so that each
stage will start only when all tasks identified in the previous stage are complete as shown in Fig.1. The phases in
the waterfall model do not overlap with each other, thereby making the model quite easy to use.
2. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Fig.1. The waterfall model. [17]
2.2 V-Model
The V-model is a software development model in which testing activities are performed in parallel with
development activities. The phases of software development are placed on the left of the V-model and their
corresponding phases of testing are placed on the right. Similar to the waterfall model, in this model, the life
cycle of software starts with the requirement phase, except that an additional plan is created to check that
requirements are gathered properly. This helps to identify any issues in the requirement specification at an early
stage in the development life cycle. Similarly, different test plans are created during all of the phases until the
coding phase before moving on to the next phase.After the coding phase is complete, the cycle goes up the right
side where test plans created earlier are used. Fig.2 below shows the V-model phases.
Fig. 2. The V-model.[1]
2.3 Component Assembly Model
The component assembly model is a unique development model that uses existing components to build a new
system. Instead of writing code from scratch, existing code is analysed to verify whether it can be reused. The
identified components are then integrated into the new system (Fig. 3). This is mainly implemented when
systems are built using object-oriented technologies. These technologies provide the ideal platform for
developing systems using the component assembly model. They also enable you to build object-oriented classes
that can be reused across various systems and applications.
3. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Fig. 3 Components from an existing system being reused in a new system. [17]
2.4 Chaos Model
The chaos model is an SDLC model that employs a chaotic and unstructured software development process. It
identifies different levels of problem solving in a software development project such as top levels, upper levels,
lower levels, and bottom levels of problem solving as shown in fig.4. The top levels involve the development
and maintenance of a whole system. The upper levels address the development and maintenance of individual
components. The lower levels focus on the development and maintenance of objects and functions. Finally, the
bottomlevels of problem solving involve the development and maintenance of individual lines of code
Fig. 4 The Chaos Model [15]
2.5 The Incremental Model
The incremental model is a software development model in which individual modules of the system are
developed and integrated in stages as shown in Fig. 5). Integration of two or more components is not dependent
on the rest of the components. In this model, however, modules once developed cannot be modified to
accommodate new requirements. Because modules are viewed independent of one another, feedback for one
module is not implemented in other modules.
Validate
increment
Develop system
increment
Design system
architecture
Integrate
increment
Validate
system
Define outline
requirements
Assign requirements
to increments
System incomplete
Final
system
Fig. 5. Incremental model [17]
4. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
2.6 Prototyping Model
Software Prototyping is the process of creating a system that is not complete in every respect but bears a
resemblance to the actual system. The incomplete system, called a prototype, typically simulates only certain
features of the actual system and sometimes can even be completely different from the system that will finally
be developed (Fig. 6). The main purpose of prototyping is to allow end users to evaluate the prototypes of the
eventual system. Prototyping provides an opportunity for the end user to list requirements that were not
identified earlier. The many variants of software prototyping include throwaway, evolutionary, incremental, and
extreme prototyping.
Fig. 6. Creation of the prototype of the actual system.[17]
2.7 The Spiral Model
The Spiral Model is an iterative software development model that involves creating an initial prototype of the
final software product, and then carrying out various cycles of adding new functionality and releasing
subsequent prototypes, with the prototype becoming larger with each iteration. It has four phases: planning, risk
analysis, engineering, and evaluation as shown in Fig. 7. One cycle of all four phases executed in sequence is
called a spiral and a prototype is created after the first spiral. This prototype goes through an evaluation process
for assessing its strengths, weaknesses, and risks. After the review of the previous spiral, the next prototype is
built by applying changes or adding new features as suggested by the client. The iteration continues until all of
the requirements are met and the final refined prototype is obtained.
Fig. 7. The spiral Model. [3]
2.8 The Rapid Application Model (RAD) Model
Rapid Application Development (RAD) is a software development model that uses iterations for software
development. It operates by building prototypes at the end of each iteration using automated tools that help not
only to expedite software development but also to ensure the highest quality of the software developed. It
compresses the linear steps in traditional models into short iterations during development (Fig. 8). It is flexible,
5. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
produces fewer errors, and involves users at every stage of development. The downside to this model is that it is
not suitable for every single project because it compromises on some of the features needed in large, mission-
critical projects. RAD is extensively used in projects with low scope and for tasks that can be broken down into
smaller chunks.
Fig. 8. The RAD model. [14]
2.9 The Agile Model
The Agile Model is a software development methodology that is based on iterative development, wherein teams
collaboratively work to implement various iterations in a project life cycle [5]. It divides project tasks into small
increments, and therefore involves only short-term planning. Each iteration consists of several phases, each of
which is completed in a short span of time ranging between one and four weeks. A complete project will consist
of a large number of these iterations as indicated in Fig. 9. At the end of each iteration, a functional, usable piece
of software is produced. At the core of its superiority over the other models lies its flexibility to incorporate
customer’s feedback right after an acceptance walkthrough of an increment, minimizing overall risks. A generic
agile model is composed of six phases: iteration-1, iteration-0, construction, release, production, and retirement.
Fig.9. The Agile model. [6].
2.10 The Rational Unified Process (RUP) Model
The Rational Unified Process (RUP) is an adaptable software development process used by both large
organizations and small teams to develop software. It is a form of iterative development process that can be
varied to suit the requirements of the organization where it is implemented. RUP mainly uses tools to create
models of software being developed, sparing developers the trouble of documenting the development on paper.
RUP's life cycle consists of four consecutive phases: inception, elaboration, construction, and transition as
shown in fig. 10. In the inception phase, the concept behind the process is reiterated and the boundaries of the
project are defined. In the elaboration phase, the problem domain is identified and architecture established. In
the construction phase, the software is developed. Finally, in the transition phase, the product is sent to the user
domain.
6. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Fig. 10. The various phases in RUP. [16]
2.11 The Iconix Process Model
Iconix is a software development process that is mainly concerned with use case development process. Use
cases are interactions that are recorded between the user and the system as shown in fig. 11. The Iconixprocess
provides adequate documentation for requirements and design analysis carried out during the development
process.It uses a method called robustness analysis that overcomes the differences between design and analysis.
It is extremely efficient and helps in easier design, testing and estimation of use cases. The Iconix process
consists of four phases: Requirements, Preliminary Analysis, Detailed Design, and Implementation.
Fig. 11. The features of iconix process [8]
2.12 The Software Ecosystem(SECO) Model
A Software Ecosystem consists of set of software solutions that enables supports and automates the activities
and transactions by the actors in the associated social or business ecosystemand the organizations that provide
these solutions [4]. Fig. 12 illustrates the main actors in a Software Ecosystem Model. The supplier (keystone
organization) develops the product line. This development is guided by a strategy, which points out needs and
opportunities and main paths of development. Both the strategy and the development of the product line
are to some extent visible to external actors. These consist of (at least) customers and third parties, but can
also involve others such as suppliers. Third parties use the product line as a platform to serve customers with
additional solutions and services. Being a part of an ecosystem means that these actors learn about each other.
The supplier learns about requirements, needs, ideas, opportunities, and others. In re t u rn , external actors
learn about the development of the technology of common interest (the product line), and may even participate
actively in the development.
7. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Fig. 12. A conceptual model of a software ecosystem[9]
3. Results
The tables below summarises the strengths and weaknesses of each of the models describe in this study.
Table 1:The Waterfall Model
Strength Weakness
Planning and scheduling can be
done quite easily
The start time and the completion
time of each phase can be clearly
defined.
The system requirements are
identified long before
programming begins.
Changes to the requirements are
minimised as the project
proceeds.
Highly visible
Project monitoring is easy.
The scope for revising the system is limited
because we do not go back to a phase once it is
completed.
It suffers lack of flexibility because once
requirements are collected and the system moves
on to the next phase, additions to the requirements
are not possible.
New requirements has to be incorporated on to the
next version once requirements is not capture at
requirement phase therefore leading to project cost
and affecting profitability.
Freezing the specification is difficult
Table 2:The V Model
Strength Weakness
It allows planning to be done quite
early in the System Development
Life Cycle (SDLC) before
performing the testing.
It is less complex and easier to use
and manage because test planning
is involved very early in the SDLC
Each phase has a specific
deliverable, so it can be analysed
The non-availability of a prototype until the
implementation phase is complete.
It does not easily handle concurrent events.
It does not contain risk analysis activities.
Very rigid and least flexible.
Software is developed during the implementation
phase, so no early prototypes of the software are
produced.
If any changes happen in midway, then the test
8. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
separately.
Emphasizes planning for
verification and validation of the
product in early stages of product
development phase.
Project management can track
progress by milestones.
It is easy to use
documents along with requirement documents has
to be updated.
Table 3:The Component Assemble Model
Strength Weakness
The model is used where
technologies such as JavaScript
and AJAX play important role.
It helps reduce development time
considerably.
Facilitate widespread use of
frameworks by developer’s
community.
It enable developers to focuses on
customer requirements.
It leads to software reusability.
It leads to reduction of production
cost and save production time.
It increases systems reliability.
Compatibility may arise if developers is not
careful enough in choosing components used
thereby negating reduce development time.
If the framework of the component is different it
will only give the developer a hard time in
improving the system.
A component created to answer a specific question
may not be easily integrated to a specific system
because of compatibility issues.
There is no formal licensing scheme on using
components.
Poor integration of architecture changes into
implementation process affected implementation
process and the architecture design negatively
Less control over the system’s evolution
Compromises in requirements are needed.
Table 4:The Chaos Model
Strength Weakness
It identifies different levels of
problem solving in a software
development project such as top
levels, upper levels, lower levels,
and bottom levels of problem
solving.
Faster development
Less cost of project
It is unstructured software development process.
May require high level of expertise.
Table 5:The Incremental Model
Strength Weakness
Provides better support for process
iteration
Reduces rework in the software
construction process
Some decisions on requirements
may be delayed
Allows early delivery of parts of
the system
Supports easier integration of sub-
systems
Lower risk of project failure
Increments need be relatively small
Mapping requirements to increments may not be
easy
Common software facilities may be difficult to
identify
9. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Delivery priorities can be more
easily set
Table 6:The Prototyping Model
Strength Weakness
Developers can receive feedback
from users early in the project.
It allows end users to compare
their requirements with the
developed prototype and identify
discrepancies.
The final product would meet most
user expectations.
It helps the developer to estimate
the time required for project
completion more accurately.
Useful for obtaining user
requirements
As the developer tends to focus more on the
prototype, he may actually lose sight of the
complete system, this may not meet prescribed
specifications
It may incurred excessive development time.
There may be user confusion of prototype and
finished system.
If excessive time is devoted to developing a
prototype, it may bring down the productivity of
the project, thereby increasing the cost of the
project.
Table 7:The Spiral Model
Strength Weakness
It ensures a very high quality
product because of prototyping at
each stage in systemdevelopment.
Highly suitable for high risk
project.
Project monitoring is more
effective.
Provides early indication of
insurmountable risks, without
much cost.
Users see the systemearly because
of rapid prototyping tools.
Critical high-risk functions are
developed first.
The design does not have to be
perfect.
Users can be closely tied to all life-
cycle steps.
Early and frequent feedback from
users.
Cumulative costs can be assessed
frequently.
Due to the numerous iterations, a high cost of
development is incurred.
The success of the project is highly dependent on
the risk analysis phase.
It is not suitable for low risk project.
Time spent planning, resetting objectives, doing
risk analysis and prototyping may be excessive.
The model is complex.
Risk assessment expertise is required.
Spiral may continue indefinitely.
Developers must be reassigned during non-
development phase activities.
It may be hard to define objective, verifiable
milestones that indicate readiness to proceed
through the next iteration.
10. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Table 8:The Rapid Application Development (RAD) Model
Strength Weakness
It breaks down the development
process into short iterations, making
development quicker.
It enables active user involvement
in all stages of development and
also helps the user to see the end
product quickly.
It reduces risk considerably and
ensures a high quality product at a
low cost.
Reduced cycle time and improved
productivity with fewer people
means lower costs.
Customer involved throughout the
complete cycle minimizes risk of
not achieving customer satisfaction
and business needs.
Focus moves from documentation
to code.
Uses modelling concepts to capture
information about business, data,
and processes.
Due to repeated iterations, effective cost and time
management might prove to be a concern.
Because the model requires active user
involvement, user commitment at all times can be
difficult.
Repeated iterations may result in the development
stage stretching beyond the schedule. Such time
overruns may in turn lead to the suboptimal use
of resources.
It can’t be used in all situations.
Accelerated development process must give
quick responses to the user.
There is risk of never achieving closure.
It is hard to use with legacy systems.
It requires a systemthat can be modularized.
Developers and customers must be committed to
rapid-fire activities in an abbreviated time frame.
Table 9:The Agile Model
Strength Weakness
Fast turnaround and prompts delivery
of working software to the customer.
Makes it very easy to address
changes suggested late in the life
cycle.
Regular communication between
clients and developers ensures that
there are no mismatches between the
client requirement and what the
actual systemdoes.
The fact that new requirements are
incorporated into the product
throughout the development process
contributes to the model's flexibility.
Since testing is done at every phase
of the life cycle, the need for a
lengthy testing process at the end of
the life cycle is prevented.
Since this model entails close collaboration
between developers and end users, a
representative of the end user is required to
spend a lot of time with the project team.
It will be difficult to estimate and negotiate the
price of projects with the client, since
requirements keep changing in an agile model
driven project.
Since the product is delivered in stages, user
acceptance testing needs to be done too
frequently, adding to time constraints for the end
user representative.
11. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
Table 10:The Rational Unified Process(RUP)
Strength Weakness
It establish a Unified Modelling
Language (UML) as a common
language for process oriented
protocols.
It reduces scrap or rework by using an
iterative process.
Potential risks are identified and
removed effectively in early
development stages.
It uses several tests to deliver a refined
and quality software product during
development.
Software is modelled visually using
graphics instead of code to facilitate
better understanding.
It uses various components which are
small modules that define a specific
function by themselves, to develop
architecture.
It is development centric and focuses mainly on
the development aspect of software, as a result,
it neither extends beyond development level.
It does not tackle issues at enterprise and
management levels.
High degree of expertise may be require
Table 11:The Iconix Process Model
Strength Weakness
It provides adequate documentation
for requirements and design analysis
carried out during the development
process.
It uses a method called robustness
analysis that overcomes the
differences between design and
analysis.
It is extremely efficient and helps in
easier design, testing and estimation
of use cases.
It is a use case based development
process that is robust and simple.
It avoids analysis paralysis, a
condition that occurs due to a lot of
analysis which might hinder the
process of decision making.
It makes use of class and system
diagrams which aid clear
understanding of the concept for the
user.
It involves a lot of Graphic User
Interfaces (GUIs) that enhance user
interaction with the system.
Design of GUI may be time consuming.
Developers need to understand best practice in
user interface design.
Table 12:Software Ecosystem(SECO)
Strength Weakness
Promote self-regulation.
It exhibit shared values such as
Control moves toward the users
It exist mainly through the use of Information
12. AmericanJournal of Research Engineering@2013, AJER,e-ISSN:2320-0847,p-2320-0936
revenue from licenses and services.
It comprises network of characters –
vendors, developers and users.
It increases visibility
Increases extensibility.
It attracts mass following.
communication Technology (ICT).
It is more complex, hence effective management
may be a key issues.
It may not be very successful in a closed system.
4. Conclusion
This paper exposed the characteristics features of major software development models and try to identify the
merits and drawbacks of each of this models.
From the study, software process models can be categorised into three main types’ namely incremental model,
iterative model and sequential model, some model are hybrid of two or more models.
This study will assist practitioners in making choice of the best development model to adopt in software
development project they may be undertaken.
However, there is a paradigm shift to a new emerging development model call software ecosystem (SECO)
model, but the software industry is still elucidating to understand this concept, but literatures shows that
software development process is moving toward this concept.
References
[1] Andrew Ratcliffe (2011) SAS Software Development with the V-Model, Ratcliffe Technical Services
Limited (RTSL).eu, United Kingdom.
[2] Boehm, B.W., (1988). “A Spiral Model of Software Development and Enhancement.” IEEE Computer.
[3] Boehm, B.W., Sullivan, K.J., “Software Economics: A Roadmap”, ACM Press, 2000.
[4] Bosch, J. (2009). From Software Product Lines to Software Ecosystems. In proceedings of 13th
International Software Product Line Conference (SPLC'09), San Francisco, USA, 24-28 August. 111-119.
[5] Dybå, T., and Dingsoyr, T., (2008), ‘Empirical Studies of Agile Software Development: A Systematic Review’. Information and
Software Technology, 50, n.9-10, 833-859, August.
[6] Cockburn, A. (2002). Agile Software Development. Boston: Addison-Wesley.
[7] Fuggetta, A. (2000), “Software Process: A Roadmap”, in “The Future of Software Engineering”, ACM Press.
[8] Gomaa H. (2004) DesigningSoftware Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison
Wesley.
[9] Hanssen, G. (2011). A Longitudinal Case Study of an EmergingSoftware Ecosystem. Acceptedfor publicationin Journal of Systems
and Software, pages 1–24.
[10] Hoch, D.J, et al., “Secrets of Software Success: Management Insights from100SoftwareFirms Aroundthe World”, Harvard Business
Scoll Press, Boston, MA, 1999.
[11] Humphrey, W.S. (2001), “The Future of Software Engineering: I”, Column SEI, Vol. 4 (1), 2001.
[12] Humphrey, W.S. (2002), “Winning with Software: An Executive Strategy”, Addison-Wesley, 2002
[13] Littlewood, B., Strigini, L. (2000), “Software Reliability and Dependability: a Roadmap”,
Proceedings of the 22nd International Conference on Software Engineering.
[14] Pressman, R., S. (2001) Software Engineering: A Practitioner’s Approach, 5th Edition. McGraw-Hill International edition.
[15] Raccoon L. B. S (1994), Albuquerque, New Mexico
[16] Jacobson Ivar, Grady Booch, and Jim Rumbaugh (1999). Unified Software Development Process, Addison-Wesley.
[17] Sommerville Ian (2010). Software engineering 8th
. Edition. Pearson Addison-Wesley.