Lesson Archives

  1. ABSTRACT This paper is concerned with constructing software effort estimation model based on artificial neural networks. The model is designed accordingly to improve the performance of the network that suits to the COCOMO Model. It is proposed to use single layer feed forward neural network to accommodate the model and its parameters to estimate software development effort. The network is trained with back propagation learning algorithm and Resilient Back propagation algorithm (RPROP) by iteratively processing a set of training samples and comparing the network’s prediction with the actual effort. COCOMO dataset is used to train and to test the network and it was observed that proposed neural network model improves the estimation accuracy of the model. The test results from the trained neural network are compared with that of the COCOMO model. By comparing the results of these two models, it is proven that both models (SLANN with BP and SLANN with RPROP) works better than COCOMO and SLANN with RPROP is an optimal neural network model for software effort estimation. SLANN with BP works well only for projects with small size, where as SLANN with RPROP works well for all kinds of projects as the convergence rate of RPROP algorithm is very high. The preliminary results obtained suggest that the proposed architecture can be replicated for accurately forecasting the software development effort.

  2. ABSTRACT The increasing use of information systems led to dramatically improve the functionality with respect to safety, cost and reliability. However, with this growth of information systems the likelihood of vulnerabilities also increases. Security problems involving computers and software are frequent, widespread, and serious. The number and variety of attacks from outside organizations, particularly via the Internet, and the amount and consequences of insider attacks are increasing rapidly. We routinely hear customers claim that their system is insecure. However, without knowing what assumptions they make, it is hard to justify such a claim, and it is important to identify security requirements of the system. Enumerating the security to a system helps system architects develop realistic and meaningful secure software. In this paper, we propose a checklist for security requirements and assess the security with the help of a metrics based on checklist threshold value.

  3. ABSTRACT Value-Based Software Engineering (VBSE) becomes one of the most promising approaches for software product management [10]. It focuses on the critical role by which stakeholders and business core values affect decision making which in turn influence the product success. This paper illustrates the Criteria-Based approach for software product management through a computer based software framework. The framework can select the best candidate requirements for each release based on the stakeholders’ input values for multiple criteria associated with each requirement. These criteria reflect the priority of each requirement not only in terms of perceived importance to the stakeholder and anticipated implementation cost criteria [18] but also through technical risk, relative impact and market-related aspects criteria. The framework has the capability to balance between the different stakeholders’ preferences based on the stakeholder’s weight provided by the product manager [35]. By this means the introduced framework will enable the product manager to overcome many challenges throughout the product life cycle by providing him with the different features that make the decision making process much easier and finally yields to product success [16].

  4. ABSTRACT This paper addresses the issue of user-centric quality assessments of webbased systems, and proposes an assessment model for quality evaluations by focusing on metrics based on the perspective of end-users. The model includes an approach which scales quantifiable values of quality attributes based on importance of users’ perception. The assessment model is applicable to subjective quality attributes whereas the scaling technique can be ported to a range of assessment models. Because the model is based on subjective metrics, it should be used in conjunction with objective models, particularly those which return quantifiable values for quality ratings. The approach is flexible enough for end-users to tune the model according to their requirements. The web designer can also use this approach to assess the users’ related quality attributes of the system.

  5. ABSTRACT Software metric and estimation is base on measuring of software attributes which are typically related to the product, the process and the resources of software development. One of the greatest challenges for software developers is predicting the development effort for a software system based on some metrics for the last decades. Project managers are required to the ability to give a good estimation on software development effort. Most of the traditional techniques such as function points, regression models, COCOMO, etc, require a long-term estimation process. One of the new approaches that called soft computing techniques may offer an alternative for this challenge. This paper described an enhanced soft computing model for the estimation of software cost and time estimation. Result shows that the value of MMRE (Mean of Magnitude of Relative Error) applying soft computing was substantially lower than MMRE applying by algorithmic models.

  6. ABSTRACT Usable interfaces are a result of focus on understanding users and their goals, tasks, characteristics, individual differences and environment. These differences between individuals result partly from differences between culture and subcultures. The goal of this paper is to set the scene for research into the influence of culture on the design of information systems for usability. This paper proposes a framework that includes extracting local usability guidelines for Arab culture and subcultures based on the issues gleaned from user acceptance test (UAT) reports. The proposed framework adapts a number of UCD methods and phases to suit projects’ circumstances. This adaptation is supported by a proposed UCD team structure. After applying the proposed framework on Web application projects that serve different sectors. The application of the proposed framework led to a decrease of UAT bugs by 95.25%, a decrease of development costs by 30-60%, a decrease in development time by 20-30%, and an increase of customer confidence and satisfaction. Systems’ usability also increased as evidenced by the results obtained from usability tests using an evaluation checklist, and user interface analyses.

  7. ABSTRACT Several thousand software design vulnerabilities have been reported through established databases. But they need to be structured and classified to be optimally usable in the pursuit of minimal and effective mitigation mechanism. In order we developed a criterion set for a communicative description of the same to serve the purpose as a taxonomic description of security vulnerabilities, arising in the design phase of Software development lifecycle. This description is a part of an effort to identify appropriate strategies for mitigating security flaws at the design level. In addition, an analysis is also carried out on the basis of frequency and severity of vulnerabilities identified under each class and the same has been intrinsically presented.

  8. ABSTRACT Unified Modeling Language (UML) is a standard modeling language for constructing and documenting software artifacts. It provides a set of diagrams to model different views of the object oriented software development. However, the UML meta-data does not enforce the consistency of the models being built using UML nor provides a standard way to discover errors and faults in these models. Currently, research efforts are directed to verify the quality, correctness and completeness of UML models. Therefore, the quality of the UML models is heavily dependent on the consistency of model components and its diagrams. In this paper, we propose a new approach to solve the problem of discovering the inconsistency in UML sequence diagrams, and verify the interaction between the system objects in these diagrams. The proposed approach is based on the object state machine and state chart diagrams and is referred to as the Model Consistency Checker using Object State Machines (MCC-OSM). Experimental results on small to midsize software design projects have showed that MCC-OSM is a promising approach in discovering inconsistency, and incompleteness and verifying the interactions of the UML dynamic view.

  9. ABSTRACT Evaluating coverage criteria is a core subject in software testing. Coverage can be evaluated based on several concerns such as: code, requirements, syntax, paths, decisions, graph, etc. The focus of this research is in evaluating the Graphical User Interface (GUI) testing coverage. In this research, several GUI model based methods are proposed and evaluated for the goal of automatically testing user interfaces and evaluate the testing coverage. The user interfaces’ components of tested applications are collected while applications are running and this information is used to build a GUI structural model. This model is used as an input for the process of generating test cases automatically and on considering different aspects of GUI coverage such as GUI paths, edges, nodes, or components. Microsoft NModel and SpecExplorer are used as tools for the GUI model verification. This is usually accomplished indirectly through generating test cases from the model and evaluating the model through the effectiveness and coverage of the generated test cases.

  10. ABSTRACT One of the most repeatable and time consuming tasks in the software development process is trying to analyze and understand the technical implementation and design of an existing program source code. Design patterns encapsulate solutions to common object oriented design problems which make them an aid to understand different design decisions taken by software designers in existing software. This paper presents a new, fully automated patterns mining approach. The new approach is based on redescribing design patterns from a reverse engineering point of view. We claim that a design pattern description has a great impact on the accuracy of a design patterns mining tool. Our approach is capable of detecting a variety of design patterns’ implementations based on the proposed pattern description template. This paper also describes our tool, DPM, that implements the new pattern description template based on a model transformation approach. DPM is using graph matching and Constrain Satisfaction Problem (CSP) search algorithms to detect patterns’ instances. DPM has been tested against benchmark applications, including JUnit and Java AWT. Comparison to other existing pattern detection tools proven that DPM is capable of detecting more pattern instances with better accuracy.