Process-Based Software Engineering: Building the Infrastructures (original) (raw)
Related papers
Process-Based Software Engineering
A recent trend in software engineering is the shift from a focus on laboratory-oriented software engineering to a more industry-oriented view of software engineering processes. This complements preceding ideas about software engineering in terms of organization and process-orientation. From the domain coverage point of view, many of the existing software engineering approaches have mainly concentrated on the technical aspects of software development. Important areas of software engineering, such as the technical and organizational infrastructures, have been left untouched. As software systems increase in scales, issues of complexity and professional practices become involved. Software development as an academic or laboratory activity, has to engage with software development as a key industrialized process.
Software processes: a retrospective and a path to the future
Software Process: Improvement and Practice, 1998
Software engineering focuses on producing quality software products through quality processes. The attention to processes dates back to the early 70's, when software engineers realized that the desired qualities (such as reliability, efficiency, evolvability, ease of use, etc.) could only be injected in the products by following a disciplined flow of activities. Such a discipline would also make the production process more predictable and economical. Most of the software process work, however, remained in an informal stage until the late 80's. From then on, the software process was recognized by researchers as a specific subject that deserved special attention and dedicated scientific investigation, the goal being to understand its foundations, develop useful models, identify methods, provide tool support, and help manage its progress. This paper will try to characterize the main approaches to software processes that were followed historically by software engineering, to identify the strengths and weaknesses, the motivations and the misconceptions that lead to the continuous evolution of the field. This will lead us to an understanding of where we are now and will be the basis for a discussion of a research agenda for the future.
Proceedings of the Conference on the Future of …, 2000
Software process research deals with the methods and technologies used to assess, support, and improve software development activities. The field has grown up during the 80s to address the increasing complexity and criticality of software development activities. This paper aims to briefly present the history and achievements of software process research, some critical evaluation of the results produced so far, and possible directions for future work.
Using of Process Models in Software Engineering
Introduction: Software engineering goes through a series of passages that account for their inception, initial development, productive operation, upkeep, and retirement from one generation to another. This article categorizes and examines a number of methods for describing or modelling how software systems are developed. It begins with background and definitions of traditional software life cycle models that dominate most textbook discussions and current software development practices. This is followed by a more comprehensive review of the alternative models of software evolution that are of current use as the basis for organizing software engineering projects and technologies. Background: These classic software life cycle models usually include some version or subset of the following activities: System Planning: New feasible systems replace or supplement existing information processing mechanisms whether they were previously automated, manual. Requirement Analysis: Identifies the problems a new software system is suppose to solve, its operational capabilities, its desired performance characteristics, and the resource infrastructure needed to support system operation and maintenance. Prototyping: Identifies and potentially formalizes the objects of computation, their attributes and relationships, the operations that transform these objects, the constraints that restrict system behavior, and so forth. Architectural Design: Defines the interconnection and resource interfaces between system subsystems, components, and modules in ways suitable for their detailed design and overall configuration management. Component Implementation and Debugging: Codifies the preceding specifications into operational source code implementations and validates their basic operation. Software Integration and Testing: Affirms and sustains the overall integrity of the software system architectural configuration through verifying the consistency and completeness of implemented modules, verifying the resource interfaces and interconnections against their specifications, and validating the performance of the system and subsystems against their requirements. Documentation and Delivery: packaging and rationalizing recorded system development descriptions into systematic documents and user guides, all in a form suitable for dissemination and system support. Deployment and Installation: providing directions for installing the delivered software into the local computing environment, configuring operating systems parameters and user access privileges, and running diagnostic test cases to assure the viability of basic system operation. Software Maintenance: sustaining the useful operation of a system in its target environment by providing requested functional enhancements, repairs, performance.
Survey on Different Process Models Used In Software Development
2014
Professional system developers and the customers they serve share a common goal of building information systems that effectively support their objectives. In order to ensure that cost-effective, quality systems are developed which address an organization’s business needs, developers employ some kind of system development Process Model to direct the project’s life cycle. A software process model is actually an abstract representation of a Process which often represent a networked sequence of activities, objects, transformations, and events that embody strategies for accomplishing software evolution .There are a variety of process models in software development and the purpose of this paper is to perform a survey on different process models used in software
Process Models in Software Engineering
Introduction Software systems come and go through a series of passages that account for their inception, initial development, productive operation, upkeep, and retirement from one generation to another. This article categorizes and examines a number of methods for describing or modeling how software systems are developed. It begins with background and definitions of traditional software life cycle models that dominate most textbook discussions and current software development practices. This is followed by a more comprehensive review of the alternative models of software evolution that are of current use as the basis for organizing software engineering projects and technologies.
Managing software processes: do we need new approaches?
Software Process: Improvement and Practice, 2008
Dear Reader, Welcome to another issue of SPIP. This issue brings together a collection of papers focusing on different approaches to development. Software development has a range of methodologies, approaches, processes and life cycles used in different contexts. The diversity of processes, and the ideas they embody, enrich the disciplines of software development and software engineering. However, it is rare to see representatives of the full range of approaches covered in a single issue of a journal. In putting together this issue I have managed to do just that and in the process provided a broader insight into the approaches and solutions used by practitioners.
The software process: Modelling, evaluation and improvement
Handbook of Software …, 2001
Two different research fields work on the issue of software process: software process modelling on one hand and software process evaluation and improvement on the other. In this paper, the most relevant results of both approaches are presented and, despite they have evolved independently, the relation between them is highlighted. Software process modelling tries to capture the main characteristics of the set of activities performed to obtain a software product, and a variety of models have been created for this purpose. A process model can be used either to represent the existing process in an organisation, or to define a recommended software process. Software process evaluation assesses the quality of the software process used in a software development organisation, being the SCE and ISO/IEC 15504 the two most commonly used evaluation methods. Software process evaluation can be the starting point of a software process improvement effort. This effort aims to direct the organisation's current practices to a state where the software process is continuously evaluated and improved.
Software process models: a review and analysis
International Journal of Engineering & Technology
Modeling of software process has been a very challenging problem and constantly debated in the software development community in the past 30+ years, largely due to the complex nature of the software development process that involves not only the technical knowledge and skills but also many other factors, such as human, management, quality assessment, and cost. Although the situations of creating software differ greatly from one case to another, there are some common themes shared by many of the situations, and hence various software process models have been emerged to address these common themes. In this paper, we present a review of the software process models commonly used in practice, from traditional to agile, and assessment of these models with metrics and case studies.
Comparative Analysis of Software Process Models in Software Development
International Journal of Advanced Trends in Computer Science and Engineering, 2021
The success and failure of software development depends on the software process models. These models are the key factors in complete development process. It is comprises of various stages i.e., requirement gathering, designing, development, testing and implementation. The contribution of this paper is a comprehensive survey of widely used process models. Moreover, it would definitely play as a guiding path for the researchers to explore future directions for possible research. Extensive analysis of all these five process models is also discussed. Each software process model possesses different factors and parameters which are concisely included so that researchers could easily choose a process model based on the need, resources, and expertise.