Top PDF Increasing Software Quality using the Provenance of Software Development Processes

Increasing Software Quality using the Provenance of Software Development Processes

Increasing Software Quality using the Provenance of Software Development Processes

Provenance database Recording of process Information Query for Provenance of data Administration of Provenance database Application Data (Result) www.DLR.de • Folie 11.. S[r]

25 Read more

Software Processes Analysis with Provenance

Software Processes Analysis with Provenance

management of its intellectual property. Other works, such as [10][16], motivate the need to model and extract software artifacts provenance. Davies et al. [10] explore the recovery of the provenance of software artifacts by a broad set of techniques (signature matching, source code fact extraction, software clone detection, call flow graph match- ing, string matching, historical analyses etc.) and Godfrey [16] cites the PROV model specification and shows a motivating example that uses hashing to quickly and accu- rately identify version information of embedded Java libraries. Although these works deal with provenance in the context of software development, they do not address the provenance of SP as a whole. They focus on software artifacts or source code. In PROV-SwProcess, we treat not only the artifacts, but the activities, agents and the var- ious relationships that can be established in SP. A technique called PRiME [17] also adapts projects to interact with a provenance layer. Based on PRiME, Wendel et al. [25] present a solution to failures in software development processes, using the Open Prov- enance Model and SOA architecture. However, the last two works do not specify how data provenance can be inferred and used to support SP analysis and data-driven deci- sion-making as done in our approach. The most recent publication in this scenario [13] starts a discussion of using complex networks concepts (besides an ontology) to help in SP data interpretation aiming to support in SP improvement. However, it does not address specific concepts of SP as we have done in PROV-SwProcess Model (it uses ProvONE) and does not provide the analysis discussed in our work.
Show more

16 Read more

Assumptions Underlying Agile Software Development Processes

Assumptions Underlying Agile Software Development Processes

Reusable artifacts are code and other components (analysis and design documents, patterns, etc.) that can be reused from one project to another, in their entirety or at least in a major part. In order to create components that are reusable, a big-picture view must be taken while they are being developed, rather than simply focusing on the current application. What other types of systems / applications might be able to benefit from this component? How many different ways might one want to use it? What are the requirements of the domain, in contrast to simply this application in the domain? These are a few of the questions that must be asked when thinking about making components reusable and more general-purpose. When developing reusable artifacts, agile development’s Documentation, Quality Assurance, Application-Specific Development, and Continuous Redesign assumptions may not be valid.
Show more

38 Read more

Understanding the Impact of Release Processes and Practices on Software Quality

Understanding the Impact of Release Processes and Practices on Software Quality

When a software organization increasingly allows other software to join and extend its soft- ware platform, an ecosystem is gradually formed. Many software organizations have realized that either creating or joining into such an ecosystem can be beneficial because they no longer have to produce an entire system but only need to work for a part of it. Recently, we have seen an increase in the number of software ecosystems and the number of research studies that have focused on them. Bosch [28] observed the emerging trend of the transition from tra- ditional software product lines to software ecosystems and proposed actions required for this transition. He also discussed the implications of adopting a software ecosystem approach on the way organizations build software. Hanssen [5] conducted an empirical study of the CSoft system, which transitioned from a closed and plan-driven approach towards an ecosystem. He observed that transitioning to a software ecosystem improved the cross organizational collaboration and the development of a shared value (i.e., technology and business) in the collaboration. Jansen et al. [29] discussed the challenges of software ecosystems at the lev- els of software ecosystems themselves, software supply network, and software vendors. This early work provided a guideline for software vendors to make their software adaptable to new business models and new markets, and help them to choose appropriate strategy to succeed in an ecosystem. Later on, Van Den Berk et al. [30] built models to quantitatively assess the status of a software ecosystem as well as the success of decisions taken by the host vendors in the past.
Show more

122 Read more

Using Software Quality Evaluation Standard Model for Managing Software Development Projects in Solar Sector

Using Software Quality Evaluation Standard Model for Managing Software Development Projects in Solar Sector

processes of software development projects related to photovoltaic (PV) system design. The International Organization for Standardization (ISO) quality evaluation model, Software Product Quality Requirements and Evaluation (SQuaRE) standard, is used to determine quality characteristics and quality metrics of the software. This work presents the following contributions: I) defining quality characteristics associated with a PV design software using the SQuaRE standard model, II) adding the proposed framework as a tool and technique which is used by practitioners following the global standard book for project managers, A Guide to the Project Management Body of Knowledge (PMBOK), and III) Identifying quality measures and sub-characteristics of a PV design software. The presented model can be employed for simulation-based and/or model-based software products in various technical fields and engineering.
Show more

17 Read more

Integrating Testing into Agile Software Development Processes

Integrating Testing into Agile Software Development Processes

An often referred to model that is used for Agile testing, is ”The Agile Testing Quadrants” (Crispin and Gregory, 2009). Originally, the model was developed by Marick (Marick, 2003) in order to distinguish the different type of tests that each serve different purposes. Without a tester in the team, it is unlikely that the four quadrants are covered enough. Programmers will be pri- marily focused on the first quadrant describing technical tests that verify small pieces of func- tionality. But business analysts and UI designers will mostly focus on the third quadrant describing business tests focused on business scenario’s and user interaction. This leaves two quadrants with- out enough attention, namely the one on business tests that verify whether user story’s acceptance criteria are met, and the other on technical tests that verify whether the non-functional require- ments, or quality attributes, are met.
Show more

9 Read more

Assumptions Underlying Agile Software Development Processes

Assumptions Underlying Agile Software Development Processes

The results of this survey also indicate that there may be situations in which the basic assumptions underlying XP are valid. XP assumes that the cost of change slowly approaches some limit over time, rather than increasing exponentially as has been traditionally assumed [7]. XP practices are based on the assumption that correcting requirements errors and design flaws later does not cost significantly more than if they were detected and removed earlier. This assumption allows developers to do less than thorough analysis and design in the early phases and, instead, make improvements throughout the course of the project by refactoring the code. There is no objective evidence that this assumption is valid in general, but it can be argued that the cost of change curve can be flattened by using reusable design experiences in the form of architectural and design patterns, and capitalizing on new technologies supporting rapid program development (e.g., libraries, components and frameworks, and more powerful compilers that enable short and incremental compilations).
Show more

33 Read more

Contextual Injection of Quality Measures into Software Engineering Processes

Contextual Injection of Quality Measures into Software Engineering Processes

Historically software development projects have also faced difficulties in meeting budget, schedule, functionality, and quality targets [6][7][8]. A more recent study in 2002 by the National Institute of Standards and Technology (NIST) found that most delivered software products are still stricken by bugs and defects [9]. While some of these difficulties might be ascribed to a misaligned planning environment in certain organizations [10], the project pressures and resulting issues will likely linger due to global competition and other influences [11]. Other difficulties can be attributed to SE’s adolescence as a discipline and certain unique product properties that affect the SE development process, such as software’s complexity, conformity, changeability, and invisibility [6]. Additionally, the extent (too little or too much) and timeliness of SQA significantly impacts overall project costs [12], making effective and efficient SQA vital. Yet it remains laborious to manage and apply the appropriate low-level SQA measures (actions) in a timely fashion during SE process enactment. In order to achieve software quality goals, these must be defined and concretely and contemporaneously measured [13]; yet this is often challenging for various SE organizations [14]. Especially small and medium sized companies often struggle to achieve high quality levels. This often results from the increased complexity of their growing organizational structures, the lack of process maturity and capabilities, and the lack of dedicated quality management personnel.
Show more

24 Read more

Simulating Human Resources in Software Development Processes

Simulating Human Resources in Software Development Processes

Wicksell’s corpuscle problem deals with the estima- tion of the size distribution of a population of particles, all hav ing the same shape, using a lower dimensional sampling probe. This problem was originary formulated for particle systems occurring in life sciences but its solution is of actual and increasing interest in materials science. From a mathematical point of view, Wicksell’s problem is an in verse problem where the interest- ing size distribution is the unknown part of a Volterra equation. The problem is often regarded ill-posed, because the structure of the integrand implies unstable numerical solutions. The ac cu ra cy of the numerical solutions is considered here using the condition num- ber, which allows to compare different numerical meth- ods with different (equidistant) class sizes and which indicates, as one result, that a fi nite section thickness of the probe reduces the numerical problems. Fur- thermore, the rel a tive error of estimation is computed which can be split into two parts. One part consists of the relative dis cret i za tion error that increases for in creas ing class size, and the second part is related to the rel a tive statistical error which increases with decreasing class size. For both parts, upper bounds can be given and the sum of them indicates an optimal class width depending on some specifi c constants. (18 pages, 1999)
Show more

25 Read more

Analysis of Software Development Processes in A Healthcare Facility

Analysis of Software Development Processes in A Healthcare Facility

This research has extensively dwelt on a health care facility and what it takes to make a health care information system more workable and efficient. This research also covered the different types of a health care, which comprises of primary, secondary and tertiary health care facilities. The process of developing a software for a healthcare facility considering its sensitive nature while laying emphasis on the quality, risk management standard and the SDLC. A secondary health care facility was used as a case study in which convenience and stratified sampling techniques were applied in selecting the hospital and sample population respectively. Findings reveal that, the development process has gone a long way in easing off the registration process of patients but much still needs to be desired.
Show more

12 Read more

Modeling the open source software development processes using IDEF3 standard

Modeling the open source software development processes using IDEF3 standard

The Open Source Software Development (OSSD) process model closely resembles the modeling process of conventional software development process model where the most common element in the development process of the project will be identified by the OSSD process model (Huysmans et al., 2010). Lately there have been significant demands for process modeling standard which have been raised because of the complexities characterized by this OSSD process model from the previous methods. The most significant issue is the available OSSD process model produced a lot of constructs, hence increasing the model complexities (Huysman et al., 2010). These means that the previous model are not supporting the quality attribute for simplicity which can cause for not having well documented process and no proper advertised development model (Jensen and Scacchi, 2006) (Lonchamp, 2005).
Show more

40 Read more

Improvement of Software Quality and Productivity Using Development Tools

Improvement of Software Quality and Productivity Using Development Tools

tion within the source file. By making and using templates of a process that is often executed, the user saves time and work for code description, and the time needed for coding and preventing simple input errors will also be shortened. Eclipse comes with an if statement and a for statement, which are templates that enable easy input of Java syn- tax. In addition, Apworks provides templates of processes that are frequently used in business, for example, the reference process of EJB and the routine process of COBOL. Users can also regis- ter original templates.

10 Read more

Integrating Management and Engineering Processes in Software Product Development

Integrating Management and Engineering Processes in Software Product Development

Further work regarding integration of project management models and agile methods is to evaluate the model in pilot projects in real environments. Specific issues to bridge are those of cultural differences between management and technical staff [30]. The technical staff appreciates the technically oriented approach in agile methods, while this is a hinder for management who are not (and should not be) so technically involved. Further, the focus on performance regarding project progress, rather than time, is also a cultural shift. Our hypothesis is that by focusing on the running software, risks are reduced and as management have a firmer basis for decision making. Finally, the focus on oral communication over documents, tends to conflict with, especially, quality management. However, many of the quality models have evolved from traditional development models and may need revision if agile approaches are proven more effective for high quality software development. The stakeholder liaison is in this respect a critical resource, and the pilot project has also to evaluate whether this role is possible to take or not.
Show more

236 Read more

COTS-Based Software Development: Processes and Open Issues

COTS-Based Software Development: Processes and Open Issues

COTS identification consists of Web searches, product literature surveys and reviews, identification of other reusable system components, and recommendations from external sources. Product information is kept in a central justification notebook, or an evaluation notebook. In most cases, this is a physical, paper-based, binder that contains spreadsheets comparing different alternative COTS products on various criteria. Different project members charged with evaluating COTS products from different perspectives enter the relevant information in these spreadsheets as they complete their evaluations. On many projects, one team member or a small task force of team members is charged with collecting information on COTS products and keeping the notebook. Not only are product evaluation notes kept, but subjective comments concerning vendor quality and responsiveness are also kept.
Show more

12 Read more

COTS-based software development: Processes and open issues

COTS-based software development: Processes and open issues

4.2.3. Package identification, evaluation/selection COTS identification consists of Web searches, prod- uct literature surveys and reviews, identification of other reusable system components, and recommendations from external sources. Product information is kept in a central justification notebook or in an evaluation note- book. In most cases, this is a physical, paper-based, binder that contains spreadsheets comparing different alternative COTS products on various criteria. Different project members charged with evaluating COTS prod- ucts from different perspectives enter the relevant in- formation in these spreadsheets as they complete their evaluations. In many projects, one team member or a small task force of team members is charged with col- lecting information on COTS products and keeping the notebook. Not only are product evaluation notes kept, but subjective comments concerning vendor quality and responsiveness are also kept.
Show more

11 Read more

Antipatterns: A Compendium of Bad Practices in Software Development Processes

Antipatterns: A Compendium of Bad Practices in Software Development Processes

When a process becomes interminable is said to be a perpetual process. Generally speakig, the process falls into infinite loops when the workflow is repeated without generating useful products. This type of process is evidence of the immaturity associated to the organization that runs the process as well as of its lack of adequate estimation, its failure to meet the requirements and development. Such immaturity is most obvious when in the testing phase, where developers will need to constantly repair things, with the aggravating circumstance that these repairs might cause further inconveniences. In the perpetuity of the process there is no proper configuration management, and quality control is summarized in trying to fix an accumulation of defects that cause poor reliability [10] of the results obtained at a prticular point of development. When a process becomes perpetual, it usually ends abruptly with negative collateral implications for the participants (Figure 10).
Show more

6 Read more

The Development of a Software Tool for the Selection of Contour-Cutting Processes

The Development of a Software Tool for the Selection of Contour-Cutting Processes

[16]. The methodology embodies the principle of structured selection for a specific manufacturing task – contour cutting. It accounts separately for the influences of technical and economic factors. The process data are assembled at an appropriate material-specific level to provide the discrimination needed for the manufacturing task being considered. Selection uses a combination of empirically based process models to help determine the relevant processing information. The challenge is to extract an appropriate level of detail and approximation to provide a useful discrimination. The quality of the selection, however, depends greatly on the quality of the data and the extracted knowledge as well as on the estimation of the process objectives. The inherent complexity of process physics also calls for a degree of pragmatism, so that purely empirical models are used if required in order that as wide a range of options as possible is considered. At first sight, the cost calculation and optimisation problem seems hopelessly complex, since the number of parameters affecting the cost structure is extremely large. However, by using local sub optimisation, the problem can be greatly simplified. It is shown that the optimisation can be conducted with only two parameters for AWJ cutting, i.e. pressure and orifice diameter. The economic evaluation incorporates these parameters as factors in the process cost modeling.
Show more

20 Read more

Hybrid Agile Development and Software Quality

Hybrid Agile Development and Software Quality

Agile software development is based on customer satisfaction, early incremental delivery of software, small and highly motivated teams, informal methods, and minimal software processes [23]. Before the emergence of agile methods, there was a belief in the software industry that successful software development would succeed only through careful project planning, formalization, quality assurance, the use of analysis and design methods supported by CASE tools, and controlled and rigorous software development processes [6]. However, this plan-based software development tied the developers down in following the processes, where a considerable amount of time is spent in planning, eliciting systems requirements, designing and modelling the requirements, and writing extensive documentation rather than creating the actual system. Another major concern was that the systems requirements tended to change even before any new system could be fully implemented. In addition, ‘high ceremony’ methods like this are more suited for large scale industrial and scientific software development and when applied to software development for small and medium-sized business, the cost is overwhelming [6].
Show more

15 Read more

DEVELOPMENT OF A SOFTWARE QUALITY PLAN FOR HOSPITALS

DEVELOPMENT OF A SOFTWARE QUALITY PLAN FOR HOSPITALS

The complexity of software has long been considered a critical IT project risk factor (Sicotte et al. 2006). Risk Management must be an integral part of software project management processes and include proactive risk assessment and reactive incident management to avoid incidents recurring. (Kavaler & Speigel 2003) define risk management as “an organized effort to identify, assess and reduce where appropriate, risk to patients, visitors, staff and organizational assets”. These risks can be wide ranging from scheduling and timing risks to personnel management risks. The hospital’s software development team can cope with these classes of software risks by applying appropriate systematic risk management activities to the software development process (Galin 2004).
Show more

5 Read more

Analytic Provenance for Software Reverse Engineers

Analytic Provenance for Software Reverse Engineers

Relatively few studies have examined the workflow and processes employed by reverse engineers, which has made it difficult for industry to develop software that specifically targets reverse engineers. Treude, et al. explored the work processes of software reverse engineers in a security context [58]. Baldwin, et al. further identified the limitations of visualizations within the reverse engineering domain and developed a methodology to identify associated requirements from two specialized groups of assembly language developers [59]. Through surveys, observations, and interviews with these groups, the researchers identified a range of tooling needs. Kienle and Muller have comprehensive discussions on reverse engineering tool development in terms of requirements, software architectures, and tool evaluation criteria [60, 61]. While these works provide the groundwork for this study, they do not investigate the analytic provenance needs of software reverse engineers.
Show more

188 Read more

Show all 10000 documents...