Software development life cycle Research Papers (original) (raw)

'Knowledge'is one of the main outcomes systematic approaches of software engineering. It is considered as a crucial resource of each organization and, therefore, needs to be managed carefully especially for the software... more

'Knowledge'is one of the main outcomes systematic approaches of software engineering. It is considered as a crucial resource of each organization and, therefore, needs to be managed carefully especially for the software development process and the ...

In this paper, we explore the problems associated with exception handling from a new dimension: the human. We designed a study that evaluates (1) different perspectives of software developers to understand how they perceive exception... more

In this paper, we explore the problems associated with exception handling from a new dimension: the human. We designed a study that evaluates (1) different perspectives of software developers to understand how they perceive exception handling and what methods they adopt to deal with exception handling constructs, and (2) the usefulness of a visualization tool that we developed in previous work for exception handling. We describe the design of our study, present details about the study's participants, describe the interviews we conducted with the participants, present the results of the study, and discuss what we learned from the study. Based on our analysis, we suggest several future directions, including the proposal of a new role for the software-development processexception engineer, who works closely with software developers throughout all phases of the software-development life cycle and who concentrates on the integration of exception handling into the core functionality of programs.

Worldwide organizations use the benefits offered by Cloud Computing (CC) to store data, software and programs. While running hugely complicated and sophisticated software on cloud requires more energy that causes global warming and... more

Worldwide organizations use the benefits offered by Cloud Computing (CC) to store data, software and programs. While running hugely complicated and sophisticated software on cloud requires more energy that causes global warming and affects environment. Most of the time energy consumption is wasted and it is required to explore opportunities to reduce emission of carbon in CC environment to save energy. Many improvements can be done in regard to energy efficiency from the software perspective by considering and paying attention on the energy consumption aspects of software's that run on cloud infrastructure. The aim of the current research is to propose a framework with an additional phase called parameterized development phase to be incorporated along with the traditional Software Development Life cycle (SDLC) where the developers need to consider the suggested techniques during software implementation to utilize low energy for running software on the cloud and contribute in green computing. Experiments have been carried out and the results prove that the suggested techniques and methods has enabled in achieving energy consumption.

This paper discusses an innovation in teaching the Systems and Software Development Life Cycle (SDLC) in the Graduate School of Management and Technology at University of Maryland University College. The innovation is a Meta-Project that... more

This paper discusses an innovation in teaching the Systems and Software Development Life Cycle (SDLC) in the Graduate School of Management and Technology at University of Maryland University College. The innovation is a Meta-Project that takes the form of a series of linked projects across the four classes that cover the SDLC. The benefits that the Meta-Project provides the student with, are a better understanding of the interaction between the phases in the SDLC, and a better ability to cope with the vagueness of the real world.

Successful engineering and evaluation of complex software depends on successfully completing all the stages of the Software Development Life Cycle. There have been many models which illustrate the stages Software Engineers have to go... more

Successful engineering and evaluation of complex software depends on successfully completing all the stages of the Software Development Life Cycle. There have been many models which illustrate the stages Software Engineers have to go through to produce software. This paper investigates Ž . one of theseᎏThe Spiral Model Sommerville 1997 with particular reference to recent enhancements Ž . to it, examines the interaction of COCOMO II 1998 within the WinWin framework, and reports on a Ž . case study using the WinWin Spiral Model Boehm et al. 1998 to develop software.

Software maintenance is one of the major concerns of software development and maintenance organizations. Over the years, the cost of maintenance has become the critical factor in decision making pertaining to long term viability of... more

Software maintenance is one of the major concerns of software development and maintenance organizations. Over the years, the cost of maintenance has become the critical factor in decision making pertaining to long term viability of business and information systems. Software maintenance has strong bearing with overall software development life cycle. Depending upon the abilities of project team in the overall software development environment, a good software maintenance process would reduce the cost involved in terms of money, manpower, resources and time. In this paper we have discussed a simple but comprehensive framework for software maintenance and support phase. Based upon the guidelines of the proposed framework for software maintenance could be easily manageable and also become cost-effective.

 This paper presents an overview of quantitative analysis techniques for software quality and their applicability during the software development life cycle (SDLC). This includes the Seven Basic Tools of Quality, Statistical Process... more

 This paper presents an overview of quantitative analysis techniques for software quality and their applicability during the software development life cycle (SDLC). This includes the Seven Basic Tools of Quality, Statistical Process Control, and Six Sigma, and it highlights how these techniques can be used for managing and controlling the quality of software during specification, design, implementation, testing, and maintenance. We verify whether or not these techniques, which are generally accepted for most projects, most of the time, and have value that is recognized by the peer community, have indeed been included in the SWEBOK Guide.

There are many definitions of quality being given by experts that explains quality for manufacturing industry but still unable to define it with absolute clarity for software engineering. To enable software designers to achieve a higher... more

There are many definitions of quality being given by experts that explains quality for manufacturing industry but still unable to define it with absolute clarity for software engineering. To enable software designers to achieve a higher quality for their design, a better insight into quality predictions for their design choices is given. In this paper we propose a model which traces design decisions and the possible alternatives. With this model it is possible to minimize the cost of switching between design alternatives, when the current choice cannot fulfill the quality constraints. With this model we do not aim to automate the software design process or the identification of design alternatives. Much rather we aim to define a method with which it is possible to assist the software engineer in evaluating design alternatives and adjusting design decisions in a systematic manner. As of today there is very little knowledge is available about the economics of software quality. The costs incurred and benefits of implementing different quality practices over the software development life cycle are not well understood. There are some prepositions, which are not being tested comprehensively, but some useful Economic Model of Software Quality Costs (CoSQ) and data from industry are described in this article. Significant research is needed to understand the economics of implementing quality practices and its behaviour. Such research must evaluate the cost benefit trade-offs in investing in quality practices where the returns are maximized over the software development life cycle. From a developer's perspective, there are two types of benefits that can accrue from the implementation of good software quality practices and tools: money and time. A financial ROI calculation of cost savings and the schedule ROI calculation of schedule savings are given.

Testing is an important part of application development hardware engineers, in particular, have a long established history of testing for the obvious reason that it's awfully hard to rebuild a microprocessor every time a bug pops up in... more

Testing is an important part of application development hardware engineers, in particular, have a long established history of testing for the obvious reason that it's awfully hard to rebuild a microprocessor every time a bug pops up in the design stage-not to mention the enormous headaches such bugs generate on the software side. In this installment of Scientific Programming, we'll discuss the role of testing in the software development process and examine ways to leverage automated unit testing in your projects

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete,... more

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete, precise and formal specifications. The specifications act as the contract between the software users and the developers. Therefore the importance of Requirement Engineering is enormous to develop effective software and in reducing software errors at the early stage of the development of software. Since Requirement Engineering (RE) has great role in different stages of the SDLC, its consideration in software development is crucial. There exist a number of approaches for requirement engineering. Among the approaches, object-based and problem domain-based approaches are widely used. An effective analysis of methods is essential for the appropriate capturing of requirements. Taking the above viewpoint into account, this paper demonstrates an effective method of requirement engineering, which plays an important role in different phases of the SDLC. Hospital can be seen as an example of a complex system. Therefore, the paper considers Hospital as a case study for which a software system has been developed taking the mentioned approach into account.

E-commerce nowadays has expanded in the past years, and it is substituting the traditional brick and mortar stores. And most of the brands now have their own web or mobile application so the users can shop online, it is easier and faster.... more

E-commerce nowadays has expanded in the past years, and it is substituting the traditional brick and mortar stores. And most of the brands now have their own web or mobile application so the users can shop online, it is easier and faster. Building an e-commerce application is like any other software it goes through phases in the SDLC. This paper is going to be a guide to adapt the Agile mythology in the development of the mobile e-commerce application.

Scrum is one of the most popular and efficient agile development methods. However, like other agile methods such as Extreme Programming (XP), Feature Driven Development (FDD), and the Dynamic Systems Development Method (DSDM), Scrum has... more

Scrum is one of the most popular and efficient agile development methods. However, like other agile methods such as Extreme Programming (XP), Feature Driven Development (FDD), and the Dynamic Systems Development Method (DSDM), Scrum has been criticized because of lack of support to develop secure software. Thus, in 2011, we published research proposing the idea of a security backlog (SB). This paper represents the continuation of our previous research, with a focus on the evaluation in industry-based case study. Our findings highlight an improved agility in Scrum after the integration of SB. Furthermore, secure software can be developed quickly, even in situations involving requirement changes of software. Based on our experimental findings, we noticed that, when integrating SB, it is quite feasible to develop secure software using an agile Scrum model.

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of... more

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of incorporating various usability testing methods within the software development life cycle. Some of the reasons for poor usability include effort prioritization conflicts from project management, development and design team. The role of the usability engineer is to get involved as the heuristic evaluator and facilitate the development and design efforts are based on usability principles and at the same time adhering to the project time line. Two of the common usability inspection methods consist of user experience testing and expert review or more commonly known as Heuristic Evaluation (HE). This paper focuses on understanding the effectiveness of HE as a methodology for defect detection. The results show the effectiveness of the HE as a usability testing methodology in capturing defects and prioritizing development and design efforts. The results also reinforce the need for integrating traditional heuristics with modified heuristics customized to the domain or field of the project being tested such as E-Government.

Software testing is one of the most widely used methods for quality assurance and fault detection purposes. However, it is one of the most expensive, tedious and time consuming activities in software development life cycle. Code-based and... more

Software testing is one of the most widely used methods for quality assurance and fault detection purposes. However, it is one of the most expensive, tedious and time consuming activities in software development life cycle. Code-based and specification-based testing has been going on for almost four decades. Model-based testing (MBT) is a relatively new approach to software testing where the

Extracting and elaborating software requirements and transforming them into viable software architecture are still an intricate task. This paper defines a solution architecture which is based on the blurred amalgamation of problem space... more

Extracting and elaborating software requirements and transforming them into viable software architecture are still an intricate task. This paper defines a solution architecture which is based on the blurred amalgamation of problem space and solution space. The dependencies between domain constraints, requirements and architecture and their importance are described that are to be considered collectively while evolving from problem space to solution space. This paper proposes a revised version of Twin Peaks Model named Win Peaks Model that reconciles software requirements and architecture in more consistent and adaptable manner. Further the conflict between stakeholders' win-requirements is resolved by proposed Voting methodology that is simple adaptation of win-win requirements negotiation model and QARCC.

The need to develop software at Internet speed and accommodate changes during the entire software development life cycle has made lightweight or agile development methodologies like Extreme Programming popular. However, such methodologies... more

The need to develop software at Internet speed and accommodate changes during the entire software development life cycle has made lightweight or agile development methodologies like Extreme Programming popular. However, such methodologies have been considered to be beneficial for small and medium sized projects, with small teams. In this research, based on a case study in an organization that develops large-scale, complex software using a modified form of extreme programming, we highlight the key differences between agile principles proposed in prior literature and the agile practices that are suitable for large-scale, complex software development. Based on these differences, we propose general guidelines on tailoring agile development methodologies to make them suitable for the development of large, complex software systems .

In this paper we give the details on Non-Functional Requirements and its importance in various fields. We also investigate the effect of working out for the Non-functional Requirements which leads to the discovery of new Functional... more

In this paper we give the details on Non-Functional Requirements and its importance in various fields. We also investigate the effect of working out for the Non-functional Requirements which leads to the discovery of new Functional Requirements. After the coding phase in the Software Development Life Cycle (SDLC), during the process of articulating the Non-Functional Requirements the software analysts come up with the new unexpected Functional Requirements and which further creates a vicious circle. An effort is made to present the recent research in the field of finding, specifying and rectifying the Non - Functional attributes. This paper gives the details of past and current research, thus giving the ideas to researchers for future work.

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn... more

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn that their attempts at IS outsourcing have failed. However, some failures could be avoided with knowledge of common pitfalls and critical success factors of such IS outsourcing contracts. This paper investigates essential aspects of IS outsourcing management during the software development life cycle. The survey results are reported in conjunction with findings in the literature of similar studies in other markets, and unique contributors to IS outsourcing in this particular context in the South African corporate market, are identified.

Problem statement: The International Organization for Standardization (ISO) published a set of international standards related to the software engineering, such as ISO 12207 and ISO 9126. However, there is a set of cross-references... more

Problem statement: The International Organization for Standardization (ISO) published a set of international standards related to the software engineering, such as ISO 12207 and ISO 9126. However, there is a set of cross-references between these two standards. Approach: The ISO 9126 on software product quality and ISO 12207 on software life cycle processes had been analysed to investigate the relationships between them and to make a mapping from the ISO 9126 quality characteristics to the ISO 12207 activities and vers versa. Results: This study presented a set of comments and suggestions to improve the ISO 9126. Conclusion: The weaknesses of the crossreferences between the two ISO standards had been highlighted. In addition, this study provided a number of comments and suggestions to be taken into account on the next version of the ISO 9126 international standard.

With the recent popularity of Blockchain and other Distributed Ledger Technologies (DLT), blockchain enabled smart contract applications has attracted increased research focus. However, the immutability of the blocks, where the smart... more

With the recent popularity of Blockchain and other Distributed Ledger Technologies (DLT), blockchain enabled smart contract applications has attracted increased research focus. However, the immutability of the blocks, where the smart contracts are stored, causes conflicts with the traditional Software Development Life Cycle (SDLC) models usually followed by software engineers. This clearly shows the unsuitability of the application of SDLC in designing blockchain enabled smart contract based applications. This research article addresses this current problem by first exploring the six traditional SDLC models, clearly identifying the conflicts in a table with the application of smart contracts and advocates that there is an urgent need to develop new standard model(s) to address the arising issues. The concept of both block immutability and contract is introduced. This is further set in a historical context from legacy smart contracts and blockchain enabled smart contracts extending to the difference between "shallow smart contracts" and "deep smart contracts". To conclude, the traditional SDLC models are unsuitable for blockchain enabled smart contract-based applications.

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn... more

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn that their attempts at IS outsourcing have failed. However, some failures could be avoided with knowledge of common pitfalls and critical success factors of such IS outsourcing contracts. This paper investigates essential aspects of IS outsourcing management during the software development life cycle. The survey results are reported in conjunction with findings in the literature of similar studies in other markets, and unique contributors to IS outsourcing in this particular context in the South African corporate market, are identified.

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete,... more

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete, precise and formal specifications. The specifications act as the contract between the software users and the developers. Therefore the importance of Requirement Engineering is enormous to develop effective software and in reducing software errors at the early stage of the development of software. Since Requirement Engineering (RE) has great role in different stages of the SDLC, its consideration in software development is crucial. There exist a number of approaches for requirement engineering. Among the approaches, object-based and problem domain-based approaches are widely used. An effective analysis of methods is essential for the appropriate capturing of requirements. Taking the above viewpoint into account, this paper demonstrates an effective method of requirement engineering, which plays an important role in different phases of the SDLC. Hospital can be seen as an example of a complex system. Therefore, the paper considers Hospital as a case study for which a software system has been developed taking the mentioned approach into account.

Software Development Methodologies have always been the main focus in the software development life cycle of any project. Each evolutionary shift introduced new ways of thinking and viewing problems as well as introducing strengths and... more

Software Development Methodologies have always been the main focus in the software development life cycle of any project. Each evolutionary shift introduced new ways of thinking and viewing problems as well as introducing strengths and weaknesses in software development. However, identifying one stop solution in terms of a software development methodology for enterprise wide application development whose various sub-components or sub-stages can be best used to describe a software development scenario is still an evolving domain. This, coupled with the reality that computer science and its allied areas like information systems and information technology domains are moving forward rapidly with regards to available technologies, making it extremely difficult task for practitioners to maintain pace with the available information technologies and their application in various domains. It is to address these scenarios and probabilities that this research paper examines various software development methodologies or process models and their impact on the overall software development life cycle.

Managing the development of large-scale software systems is a challenge to all software project managers due to the ever-increasing complexity inherent in the software development life cycle. In this paper, a formalism intended to capture... more

Managing the development of large-scale software systems is a challenge to all software project managers due to the ever-increasing complexity inherent in the software development life cycle. In this paper, a formalism intended to capture the concurrent and iterative nature of software development, called Software Project Management Net (SPMNet), is proposed to model software development projects. By augmenting and applying genetic algorithms in an innovative manner by sharply reducing the solution-search space complexity, our SPMNet provides optimal or near-optimal solutions to the resource allocation and project scheduling problems. Results collected from simulation runs clearly support our approach for practical applications.

امروزه بارزترین روش ارزیابی و سنجش توانایی‌ها و مهمترین ملاک ارزشیابی کشورهای در حال توسعه (و توسعه یافته) میزان رشد فناوری اطلاعات در آن کشور می‌باشد و با توجه به مطرح شدن فناوری اطلاعات به عنوان یک صنعت در کشورهای صنعتی (و پیشرفته) و... more

امروزه بارزترین روش ارزیابی و سنجش توانایی‌ها و مهمترین ملاک ارزشیابی کشورهای در حال توسعه (و توسعه یافته) میزان رشد فناوری اطلاعات در آن کشور می‌باشد و با توجه به مطرح شدن فناوری اطلاعات به عنوان یک صنعت در کشورهای صنعتی (و پیشرفته) و رشد بی سابقه آن در دو دهه اخیر، میزان اهمیت آن را در سرنوشت ملت‌ها روز به روز بیشتر می‌گردد و از آنجا که سیستم‌های نرم افزاری همواره به عنوان یکی از مهمترین اجزای صنعت فناوری اطلاعات به شمار می‌آیند توجه به این بخش را بیش از پیش آشکار می‌سازد.
با توجه به موقعیت جغرافیایی بسیار مناسب کشورمان در منطقه که به مانند پلی بر سر شاهراه ارتباطی دنیا قرار گرفته است و استعدادهای بالقوه و ذاتی که نشان از غنی بودن منابع انسانی مناسب در کشورمان دارد؛ بستری مناسب برای فعالیت در زمینه صنعت فناوری اطلاعات و مخصوصاً سیستم‌های نرم افزاری وجود دارد که با تکیه بر دانش فنی به روز و کارآمد و استفاده از شیوه‌های جدید مدیریت سیستم‌های نرم افزاری، امید است بتوانیم در آینده پیشروی خدمات نوین انفورماتیکی در منطقه و در دنیا باشیم.

In this paper, we present a new set of metrics for building secure software systems. The proposed metrics aim to address security risks throughout the entire software development life cycle (SDLC). The importance of this work comes from... more

In this paper, we present a new set of metrics for building secure software systems. The proposed metrics aim to address security risks throughout the entire software development life cycle (SDLC). The importance of this work comes from the fact that assessing security risks at early stages of the development life cycle can help implement efficient solutions before the software

Early phases of software development are known to be problematic, difficult to manage and errors occurring during these phases are expensive to correct. Many systems have been developed to aid the transition from informal Natural Language... more

Early phases of software development are known to be problematic, difficult to manage and errors occurring during these phases are expensive to correct. Many systems have been developed to aid the transition from informal Natural Language requirements to semi-structured or formal specifications. Furthermore, consistency checking is seen by many software engineers as the solution to reduce the number of errors occurring during the software development life cycle and allow early verification and validation of software systems. However, this is confined to the models developed during analysis and design and fails to include the early Natural Language requirements. This excludes proper user involvement and creates a gap between the original requirements and the updated and modified models and implementations of the system. To improve this process, we propose a system that generates Natural Language specifications from UML class diagrams. We first investigate the variation of the input language used in naming the components of a class diagram based on the study of a large number of examples from the literature and then develop rules for removing ambiguities in the subset of Natural Language used within UML. We use WordNet, a linguistic ontology, to disambiguate the lexical structures of the UML string names and generate semantically sound sentences. Our system is developed in Java and is tested on an independent though academic case study.

In embedded systems like weapon systems, the proportion of software has been growing and the quality of software, which provides complicated functionalities of a system and controls hardware, affects the quality of the entire system.... more

In embedded systems like weapon systems, the proportion of software has been growing and the quality of software, which provides complicated functionalities of a system and controls hardware, affects the quality of the entire system. Besides, to implement/acquire reliable software, we need the efforts for assuring process quality as well as product quality in the whole software development life cycle. In this paper, we propose a framework to assure software reliability of weapon systems in Korean defense domain. The framework provides a guideline for software reliability evaluation to software organizations and pursues the improvement of software engineering process which supports activities and indicators for quantitative project management in the software development process. We also present the empirical study of the application of the proposed framework and the analysis results on the effectiveness of the proposed framework.

The existing software development models lack in addressing the issues of providing guidance to the software engineers and managers for structuring software development for management-related purpose. To solve this problem the authors... more

The existing software development models lack in addressing the issues of providing guidance to the software engineers and managers for structuring software development for management-related purpose. To solve this problem the authors have proposed a new model named Comprehensive Software Development Model (C-SDM) which provides complete knowledge for software development managers about each phase along with the time duration, responsibility, entry and exit-criteria while considering the nature of large object and service-oriented application development softwares.

The existing software development models lack in addressing the issues of providing guidance to the software engineers and managers for structuring software development for management-related purpose. To solve this problem the authors... more

The existing software development models lack in addressing the issues of providing guidance to the software engineers and managers for structuring software development for management-related purpose. To solve this problem the authors have proposed a new model named Comprehensive Software Development Model (C-SDM) which provides complete knowledge for software development managers about each phase along with the time duration, responsibility, entry and exit-criteria while considering the nature of large object and service-oriented application development softwares.

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of... more

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of incorporating various usability testing methods within the software development life cycle. Some of the reasons for poor usability include effort prioritization conflicts from project management, development and design team. The role of the usability engineer is to get involved as the heuristic evaluator and facilitate the development and design efforts are based on usability principles and at the same time adhering to the project time line. Two of the common usability inspection methods consist of user experience testing and expert review or more commonly known as Heuristic Evaluation (HE). This paper focuses on understanding the effectiveness of HE as a methodology for defect detection. The results show the effectiveness of the HE as a usability testing methodology in capturing defects and prioritizing development and design efforts. The results also reinforce the need for integrating traditional heuristics with modified heuristics customized to the domain or field of the project being tested such as E-Government.

Software Development Methodologies have always been the main focus in the software development life cycle of any project. Each evolutionary shift introduced new ways of thinking and viewing problems as well as introducing strengths and... more

Software Development Methodologies have always been the main focus in the software development life cycle of any project. Each evolutionary shift introduced new ways of thinking and viewing problems as well as introducing strengths and weaknesses in software development. However, identifying one stop solution in terms of a software development methodology for enterprise wide application development whose various sub-components or sub-stages can be best used to describe a software development scenario is still an evolving domain. This, coupled with the reality that computer science and its allied areas like information systems and information technology domains are moving forward rapidly with regards to available technologies, making it extremely difficult task for practitioners to maintain pace with the available information technologies and their application in various domains. It is to address these scenarios and probabilities that this research paper examines various software development methodologies or process models and their impact on the overall software development life cycle.

Research shows, that the major issue in development of quality software is precise estimation. Further this estimation depends upon the degree of intricacy inherent in the software i.e. complexity. This paper attempts to empirically... more

Research shows, that the major issue in development of quality software is precise estimation. Further this estimation depends upon the degree of intricacy inherent in the software i.e. complexity. This paper attempts to empirically demonstrate the proposed complexity which is based on IEEE Requirement Engineering document. It is said that a high quality SRS is pre requisite for high quality software. Requirement Engineering document (SRS) is a specification for a particular software product, program or set of program that performs some certain functions for a specific environment. The various complexity measure given so far are based on Code and Cognitive metrics value of software, which are code based. So these metrics provide no leverage to the developer of the code. Considering the shortcoming of code based approaches, the proposed approach identifies complexity of software immediately after freezing the requirement in SDLC process. The proposed complexity measure compares well with established complexity measures. Finally the trend can be validated with the result of proposed measure. Ultimately, Requirement based complexity measure can be used to understand the complexity of proposed software much before the actual implementation of design thus saving on cost and manpower wastage.

Software has played an essential role in engineering, economic development, stock market growth and military applications. Mature software industry count on highly predictive software effort estimation models. Correct estimation of... more

Software has played an essential role in engineering, economic development, stock market growth and military applications. Mature software industry count on highly predictive software effort estimation models. Correct estimation of software effort lead to correct estimation of budget and development time. It also allows companies to develop appropriate time plan for marketing campaign. Now a day it became a great challenge to get these estimates due to the increasing number of attributes which affect the software development life cycle. Software cost estimation models should be able to provide sufficient confidence on its prediction capabilities. Recently, Computational Intelligence (CI) paradigms were explored to handle the software effort estimation problem with promising results. In this paper we evolve two new models for software effort estimation using Multigene Symbolic Regression Genetic Programming (GP). One model utilizes the Source Line Of Code (SLOC) as input variable to estimate the Effort (E); while the second model utilize the Inputs, Outputs, Files, and User Inquiries to estimate the Function Point (FP). The proposed GP models show better estimation capabilities compared to other reported models in the literature. The validation results are accepted based Albrecht data set. 52 | P a g e www.ijarai.thesai.org

Quantitative analysis of software systems is a critical issue in the development of applications for heterogeneous distributed and mobile systems. It has been recognised that performance analysis should be integrated in the software... more

Quantitative analysis of software systems is a critical issue in the development of applications for heterogeneous distributed and mobile systems. It has been recognised that performance analysis should be integrated in the software development life cycle since the early stages. We focus on quantitative analysis of software architectures (SA) and in particular on performance models and languages to represent, evaluate and predict performance characteristics in the software development life cycle. We consider SA to describe both the structure and the behavior of software systems at a high level of abstraction, and we present and compare some different approaches and models for quantitative analysis of SA. We consider both approaches based on the study and definition of languages and notations to formulate quantitative requirements early in the software life-cycle, and methods that identify and develop performance evaluation models that can offer an high degree of integration with functional analysis models. The proposed approaches are based on Stochastic Process Algebras, Queueing Network Models and their extensions, and Markovian models, respectively. They allow the definition and modelling of various characteristics of distributed and mobile software systems and the derivation of appropriate quantitative models to evaluate significant system performance indices. We present a discussion of the relative merit of the various approaches and open problems of ongoing research in the field. The presented approaches have been developed in the framework of the Italian National Research project SALADIN on Software Architecture and Languages to coordinate Distributed Mobile components. feedback Software Architecture Behavior Model: LTS description Algorithm Performance model: QN State annotation and communication type Performance evaluation Scenarios: parametrization Results and interpretation

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete,... more

The Requirement Engineering (RE) is the most important phase of the software development life cycle (SDLC). This phase is used to translate the imprecise, incomplete needs and wishes of the potential users of software into complete, precise and formal ...

Quantitative analysis of software systems is a critical issue in the development of applications for heterogeneous distributed and mobile systems. It has been recognised that performance analysis should be integrated in the software... more

Quantitative analysis of software systems is a critical issue in the development of applications for heterogeneous distributed and mobile systems. It has been recognised that performance analysis should be integrated in the software development life cycle since the early ...

Strategic planning is currently being used by most companies; it analyses current and expected future situations, determines com- pany orientation and develops means or strategies for achieving their stated missions. This article is aimed... more

Strategic planning is currently being used by most companies; it analyses current and expected future situations, determines com- pany orientation and develops means or strategies for achieving their stated missions. This article is aimed at reviewing general considerations in strategic planning and presenting a computational tool designed for building a TOWS matrix for matching a company's opportunities and threats with

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn... more

Information systems (IS) outsourcing is a serious commitment -a formal relationship underpinned by a contractual agreement, with long-term consequences among two or more organisations. Many organisations end up frustrated as they learn that their attempts at IS outsourcing have failed. However, some failures could be avoided with knowledge of common pitfalls and critical success factors of such IS outsourcing contracts. This paper investigates essential aspects of IS outsourcing management during the software development life cycle. The survey results are reported in conjunction with findings in the literature of similar studies in other markets, and unique contributors to IS outsourcing in this particular context in the South African corporate market, are identified.

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of... more

Software development organizations consist of marketing, project management, development, design, and quality assurance team. It is important for the various teams within the organization to understand the benefits and limitation of incorporating various usability testing methods within the software development life cycle. Some of the reasons for poor usability include effort prioritization conflicts from project management, development and design team. The role of the usability engineer is to get involved as the heuristic evaluator and facilitate the development and design efforts are based on usability principles and at the same time adhering to the project time line. Two of the common usability inspection methods consist of user experience testing and expert review or more commonly known as Heuristic Evaluation (HE). This paper focuses on understanding the effectiveness of HE as a methodology for defect detection. The results show the effectiveness of the HE as a usability testing methodology in capturing defects and prioritizing development and design efforts. The results also reinforce the need for integrating traditional heuristics with modified heuristics customized to the domain or field of the project being tested such as E-Government.