METHOD BOOK RECOMMANDING MOVEMETHODS USING OBJECTS AND TECHNIQUE

Size: px
Start display at page:

Download "METHOD BOOK RECOMMANDING MOVEMETHODS USING OBJECTS AND TECHNIQUE"

Transcription

1 METHOD BOOK RECOMMANDING MOVEMETHODS USING OBJECTS AND TECHNIQUE SOUNDAR.S Department of Computer Science and Engineering Sona College of Technology Salem, India Abstract Software refactoring is a collection of reengineering activities that aims to prove the software quality. Refactoring is widely used in agile software processes to increase software quality after a significant software development or evolution. It is the belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support such assumptions. The aim of this study is to confirm such claims using a hierarchal quality model. We study the effect of software refactoring on software quality. We provide details of our findings as heuristics that can help software developers make more informed decisions about what refactoring to perform in regard to improve a particular quality factor. We validate the proposed heuristics in an empirical setting on two open-source systems. We found that the majority of refactoring heuristics do improve quality; however some heuristics do not have a positive impact on all software quality factors. In addition, we found that the impact analysis of refactoring divides software measures into two categories: high and low impacted measures. These categories help in the endeavor to know the best measures that can be used to identify refactoring candidates. We validated our findings on two open-source systems. Eclipse and Struts. For both systems, we found consistency between the heuristics and the actual refactoring. Keywords refactoring; relational topic model; empirical studies I. INTRODUCTION A. Software Engineering Software engineering is a field of Computer science, for designing and writing programs for computers or other electronic devices. A software engineer writes software using methods that make it better quality. Better quality software is easier to use, and the code is easier to understand, to maintain, and to add new features. Becoming a software engineer requires university level classes and practice writing code. Software engineering can be very difficult work. Software engineering is often done as part of a team. Software engineering is the study to develop and application of engineering to the design, development, and maintenance of software. B. Software Process Model The template is used to format your paper and style the text. All margins, column widths, line spaces, and text fonts SAMLINSON.E Department of Computer Science and Engineering Sona College of Technology Salem,India Samlinson@gmail.com are prescribed. For example, the head margin in this template measures proportionately more than is customary. This measurement and others are deliberate, using specifications that anticipate your paper as one part of the entire proceedings, and not as an independent document. C.Waterfall Model As the original software process model, it will be viewed as a first approximation of the activities needed in the software development process. Few versions provide feedback loops from each stage to the previous ones, but it is most used as a simple linear model.it is only suitable for projects in which all the customer requirements are known at the outset of the project, a rare condition, even for small scale projects. Also note that a working version of the system is only available late in the project. C. Incremental Process Model These models is sutiable to the basic waterfall model by adding incremental iteration processes. For example, each function of the system can be telled as a separate system and developed in accordance with the waterfall model. With this matter the system can be delivered to the customer incrementally beginning with the first function and later functions one by one in a different project schedule, with each function delivered initially as a separately operating function. A variation of this incremental theme, called the Rapid Application Development (RAD), It applies the software specification stage to the entire system but for software design and implementation stages the system is divided into group projects to enable development time to be scaled down to the range of two to three months. RAD may not be an an fixed choice if the customers and developers are not prepared for the rapid pace or if the system does not lend itself to the modularization required for assignment to teams. D. Software Testing After the software system it is coded into a deliverable product, testing strategies are used to function the system requirements. Testing strategies are designed to detect errors in the system. Debugging is the process to find the source of the errors for correction. Exhaustive testing is diffucult. meanwhile, no matter how much testing is done, it is never known with certainty if all bugs have been detected. Since testing process will cleared of detecting the presence of errors, the absence of all errors cannot be guaranteed by the 60

2 testing process. A high percentage of project resources will arrange on the testing phase. Testing is usually proceeds in two phases, first at the component level sometimes called unit testing. Unit testing is followed by integration testing in which increasingly larger groups of components are tested culminating in the total system. Unit testing is usually done by the developer and integration testing is done by an independent test group. Testing strategies for conventionally designed. Conventional software: unit testing will focuses on execution paths through component program logic with the goal of maximizing error detection by path coverage; meanwhile integration testing usually involves input and output values. Object-oriented software: unit testing is done with classes, whose definition not only internal program logic but also attributes and operations as well as conversation and collaboration. Operations must be tested in the context and class. These Two approaches to integration testing of objectoriented systems are common, thread-based and use-based testing. The thread-based approach tests the set of classes that respond to a given system input or event. Use-based testing begins with by testing classes that are relatively independent of all others and continues in stages with each stage defined by the addition of a layer of dependent classes until the entire system is encompassed. After unit testing and integration testing, the entire system will be tested in a group with the customer requirements. This final testing phase is usually called validation testing and includes alpha and beta tests. Alpha tests are performed at the developer site and beta tests will occur later at end of user sites. Final release of the software is scheduled after the beta tests are complete. E. Software Maintenance Software maintenance is an software engineering is modified of a software product after delivery to correct faults, to improve the performance or other attributes. The common perception of maintenance is that it nerly involves the fixing defects. However the one study indicated that the majority, over 80%, of the maintenance effort is used for non-corrective actions. This is modified by the users submitting problem reports that in reality are functionality enhancements to the system. More recent studies put the bugfixing proportion closer to 21%. Software maintenance and evolution of systems was first addressed by Meir M. Lehman in 1969.In this period of twenty years, his research tells to the formulation of Lehman's Law. Key findings of his research include that maintenance is really evolutionary development and that maintenance decisions are overviewed by understanding what happens to systems of all time. Lehman explaines that systems continue to evolve over time. As they evolve, they grow more complex unless some action such as code refactoring is taken to reduce the complexity. The key software maintenance issues are both managerial and technical. Key management issues are involved alignment with customer priorities, staffing, which organization does maintenance, estimating costs. Key technical issues are: limited understanding, impact analysis, testing, and maintainability measurement. Software maintenance is a very broad activity that includes error correction, enhancements of capabilities, deletion of obsolete capabilities, and optimization. Because change is inevitable, mechanisms must be developed for evaluation, controlling and making modifications. So any work done to change the software after it is in operation is considered to be maintenance work. The purpose is to preserve the value of software over the time. The value can be enhanced by expanding the customer base, meeting additional requirements, becoming easier to use, more efficient and employing newer technology. Maintenance may span for 20 years, whereas development may be 1-2 years. Typical formal definitions of software engineering are: "The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software". "an engineering discipline that is concerned with all aspects of software production" "the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines" The term has been used less formally: as the informal contemporary term for the broad range of activities that were formerly called computer programming and systems analysis; as the broad term for all aspects of the practice of computer programming, as opposed to the theory of computer programming, which is called computer science; as the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering discipline rather than an art or a craft, and advocates the codification of recommended practices This template, modified in MS Word 2007 and saved as a Word Document for the PC, provides authors with most of the formatting specifications needed for preparing electronic versions of their papers. All standard paper components have been specified for three reasons: (1) ease of use when formatting individual papers, (2) automatic compliance to electronic requirements that facilitate the concurrent or later production of electronic products, and (3) conformity of style throughout a conference proceedings. Margins, column widths, line spacing, and type styles are built-in; examples of the type styles are provided throughout this document and are identified in italic type, within parentheses, following the example. Some components, such as multi-leveled equations, graphics, and tables are not prescribed, although the various table text styles are provided. The formatter will need to create these components, incorporating the applicable criteria that follow. II. RELATED WORKS Software Module Clustering as a Multi Objective Search Problem, Kata Praditwong, Mark Harman and Xin Yao. Software module clustering is the problem of automatically organizing software units into modules to improve program structure. There has been a great deal of recent interest in 61

3 search based formulations of this problem, in which module boundaries are identified by automated search, guided by a fitness function that captures the twin objectives of high cohesion and low coupling in a single objective fitness function. An iterative process is executed, initialized by a randomly chosen population. The iterations are called generations and the members of the population are called chromosomes, because of their analogs in natural evolution. The process terminates when a population satisfies some predetermined condition (or a certain number of generations have been exceeded). At each iteration (that is each generation), some members of the population are recombined, crossing over elements of their chromosomes. Fractions of the offspring of this union are mutated and, from the offspring and the original population a selection process is used to determine the new population. Crucially, recombination and selection are guided by the fitness function; fitter chromosomes having a greater chance to be selected and recombined. There are many variations on this overall process, but the crucial ingredients are the way in which the fitness guides the search, the recombinatory and the population based nature of the process. In the application of any genetic algorithm to any problem there is a need for a tuning phase to determine the best choice of parameter values governing the likelihood of mutation, crossover and the determination of the size of the population. Conceptual Cohesion of Classes in Object Oriented Systems, S. Megha Chandrika, E. Suresh Babu and N. Srikanth. The new measure named the Conceptual cohesion of classes is the mechanisms used to measure textual coherence in cognitive psychology and computational linguistics, presents the principles and the technology that stand behind the C3 measure. A large case study on three open source software systems is presented which compares the new measure with an extensive set of existing metrics and uses them to construct models that predict software faults. Because the main theme of the declaring class variable is, it is used in all methods. So that the declared variables are found among all the methods. In this module we are going to apply the LCOM5 (Lack of cohesion in methods) formula. If the result is equal to one means, the class is less cohesive according to the structured information. Here we are going to retrieve the index terms based on that comments which are present in all the methods. Comments are useful information according to the software engineer. In concept oriented analysis we are taking the comments. Based on the comments we are going to measure the class is cohesive or not. In this module we are going to check the index terms among the comments which are present in all the comments. In this module we are going to apply the conceptual similarity formula. Based on the result we can say the class is cohesive or less cohesive according to concept oriented. In this module we are going to compare the two results. Based on the underlying information used to measure the cohesion of a class, one can distinguish structural metrics, semantic metrics, and information entropy-based metrics, slice based metrics, metrics based on data mining, and metrics for specific types of applications like knowledgebased, Aspect oriented, and distributed systems. Based on the results we can say that cohesion according to structure oriented and unstructured oriented. DECOR: A Method for the Specification and Detection of Code and Design Smells, Naouel Moha, Yann-Ga el Gu eh eneuc, Laurence Duchien, and Anne-Franc oise Le Meur. The originality of DETEX stems from the ability for software engineers to specify smells at a high-level of abstraction using a consistent vocabulary and domain-specific language for automatically generating detection algorithms. Using DETEX, we specify four well-known design smells: the antipatterns Blob, Functional Decomposition, Spaghetti Code, and Swiss Army Knife, and their 15 underlying code smells, and we automatically generate their detection algorithms. DETEX is original because the detection algorithms are not ad hoc but generated using a DSL obtained from an in-depth domain analysis of smells. A DSL benefits the domain experts, engineers, and quality experts because they can specify and modify manually the detection rules using highlevel abstractions pertaining to their domain, taking into account the context of the analyzed systems. The context corresponds to all information related to the characteristics of the systems including types (prototype, system in development or maintenance, embedded system, etc.), design choices (related to design heuristics and principles), and coding standards. Therefore, as a first contribution, we propose DECOR, a method that subsumes all the steps necessary to define a detection technique. The method defines explicitly each step to build a detection technique. All steps of DECOR are partially instantiated by the previous approaches. However, he did not make explicit the processing of these specifications, which appears as a black box. III. EXISTING METHODOLOGY The refactoring task as a search problem in the space of alternative designs. The alternative designs are generated by applying a set of refactoring operations, e.g., push up field, and pull down method, collapse hierarchy while the search from the optimal design is guided by a quality evaluation function based on 11 object-oriented design metrics, metrics that reflect refactoring goals. Note that move method refactoring is not supported by this approach. The fine slicing is used to extract executable program slices from their surrounding code and encapsulate them in different methods. In particular, their approach automatically refractors methods in object-oriented frameworks by using weighted dependence graphs, whose edges are weighted based on the modification histories of the methods. Support refactoring at method level they (i) do not exploit textual information extracted from source code and (ii) are not aimed at removing Feature Envy bad smells. To the best of our knowledge, only three approaches exist in literature to automate move method refactoring However, an evaluation of the approach on real software systems has not been performed. To the best of our knowledge, only three approaches exist in literature to automate move method refactoring provide a metric-based visualization tool useful to identify, among others, Move Method refactoring opportunities. In particular, each method is analyzed to verify which are its structural relationships (i.e., method calls and attribute accesses) with the classes of the system. If there is a class having more dependencies with the method as compared to the class the method belongs to, a possible feature envy bad smell is identified. 62

4 Algorithm presents the proposed recommendation algorithm. Assume a system S with a method m implemented in a class C. For all class Ci S, the algorithm verifies whether m is more similar to the methods in Ci than to the methods in its original class C. In the positive cases, we insert Ci in a list T containing the candidate target classes to receive m. Finally, we search in T for the most suitable class to receive m. In case we find such a class C0, we make a recommendation to move m to C0 (This algorithm relies on two key functions: (a) similarity (m; C) that computes the average similarity between method m and the methods in a class C; and (b) best class (m; T) that receives a list of candidate classes T to receive m and returns the most suitable one. IV. A. Structural dependencies EXISTING SYSTEM In this module, textual and structural information is extracted from the source code. The textual information is represented by words in comments and identifiers in source code and is stored in the term-by-document matrix. The structural dependencies among methods (i.e., method calls stored in the calls interaction matrix and shared instance variables stored in the shared-data matrix). B. Original design matrix The original design, i.e., which methods are contained in each class of the system, stored in the original design matrix. The structural matrices are used to adjust the topic probability distribution taking into account structural relationships between methods, besides textual information. In particular, the calls-interaction matrix and the shared-data matrix represent the two main forms of interaction among the methods of a system, i.e., calls interaction and shared instance variables, while the aim of the original design matrix is to take into account the design decisions made by the developers. C. RTM model creation Providing RTM with the original design information enables it to suggest move method refactoring operations. The model derived by RTM is then used to compute friendships among methods based on both probabilistic distributions of latent topics and underlying structural dependencies. The friendship relationships among all the pairs of methods of the system are stored in the RTM similarity matrix. In the context of our approach two methods are considered to be friends if they share responsibilities, i.e., they operate on the same data structures or are related to the same features or concepts in the program. Such a definition suggests that methods that are good friends should be in the same class, since a class should be a crisp abstraction, handle a few clear responsibilities, or some similar guideline. D. Move method recommendations Methodbook performs static code analysis to verify if a set of preconditions ensuring the preservation of the system behavior post-refactoring are satisfied for the suggested envied class (e.g., Methodbook ensures that the envied class does not contain a method having the same signature as the method to be moved). If the preconditions are satisfied, the refactoring is suggested, otherwise the second class containing the higher percentage of top friends for the method under analysis becomes the new candidate envied class and thus, is object of the preconditions verification. E. Evaluation criteria The evaluations of the refactorings in this work are subjective and informal and that because software refactoring is inherently subjective. Third, the assumption in this work that evolution of code is caused mostly by refactoring, which may not be the case in real environments. In the future, we plan to conduct more studies on larger systems either controlled or in real environments to confirm our findings. V. CONCLUSION We assessed the effect of many refactoring activities on four software quality factors: reusability, flexibility, extendibility, and effectiveness. We found that not all refactoring activities improve quality factors and some deteriorate quality. We established the refactoring heuristics that can help developers in following a goal-oriented refactoring process, i.e., developers can use particular refactoring to improve particular quality. The heuristics from our research findings, which were confirmed in two empirical studies, revealed more detailed and useful information for developers than the refactoring definitions. These heuristics can be used to classify the refactoring based on the quality it improves. For example, we may reorganize refactoring based on Reusability to safe and unsafe. The safe refactoring improves reusability and the unsafe refactoring do not improve reusability. This organization makes developer more precautions whenever they carry out any refactoring according to Fowler s catalog. These results provide more insight to the relationship between refactoring and software quality and evidence for developers to use these techniques more objectively and conveniently. REFERENCES [1] W. Stevens, G. Myers, and L. Constantine, Structured Design, IBM Systems J., vol. 13, no. 2, pp ,

5 [2] R. Pressman, Software Engineering: A Practitioner s Approach. Third ed., McGraw-Hill, [3] I. Sommerville, Software Engineering. sixth ed., Addison-Wesley, [4] V.R. Basili, L. Briand, and W.L. Melo, A Validation of Object- Oriented Design Metrics as Quality Indicators, IEEE Trans. Software Eng., vol. 22, no. 10, pp , Oct [5] A.B. Binkley and S.R. Schach, Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures, Proc. 20th Int l Conf. Software Eng., pp , [6] A. Marcus, D. Poshyvanyk, and R. Ferenc, Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems, IEEE Trans. Software Eng., vol. 34, no. 2, pp , Mar./ Apr [7] W.J. Brown, R.C. Malveau, W.H. Brown, H.W.McCormick III, and T.J. Mowbray, Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis. first ed., John Wiley & Sons, [8] M. Fowler, Refactoring: Improving the Design of Existing Code. Addison- Wesley, [9] N. Tsantalis and A. Chatzigeorgiou, Identification of Move Method Refactoring Opportunities, IEEE Trans. Software Eng., vol. 35, no. 3, pp , May/June [10] J. Chang and D.M. Blei, Hierarchical Relational Models for Document Networks, Annals of Applied Statistics, vol. 4,

Maintainability and Agile development. Author: Mika Mäntylä

Maintainability and Agile development. Author: Mika Mäntylä Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to

More information

International Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017

International Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017 RESEARCH ARTICLE OPEN ACCESS Handling Anomalies in the System Design: A Unique Methodology and Solution Pratik Rajan Bhore [1], Dr. Shashank D. Joshi [2], Dr. Naveenkumar Jayakumar [3] Department of Computer

More information

SOFTWARE MODULE CLUSTERING USING SINGLE AND MULTI-OBJECTIVE APPROACHES

SOFTWARE MODULE CLUSTERING USING SINGLE AND MULTI-OBJECTIVE APPROACHES SOFTWARE MODULE CLUSTERING USING SINGLE AND MULTI-OBJECTIVE APPROACHES CHANDRAKANTH P 1 ANUSHA G 2 KISHORE C 3 1,3 Department of Computer Science & Engineering, YITS, India 2 Department of Computer Science

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Measuring Web Service Interfaces

Measuring Web Service Interfaces Measuring Web Service Interfaces Harry M. Sneed ANECON GmbH, Vienna Harry.Sneed@t-online.de Abstract The following short paper describes a tool supported method for measuring web service interfaces. The

More information

Hybrid Clustering Approach for Software Module Clustering

Hybrid Clustering Approach for Software Module Clustering Hybrid Clustering Approach for Software Module Clustering 1 K Kishore C, 2 Dr. K. Ramani, 3 Anoosha G 1,3 Assistant Professor, 2 Professor 1,2 Dept. of IT, Sree Vidyanikethan Engineering College, Tirupati

More information

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AUTOMATIC TEST CASE GENERATION FOR PERFORMANCE ENHANCEMENT OF SOFTWARE THROUGH GENETIC ALGORITHM AND RANDOM TESTING Bright Keswani,

More information

Escaping Local Optima: Genetic Algorithm

Escaping Local Optima: Genetic Algorithm Artificial Intelligence Escaping Local Optima: Genetic Algorithm Dae-Won Kim School of Computer Science & Engineering Chung-Ang University We re trying to escape local optima To achieve this, we have learned

More information

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm

Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm 2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore Automated Test Data Generation and Optimization Scheme Using Genetic Algorithm Roshni

More information

UML Specification and Correction of Object-Oriented Anti-patterns

UML Specification and Correction of Object-Oriented Anti-patterns UML Specification and Correction of Object-Oriented Anti-patterns Maria Teresa Llano and Rob Pooley School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh, United Kingdom {mtl4,rjpooley}@hwacuk

More information

Research Note. Improving the Module Clustering of a C/C++ Editor using a Multi-objective Genetic Algorithm

Research Note. Improving the Module Clustering of a C/C++ Editor using a Multi-objective Genetic Algorithm UCL DEPARTMENT OF COMPUTER SCIENCE Research Note RN/15/02 Improving the Module Clustering of a C/C++ Editor using a Multi-objective Genetic Algorithm May 5, 2015 Matheus Paixao 1, Mark Harman 1, Yuanyuan

More information

HOW AND WHEN TO FLATTEN JAVA CLASSES?

HOW AND WHEN TO FLATTEN JAVA CLASSES? HOW AND WHEN TO FLATTEN JAVA CLASSES? Jehad Al Dallal Department of Information Science, P.O. Box 5969, Safat 13060, Kuwait ABSTRACT Improving modularity and reusability are two key objectives in object-oriented

More information

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components

Towards Cohesion-based Metrics as Early Quality Indicators of Faulty Classes and Components 2009 International Symposium on Computing, Communication, and Control (ISCCC 2009) Proc.of CSIT vol.1 (2011) (2011) IACSIT Press, Singapore Towards Cohesion-based Metrics as Early Quality Indicators of

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc-CST Semester / Year : Even / II Subject Name

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm

Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm Inducing Parameters of a Decision Tree for Expert System Shell McESE by Genetic Algorithm I. Bruha and F. Franek Dept of Computing & Software, McMaster University Hamilton, Ont., Canada, L8S4K1 Email:

More information

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does) Training & Documentation Reading: Chapter 10 Different Users Types of training User training (what the system does) Operator training (how the system works) Special training needs: new users vs. brush-up

More information

Information Systems. Software Engineering. MCQ - Part 2

Information Systems. Software Engineering. MCQ - Part 2 Information Systems & Software Engineering MCQ - Part 2 Information Systems & Software Engineering MCQ - Part 2 Changes made to the system to reduce the future system failure chances is called Preventive

More information

Refactoring Practice: How it is and How it Should be Supported

Refactoring Practice: How it is and How it Should be Supported Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case

More information

The Parallel Software Design Process. Parallel Software Design

The Parallel Software Design Process. Parallel Software Design Parallel Software Design The Parallel Software Design Process Deborah Stacey, Chair Dept. of Comp. & Info Sci., University of Guelph dastacey@uoguelph.ca Why Parallel? Why NOT Parallel? Why Talk about

More information

Using FCA to Suggest Refactorings to Correct Design Defects

Using FCA to Suggest Refactorings to Correct Design Defects Using FCA to Suggest Refactorings to Correct Design Defects Naouel Moha, Jihene Rezgui, Yann-Gaël Guéhéneuc, Petko Valtchev, and Ghizlane El Boussaidi GEODES, Department of Informatics and Operations Research

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

Software Testing Interview Question and Answer

Software Testing Interview Question and Answer Software Testing Interview Question and Answer What is Software Testing? A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to

More information

Rule-Based System for Flaw Specification and Detection in Object-Oriented Programs

Rule-Based System for Flaw Specification and Detection in Object-Oriented Programs Rule-Based System for Flaw Specification and Detection in Object-Oriented Programs El Hachemi Alikacem 1 and Houari A. Sahraoui 2 1 Computer Research Institute of Montreal 405, Ogilvy Avenue, Suite 100,

More information

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN

CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN 97 CHAPTER 5 ENERGY MANAGEMENT USING FUZZY GENETIC APPROACH IN WSN 5.1 INTRODUCTION Fuzzy systems have been applied to the area of routing in ad hoc networks, aiming to obtain more adaptive and flexible

More information

SOFTWARE ENGINEERING

SOFTWARE ENGINEERING SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Gradational conception in Cleanroom Software Development

Gradational conception in Cleanroom Software Development Gradational conception in Cleanroom Software Development Anshu Sharma 1 and Shilpa Sharma 2 1 DAV Institute of Engineering and Technology, Kabir Nagar, Jalandhar, India 2 Lovely Professional University,

More information

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation

More information

CS 575: Software Design

CS 575: Software Design CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation

More information

Inheritance Metrics: What do they Measure?

Inheritance Metrics: What do they Measure? Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

(A Very Brief) Introduction to Software Engineering

(A Very Brief) Introduction to Software Engineering (A Very Brief) Introduction to Engineering Authors: Address: Version: 1.1 Simon Pickin, Marisol García Vals Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Spain 1 Contents 1. Overview

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

SOFTWARE ENGINEERING SOFTWARE EVOLUTION. Saulius Ragaišis.

SOFTWARE ENGINEERING SOFTWARE EVOLUTION. Saulius Ragaišis. SOFTWARE ENGINEERING SOFTWARE EVOLUTION Saulius Ragaišis saulius.ragaisis@mif.vu.lt CSC2008 SE Software Evolution Learning Objectives: Identify the principal issues associated with software evolution and

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

Analysis of Various Software Metrics Used To Detect Bad Smells

Analysis of Various Software Metrics Used To Detect Bad Smells The International Journal Of Engineering And Science (IJES) Volume 5 Issue 6 Pages PP -14-20 2016 ISSN (e): 2319 1813 ISSN (p): 2319 1805 Analysis of Various Software Metrics Used To Detect Bad Smells

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

Finding Effective Software Security Metrics Using A Genetic Algorithm

Finding Effective Software Security Metrics Using A Genetic Algorithm International Journal of Software Engineering. ISSN 0974-3162 Volume 4, Number 2 (2013), pp. 1-6 International Research Publication House http://www.irphouse.com Finding Effective Software Security Metrics

More information

Software re-use assessment for quality M. Ramachandran School of Computing and Mathematical Sciences, Jo/m Moores C/mrerszZ?/,

Software re-use assessment for quality M. Ramachandran School of Computing and Mathematical Sciences, Jo/m Moores C/mrerszZ?/, Software re-use assessment for quality M. Ramachandran School of Computing and Mathematical Sciences, Jo/m Moores C/mrerszZ?/, ABSTRACT Reuse of software components can improve software quality and productivity

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

Refactoring Framework for Instance Code Smell Detection

Refactoring Framework for Instance Code Smell Detection International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Refactoring Framework for Instance Code Smell Detection D. Raj Kumar, G.M. Chanakya Abstract Code and design smells

More information

Quality-oriented Move Method Refactoring

Quality-oriented Move Method Refactoring Quality-oriented Move Method Refactoring Christian Marlon Souza Couto Department of Computer Science Federal University of Lavras Lavras, Brazil Email: christiancouto@posgrad.ufla.br Henrique Rocha Inria

More information

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design

Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design Loughborough University Institutional Repository Evolutionary form design: the application of genetic algorithmic techniques to computer-aided product design This item was submitted to Loughborough University's

More information

CSC 408F/CSC2105F Lecture Notes

CSC 408F/CSC2105F Lecture Notes CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes

More information

McCa!"s Triangle of Quality

McCa!s Triangle of Quality McCa!"s Triangle of Quality Maintainability Portability Flexibility Reusability Testability Interoperability PRODUCT REVISION PRODUCT TRANSITION PRODUCT OPERATION Correctness Usability Reliability Efficiency

More information

A Technique for Design Patterns Detection

A Technique for Design Patterns Detection A Technique for Design Patterns Detection Manjari Gupta Department of computer science Institute of Science Banaras Hindu University Varansi-221005, India manjari_gupta@rediffmail.com Abstract Several

More information

Investigation of Metrics for Object-Oriented Design Logical Stability

Investigation of Metrics for Object-Oriented Design Logical Stability Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes

More information

Software Refactoring Using Multi-Objective Optimization

Software Refactoring Using Multi-Objective Optimization Software Refactoring Using Multi-Objective Optimization Ali Ouni GEODES Software Engineering Research Group, University of Montreal McDonnell Douglas Software Engineering Laboratory, Missoury University

More information

Pattern-Oriented Reengineering of a Network System

Pattern-Oriented Reengineering of a Network System Pattern-Oriented Reengineering of a Network System Chung-Horng LUNG Department of Systems and Computer Engineering, Carleton University Ottawa, Ontario K1S 5B6, Canada and Qiang ZHAO Department of Systems

More information

Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD

Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD Modern Software Engineering Methodologies Meet Data Warehouse Design: 4WD Matteo Golfarelli Stefano Rizzi Elisa Turricchia University of Bologna - Italy 13th International Conference on Data Warehousing

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model Software Testing MANUAL TESTING Introduction to Testing 1. Brief History of Testing 2. Testing Opportunities 3. Testing Principles Software Quality Software Testing Definition 1. Verification 2. Validation

More information

Optimization of Surface Roughness in End Milling of Medium Carbon Steel by Coupled Statistical Approach with Genetic Algorithm

Optimization of Surface Roughness in End Milling of Medium Carbon Steel by Coupled Statistical Approach with Genetic Algorithm Optimization of Surface Roughness in End Milling of Medium Carbon Steel by Coupled Statistical Approach with Genetic Algorithm Md. Anayet Ullah Patwari Islamic University of Technology (IUT) Department

More information

Search-Based Software Engineering: Foundations and Recent Applications

Search-Based Software Engineering: Foundations and Recent Applications Search-Based Software Engineering: Foundations and Recent Applications Ali Ouni Software Engineering Lab, Osaka University, Japan 5th Asian Workshop of Advanced Software Engineering (AWASE 16), 19-20 March,

More information

Reusability Metrics for Object-Oriented System: An Alternative Approach

Reusability Metrics for Object-Oriented System: An Alternative Approach Reusability Metrics for Object-Oriented System: An Alternative Approach Parul Gandhi Department of Computer Science & Business Administration Manav Rachna International University Faridabad, 121001, India

More information

Software Design. Levels in Design Process. Design Methodologies. Levels..

Software Design. Levels in Design Process. Design Methodologies. Levels.. Design Software Design Design activity begins with a set of requirements Design done before the system is implemented Design is the intermediate language between requirements and code Moving from problem

More information

Evolutionary Decision Trees and Software Metrics for Module Defects Identification

Evolutionary Decision Trees and Software Metrics for Module Defects Identification World Academy of Science, Engineering and Technology 38 008 Evolutionary Decision Trees and Software Metrics for Module Defects Identification Monica Chiş Abstract Software metric is a measure of some

More information

Paul POCATILU, PhD Economics Informatics and Cybernetics Department The Bucharest Academy of Economic Studies

Paul POCATILU, PhD   Economics Informatics and Cybernetics Department The Bucharest Academy of Economic Studies Paul POCATILU, PhD Email: ppaul@ase.ro Economics Informatics and Cybernetics Department The Bucharest Academy of Economic Studies A FRAMEWORK FOR TEST DATA GENERATORS ANALYSIS Abstract. Test data generation

More information

Principles of Software Construction: Objects, Design and Concurrency. Introduction to Design. toad

Principles of Software Construction: Objects, Design and Concurrency. Introduction to Design. toad Principles of Software Construction: Objects, Design and Concurrency Introduction to Design 15-214 toad Christian Kästner Charlie Garrod School of Computer Science 2012-14 C Kästner, C Garrod, J Aldrich,

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

Deduplication of Hospital Data using Genetic Programming

Deduplication of Hospital Data using Genetic Programming Deduplication of Hospital Data using Genetic Programming P. Gujar Department of computer engineering Thakur college of engineering and Technology, Kandiwali, Maharashtra, India Priyanka Desai Department

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

RECORD DEDUPLICATION USING GENETIC PROGRAMMING APPROACH

RECORD DEDUPLICATION USING GENETIC PROGRAMMING APPROACH Int. J. Engg. Res. & Sci. & Tech. 2013 V Karthika et al., 2013 Research Paper ISSN 2319-5991 www.ijerst.com Vol. 2, No. 2, May 2013 2013 IJERST. All Rights Reserved RECORD DEDUPLICATION USING GENETIC PROGRAMMING

More information

Object Design II: Design Patterns

Object Design II: Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Towards Systematic Usability Verification

Towards Systematic Usability Verification Towards Systematic Usability Verification Max Möllers RWTH Aachen University 52056 Aachen, Germany max@cs.rwth-aachen.de Jonathan Diehl RWTH Aachen University 52056 Aachen, Germany diehl@cs.rwth-aachen.de

More information

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS Design evaluation is most critical activity during software development process. Design heuristics are proposed as a more accessible and informal means

More information

Intelligent Risk Identification and Analysis in IT Network Systems

Intelligent Risk Identification and Analysis in IT Network Systems Intelligent Risk Identification and Analysis in IT Network Systems Masoud Mohammadian University of Canberra, Faculty of Information Sciences and Engineering, Canberra, ACT 2616, Australia masoud.mohammadian@canberra.edu.au

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms

System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms SysCon 2008 IEEE International Systems Conference Montreal, Canada, April 7 10, 2008 System of Systems Architecture Generation and Evaluation using Evolutionary Algorithms Joseph J. Simpson 1, Dr. Cihan

More information

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT Question: Difference between Verification and Validation? Answer: Verification ensures the product is designed to deliver all functionality to the customer;

More information

International Journal of Software and Web Sciences (IJSWS) EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM

International Journal of Software and Web Sciences (IJSWS)   EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Literature Review On Implementing Binary Knapsack problem

Literature Review On Implementing Binary Knapsack problem Literature Review On Implementing Binary Knapsack problem Ms. Niyati Raj, Prof. Jahnavi Vitthalpura PG student Department of Information Technology, L.D. College of Engineering, Ahmedabad, India Assistant

More information

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system

2/18/2009. Introducing Interactive Systems Design and Evaluation: Usability and Users First. Outlines. What is an interactive system Introducing Interactive Systems Design and Evaluation: Usability and Users First Ahmed Seffah Human-Centered Software Engineering Group Department of Computer Science and Software Engineering Concordia

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

Transformation of analysis model to design model

Transformation of analysis model to design model 2010 International Conference on E-business, Management and Economics IPEDR vol.3 (2011) (2011) IACSIT Press, Hong Kong Transformation of analysis model to design model Lalji Prasad Truba College of Engineering

More information

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

International Journal of Digital Application & Contemporary research Website:   (Volume 1, Issue 7, February 2013) Performance Analysis of GA and PSO over Economic Load Dispatch Problem Sakshi Rajpoot sakshirajpoot1988@gmail.com Dr. Sandeep Bhongade sandeepbhongade@rediffmail.com Abstract Economic Load dispatch problem

More information

Usability Evaluation as a Component of the OPEN Development Framework

Usability Evaluation as a Component of the OPEN Development Framework Usability Evaluation as a Component of the OPEN Development Framework John Eklund Access Testing Centre and The University of Sydney 112 Alexander Street, Crows Nest NSW 2065 Australia johne@testingcentre.com

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Appendix to The Health of Software Engineering Research

Appendix to The Health of Software Engineering Research Appendix to The Health of Software Engineering Research David Lo School of Information Systems Singapore Management University Singapore davidlo@smu.edu.sg Nachiappan Nagappan and Thomas Zimmermann Research

More information

A New Metric for Code Readability

A New Metric for Code Readability IOSR Journal of Computer Engineering (IOSRJCE) ISSN: 2278-0661, ISBN: 2278-8727Volume 6, Issue 6 (Nov. - Dec. 2012), PP 44-48 A New Metric for Code Readability Rajendar Namani 1, Kumar J 2 1 Department

More information

A Study of Bad Smells in Code

A Study of Bad Smells in Code International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and

More information

Procedia Computer Science

Procedia Computer Science Procedia Computer Science 00 (2009) 000 000 Procedia Computer Science www.elsevier.com/locate/procedia INSODE 2011 Theoretical Analysis for the Impact of Including Special Methods in Lack-of-Cohesion Computation

More information

SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS

SOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - Good software properties SOFTWARE ENGINEERING SOFTWARE QUALITY Today we talk about quality - but what is quality? Suitable Fulfills

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The

More information

Study of Component Based Software Engineering

Study of Component Based Software Engineering Study of Based Software Ishita Verma House No.4, Village Dayalpur Karawal Nagar Road Delhi-110094, India ish.v.16@gmail.com Abstract based engineering is an approach of development that emphasizes the

More information

DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES

DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES IJACE: Volume 4, No. 1, January-June 2012, pp. 19-24 DETERMINE COHESION AND COUPLING FOR CLASS DIAGRAM THROUGH SLICING TECHNIQUES Akhilesh Kumar 1* & Sunint Kaur Khalsa 1 Abstract: High cohesion or module

More information

HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY

HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY Proceedings of the 1998 Winter Simulation Conference D.J. Medeiros, E.F. Watson, J.S. Carson and M.S. Manivannan, eds. HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A

More information