• Title/Summary/Keyword: Object oriented software

Search Result 552, Processing Time 0.023 seconds

Flattening Class Hierarchy for Reorganization of Object-Oriented Software (객체지향 소프트웨어의 재구성을 위한 클래스계층 구조의 평탄화)

  • Hwang, Seok-Hyeong;Yang, Hae-Sul;Park, Jeong-Ho
    • The KIPS Transactions:PartD
    • /
    • v.8D no.6
    • /
    • pp.853-860
    • /
    • 2001
  • In the object-oriented software development, redesigning of classes and reorganizing of class hierarchy structures should be necessary to reduce many of the headaches of object-oriented software design and maintenance. To support this task, in this paper, we propose a theoretical foundation for class hierarchy reorganizations that is relatively complete, correct, formal and easy to understand and use. We introduce the flattened class hierarchy that characterizes the class hierarchy structures in object-oriented software evolution. And we also present an algorithm which transforms a given class hierarchy into the normalized form. The flattened class hierarchy helps us map the inheritance and aggregation paths in a class hierarchy to paths in an object hierarchy that is an instance of the class hierarchy. By applying the algorithm into a given class hierarchy, we can make a new, object-preserved, and flattened class hierarchy that is the cornerstone for reorganization of class hierarchy structure and plays an important role as a bridge on the incremental evolutionary changes and reuse of object-oriented software to reorganize class hierarchies.

  • PDF

OOPT: An Object-Oriented Development Methodology for Software Engineering Education (OOPT: 소프트웨어공학 교육을 위한 객체지향 소프트웨어 개발 방법론)

  • Jung, Sejin;Lee, Dong-Ah;Kim, Eui-Sub;Chang, Chun-Hyon;Yoo, Junbeom
    • Journal of KIISE
    • /
    • v.44 no.5
    • /
    • pp.510-521
    • /
    • 2017
  • The software development process (SDP) plays an important basic role in software engineering education. Every software is developed in accordance with a specific SDP which contains all phases of software development. SDP education helps students to understand the overall techniques and the process of software engineering. This paper introduces a software development methodology (i.e., process) - 'OOPT (Object Oriented Process with Traceability),' which was proposed for use in university software engineering classes. The OOPT is based on object-oriented software development, and it defines concrete requirements as well as outputs of each process/phases. It also contains the unit/system testing and a traceability analysis. We have used the OOPT in software engineering classes at Konkuk university for eight years. This paper conveys our experience as well as future extension and improvement plans.

A Study on Object-Oriented Software Design Methodology (객체지향 소프트웨어 설계법에 관한 연구)

  • Song, Young-Jae
    • Journal of the Korean Institute of Telematics and Electronics
    • /
    • v.27 no.8
    • /
    • pp.1231-1238
    • /
    • 1990
  • Though the studies on object-oriented software design which software component corresponds to phrases appearing in sentences of natural language have been going on, the design methodology has not been clearly set up yet. In this paper, the module structure of good quality was found not only by nouns that indicate class of object but also by subdividing sentences. I also suggested objected-oriented methodology observing the interdependency between objects and their relationships, and assessed the control problem of lift as an example.

  • PDF

A Study on the Design of an Electronic Interlocking Software Using the Object-Oriented Method (객체지향 기법을 이용한 전자연동 소프트웨어의 설계에 관한 연구)

  • 이재호;이병일;박영수;이재훈;이기서
    • Proceedings of the KSR Conference
    • /
    • 2000.05a
    • /
    • pp.284-291
    • /
    • 2000
  • Interlocking software used in the electronic interlocking has been implemented through the structured approach until now. But there was the demerit that interlocking software has some problem in the standardization and the maintenance because of the limit in structured approach. Object-Oriented method overcoming this demerit was specified in the design step and the analysis step. There were object model, dynamic model and functional model in the analysis step and there were also two steps which were system design and object design in the design step. In this paper, Interlocking software was designed using Object-Oriented method to improve the standardization and the maintenance of the electronic interlocking. The electronic interlocking was analyzed with object modeling, dynamic modeling and functional modeling.

  • PDF

Efficient Class Identification based on Event (이벤트 기반의 효율적인 클래스 식별)

  • Choi, Mi-Sook;Lee, Jong-Suk
    • Journal of Digital Contents Society
    • /
    • v.9 no.2
    • /
    • pp.165-175
    • /
    • 2008
  • Currently, software development methods have been advanced to service-oriented from component-oriented, to component-oriented from object-oriented. The component-oriented and service-oriented software development methods are analyzed by object-oriented UML model. So, the efficient analysis method for object-oriented UML model needs. In this paper, we suggest the analysis guideline and process based on event using Input Data-Process-Output Data Table for identifying use cases and classes efficiently. And the suggested method complements the problems depending the developer's perspective and experience.

  • PDF

A Module Decomposition Method for Object-Oriented Design (객체 지향 설계를 위한 모듈 분해방법)

  • Heo, Gye-Beom;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.2 no.3
    • /
    • pp.299-313
    • /
    • 1995
  • Object-Oriented design method decomposes the program into object that establish the relationship between objects. It is the technique of object centered decomposition unlike function oriented legacy system. Since existing Object- Oriented design method doesn't fully explain of the design method of module and decomposition, and need to implement the Object-Oriented software as a total system init. It has many problems that whole object design method and application programs should be analyzed for the understanding an Object-Oriented software component. Therefore, this study provides a procedure for Object-Oriented module design and criteria of decomposition to practically support the complex and large system development. Futhermore, it shows a consistency between design model and implementation through a case study applying these module decomposition criteria to the real system.

  • PDF

A Prediction Model for Software Change using Object-oriented Metrics (객체지향 메트릭을 이용한 변경 발생에 대한 예측 모형)

  • Lee, Mi-Jung;Chae, Heung-Seok;Kim, Tae-Yeon
    • Journal of KIISE:Software and Applications
    • /
    • v.34 no.7
    • /
    • pp.603-615
    • /
    • 2007
  • Software changes for various kinds of reasons and they increase maintenance cost. Software metrics, as quantitative values about attributes of software, have been adopted for predicting maintenance cost and fault-proneness. This paper proposes relationship between some typical object-oriented metrics and software changes in industrial settings. We used seven metrics which are concerned with size, complexity coupling, inheritance and polymorphism, and collected data about the number of changes during the development of an Information system on .NET platform. Based on them, this paper proposes a model for predicting the number of changes from the object-oriented metrics using multiple regression analysis technique.

Fault Prediction Using Statistical and Machine Learning Methods for Improving Software Quality

  • Malhotra, Ruchika;Jain, Ankita
    • Journal of Information Processing Systems
    • /
    • v.8 no.2
    • /
    • pp.241-262
    • /
    • 2012
  • An understanding of quality attributes is relevant for the software organization to deliver high software reliability. An empirical assessment of metrics to predict the quality attributes is essential in order to gain insight about the quality of software in the early phases of software development and to ensure corrective actions. In this paper, we predict a model to estimate fault proneness using Object Oriented CK metrics and QMOOD metrics. We apply one statistical method and six machine learning methods to predict the models. The proposed models are validated using dataset collected from Open Source software. The results are analyzed using Area Under the Curve (AUC) obtained from Receiver Operating Characteristics (ROC) analysis. The results show that the model predicted using the random forest and bagging methods outperformed all the other models. Hence, based on these results it is reasonable to claim that quality models have a significant relevance with Object Oriented metrics and that machine learning methods have a comparable performance with statistical methods.

Evolutionary Computing Driven Extreme Learning Machine for Objected Oriented Software Aging Prediction

  • Ahamad, Shahanawaj
    • International Journal of Computer Science & Network Security
    • /
    • v.22 no.2
    • /
    • pp.232-240
    • /
    • 2022
  • To fulfill user expectations, the rapid evolution of software techniques and approaches has necessitated reliable and flawless software operations. Aging prediction in the software under operation is becoming a basic and unavoidable requirement for ensuring the systems' availability, reliability, and operations. In this paper, an improved evolutionary computing-driven extreme learning scheme (ECD-ELM) has been suggested for object-oriented software aging prediction. To perform aging prediction, we employed a variety of metrics, including program size, McCube complexity metrics, Halstead metrics, runtime failure event metrics, and some unique aging-related metrics (ARM). In our suggested paradigm, extracting OOP software metrics is done after pre-processing, which includes outlier detection and normalization. This technique improved our proposed system's ability to deal with instances with unbalanced biases and metrics. Further, different dimensional reduction and feature selection algorithms such as principal component analysis (PCA), linear discriminant analysis (LDA), and T-Test analysis have been applied. We have suggested a single hidden layer multi-feed forward neural network (SL-MFNN) based ELM, where an adaptive genetic algorithm (AGA) has been applied to estimate the weight and bias parameters for ELM learning. Unlike the traditional neural networks model, the implementation of GA-based ELM with LDA feature selection has outperformed other aging prediction approaches in terms of prediction accuracy, precision, recall, and F-measure. The results affirm that the implementation of outlier detection, normalization of imbalanced metrics, LDA-based feature selection, and GA-based ELM can be the reliable solution for object-oriented software aging prediction.

A Study on the Maintenance Scheduling based on the Object-Oriented Programming (객체 지향 기법에 기반을 둔 보수 계획 수립에 관한 연구)

  • Park, Young-Moon;Kim, Jin-Ho;Park, Jong-Bae;Won, Jong-Ryul
    • Proceedings of the KIEE Conference
    • /
    • 1996.07b
    • /
    • pp.829-831
    • /
    • 1996
  • This paper is concerning on a study on the object-oriented programming and its application to maintenance scheduling. The concept of object-oriented programming enables us to modify and reuse software with much ease. By introducing object-oriented programming to maintenance scheduling, we can develop a hierarchical and reusable software in maintenance scheduling. The maintenance scheduling problem becoming more and more large and complex can be dealt with the concept of object-oriented technique and we hope this concept will give a reasonable solution. And evolutionary computation will be developed as a optimization technique.

  • PDF