Modeling Software Development Processes

Author(s):  
Gerhard Chroust ◽  
Marco Kuhrmann ◽  
Erwin Schoitsch

In this chapter the authors discuss the WHY and WHAT of modeling software development processes: defining the components of a software process and proposing 5-dimensional grid of attributes of existing models: strategy and path, levels, main subprocesses, components and aura. Specific process models, currently used or historically important, are described. This is followed by an extensive discussion of methods for and problems of modeling a software process, followed by a shorter discussion on the enactment of process models via software engineering environments. The chapter closes with a discussion of the human aspects concerning introduction and enactment of a process model.

Author(s):  
Barbara Dellen ◽  
Frank Maurer ◽  
Jürgen Münch ◽  
Martin Verlage

Representations of activities dealing with the development or maintenance of software are called software process models. Process models allow for communication, reasoning, guidance, improvement, and automation. Two approaches for modeling processes and instantiating and managing the process models, namely CoMo-Kit and MVP-E, are combined to build a more powerful one. CoMo-Kit is based on AI/KE technology; it is a support tool system for general complex design processes, and was not been developed specifically with software development processes in mind. MVP-E is a process-sensitive software engineering environment for modeling and analyzing software development processes, and guides software developers. Additionally, it provides services to establish and run measurement programmes in software organizations. Because both approaches were developed independently from one another, major integration efforts had to be made to combine both their advantages. This article concentrates on the resulting language concepts, and their operationalization necessary for building automated process support.


Author(s):  
Maria Estrela Ferreira da Cruz ◽  
Ricardo J. Machado ◽  
Maribel Yasmina Santos

The constant change and rising complexity of organizations, mainly due to the transforming nature of their business processes, has driven the increase of interest in business process management by organizations. It is recognized that knowing business processes can help to ensure that the software under development will meet the business needs. Some of software development processes (like unified process) already refer to business process modeling as a first effort in the software development process. A business process model usually is created under the supervision, clarification, approval, and validation of the business stakeholders. Thus, a business process model is a proper representation of the reality (as is or to be), having lots of useful information that can be used in the development of the software system that will support the business. The chapter uses the information existing in business process models to derive software models specially focused in generating a data model.


Author(s):  
Xavier Ferre ◽  
Natalia Juristo ◽  
Ana M. Moreno

Usability has become a critical quality factor in software systems, and it has been receiving increasing attention over the last few years in the SE (software engineering) field. HCI techniques aim to increase the usability level of the final software product, but they are applied sparingly in mainstream software development, because there is very little knowledge about their existence and about how they can contribute to the activities already performed in the development process. There is a perception in the software development community that these usability-related techniques are to be applied only for the development of the visible part of the UI (user interface) after the most important part of the software system (the internals) has been designed and implemented. Nevertheless, the different paths taken by HCI and SE regarding software development have recently started to converge. First, we have noted that HCI methods are being described more formally in the direction of SE software process descriptions. Second, usability is becoming an important issue on the SE agenda, since the software products user base is ever increasing and the degree of user computer literacy is decreasing, leading to a greater demand for usability improvements in the software market. However, the convergence of HCI and SE has uncovered the need for an integration of the practices of both disciplines. This integration is a must for the development of highly usable systems. In the next two sections, we will look at how the SE field has viewed usability. Following upon this, we address the existing approaches to integration. We will then detail the pending issues that stand in the way of successful integration efforts, concluding with the presentation of an approach that might be successful in the integration endeavor.


2022 ◽  
pp. 194-211
Author(s):  
Kamalendu Pal

The word crowdsourcing, a compound contraction of crowd and outsourcing, was introduced by Jeff Howe in order to define outsourcing to the crowd. It is a sourcing model in which individuals or organizations obtain goods and services. These services include ideas and development of software or hardware, or any other business-task from a large, relatively open and often rapidly-evolving group of internet users; it divides work between participants to achieve a cumulative result. It has been used for completing various human intelligence tasks in the past, and this is an emerging form of outsourcing software development as it has the potential to significantly reduce the implementation cost. This chapter analyses the process of software development at a crowdsourced platform. The work analyses and identifies the phase wise deliverables in a competitive software development problem. It also proposes the use of Markov decision theory to model the dynamics of the development processes of a software by using a simulated example.


2011 ◽  
Vol 56 ◽  
pp. 138-145
Author(s):  
Stasys Peldžius ◽  
Saulius Ragaišis

Įmonės, siekdamos sėkmingai įgyvendinti programų kūrimo projektus – pateikti rezultatus laiku, neviršydamos biudžeto, ir kad klientai būtų patenkinti jų kokybe, renkasi programų kūrimo proceso modelius, pagal kuriuos gali įvertinti savo programų kūrimo procesą ir jį gerinti. Šiuo metu pasaulyje populiariausi programų kūrimo proceso modeliai yra ISO/IEC 15504 ir CMMI. Įmonėms prasminga turėti įvertinimus pagal abu šiuos proceso modelius, bet kiekvienas įmonės vertinimas brangus tiek finansiniu, tiek laiko požiūriu, todėl būtų naudinga gauti įvertinimus pagal skirtingus modelius, atliekant tik vieną vertinimą. Norėdamos apibrėžti ir (ar) pagerinti savo programų kūrimo procesą, įmonės renkasi įvairius programų sistemų inžinerijos metodus, pavyzdžiui, XP, Scrum, DSDM, RUP. Įmonei svarbu žinoti, ką pasirinktas metodas jai gali duoti: kokį proceso gebėjimą ir (ar) brandą jis gali užtikrinti. Šias aktualias problemas išspręstų tarpinis programų kūrimo proceso modelis, kuris leistų įmonėms atlikti įvertinimą pagal vieną proceso modelį ir gauti rezultatus pagal kelis modelius, taip pat žinoti, kokį proceso gebėjimą ir (ar) brandą gali užtikrinti pasirinktas programų sistemų inžinerijos metodas. Straipsnyje pateikiamas pirmasistokio modelio kūrimo žingsnis – apibrėžiami tokio modelio reikalavimai.Requirements of Transitional Software Process ModelStasys Peldžius, Saulius Ragaišis SummaryMost of the software development projects face the following problems: projects are delayed; they overrun the budget; customers are dissatisfied with the quality of the software delivered. This phenomenon is so widespread that it is even called a software crisis. It has been understood that software process maturity is closely related to project success and the quality of a software product, so various software process models have been introduced. Organizations want to get all the advantages of the different process models that stimulate their harmonization and the investigation of process improvement in multimodel environments. Organizations seek to get their capability/maturity assessment according to several process models by conducting only a single assessment. This could be achieved by the transitional software process model. Organizations employ different software development methodologies, but they are unable to assess how they affect their process without implementation. The transitional model helps to assess the capability/maturity according to ISO/IEC 15504 and CMMI which could be ensured by agile or other software development methodologies. Similar ideas have been introduced in the unified SEPRM model. A detailed review of the deficiencies that led to its unpopularity is made. The paper presents the requirements for the transitional software process model.


2022 ◽  
pp. 1810-1836
Author(s):  
Maria Estrela Ferreira da Cruz ◽  
Ricardo J. Machado ◽  
Maribel Yasmina Santos

The constant change and rising complexity of organizations, mainly due to the transforming nature of their business processes, has driven the increase of interest in business process management by organizations. It is recognized that knowing business processes can help to ensure that the software under development will meet the business needs. Some of software development processes (like unified process) already refer to business process modeling as a first effort in the software development process. A business process model usually is created under the supervision, clarification, approval, and validation of the business stakeholders. Thus, a business process model is a proper representation of the reality (as is or to be), having lots of useful information that can be used in the development of the software system that will support the business. The chapter uses the information existing in business process models to derive software models specially focused in generating a data model.


Author(s):  
Kamalendu Pal

The word crowdsourcing, a compound contraction of crowd and outsourcing, was introduced by Jeff Howe in order to define outsourcing to the crowd. It is a sourcing model in which individuals or organizations obtain goods and services. These services include ideas and development of software or hardware, or any other business-task from a large, relatively open and often rapidly-evolving group of internet users; it divides work between participants to achieve a cumulative result. It has been used for completing various human intelligence tasks in the past, and this is an emerging form of outsourcing software development as it has the potential to significantly reduce the implementation cost. This chapter analyses the process of software development at a crowdsourced platform. The work analyses and identifies the phase wise deliverables in a competitive software development problem. It also proposes the use of Markov decision theory to model the dynamics of the development processes of a software by using a simulated example.


Author(s):  
SILVIA T. ACUÑA ◽  
MARTA LOPEZ ◽  
NATALIA JURISTO ◽  
ANA MORENO

Software engineering (SE) and knowledge engineering (KE) develop software systems using different construction process models. Because of the growing complexity of the problems to be solved by computers, the conventional systems (CS) and knowledge-based systems (KBS) software process is at present passing through a period of integration. In this paper, we propose a software process model applicable to both CS and KBS. The model designed is declarative, that is, it indicates what is done to build a software system. Its goal is to provide software and knowledge engineers with a techno-conceptual tool to develop systems comprising both traditional and knowledge-based software.


Ciencia Unemi ◽  
2018 ◽  
Vol 10 (25) ◽  
pp. 13 ◽  
Author(s):  
Shirley Coque-Villegas ◽  
Vanessa Jurado-Vite ◽  
Allan Avendaño-Sudario ◽  
Guillermo Pizarro

Los servicios de las empresas de desarrollo de software se basan en producir productos de software de alta calidad. La calidad de los productos de software se asegura mediante la aplicación de prácticas de ingeniería de software a lo largo de todo el proceso de desarrollo. Para mejorar estos procesos, es necesario adaptar los modelos de proceso de mejora de software a las empresas de acuerdo con sus propias características. Este artículo ofrece un análisis de la aplicación de diversos modelos de mejora de procesos de software en pequeñas y medianas empresas. Finalmente, los resultados aquí presentados evidencian la influencia de los factores inherentes de las empresas y de sus equipos de trabajo en la elección de un modelo de proceso de mejora de software específico. AbstractThe services of the software development companies are based on producing high quality software products. Software products quality is ensured by applying software engineering practices throughout the development process. In order to improve these processes, it is necessary adapting the software improvement process models into companies according to their own characteristics. This paper offers an analysis of the application of various software process improvement models in small and medium size enterprises. Finally, results presented here show the influence of the inherent factors of companies and their work teams into choosing a specific software improvement process model.


2020 ◽  
pp. 1-2
Author(s):  
Megha V. Polishwala ◽  
Pravin H. Bhathawala* ◽  
Viral Polishwala

A eld of software engineering which is related to development of software product, needs systematic development for large software. This paper specify study of various process models from which systematic development of large software can be developed. Study of various paper and paper review of software process model is explained.


Sign in / Sign up

Export Citation Format

Share Document