Tytuł artykułu
Autorzy
Identyfikatory
Warianty tytułu
Software principles, heuristics and flaws in object oriented design
Języki publikacji
Abstrakty
Artykuł omawia różne odmiany dobrych praktyk, które mają zastosowanie w projektowaniu zorientowanym obiektowo – heurystyki, zasady, skazy oraz wzorce. Na tej podstawie przedstawione zostają główne modele jakościowe projektu, tzw. modele FCM (ang. Factor-Criteria-Metric). W pracy zawarte są również metody pomiaru i identyfikacji problemów związanych z wymienionymi praktykami.
Article describes different kinds of best practices which are used in the object oriented software design – heuristics, principles, smells and patterns. Based on that, there are presented main project quality models the so-called FCM (FactorCriteria-Metric) models. Additionally the measurement and problem identification connected with the mentioned best practices is discussed as well.
Czasopismo
Rocznik
Tom
Strony
61--80
Opis fizyczny
Bibliogr. 50 poz.
Twórcy
autor
- Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice
Bibliografia
- 1. D'Ambros M., Bacchelli A., Lanza M.: On the Impact of Design Flaws on Software Defects. 10th International Conference on Quality Software QSIC, Zhangjiajie 2010.
- 2. Khomh F., Penta M. D., Guéhéneuc Y.-G. L.: An Exploratory Study of the Impact of Code Smells on Software Change-proneness.16th Working Conference on Reverse Engineering WCRE, Lille 2009.
- 3. Yamashita A., Mesan A.S., Moonen L.: Do developers care about code smells? An exploratory survey. 20th Working Conference on Reverse Engineering WCRE, Koblenz 2013.
- 4. McCall J. A., Richards P. K., Walters G. F.: Factors in Software Quality. NTIS, t. 1, Springfield 1977.
- 5. 610.12-1990 – IEEE Standard Glossary of Software Engineering Terminology, IEEE Computer Society, 1990 (Reaffirmed 2002).
- 6. Ragab S. R., Ammar H. H.: Object oriented design metrics and tools a survey. The 7th International Conference on Informatics and Systems INFOS, Kair 2010.
- 7. Bansiya J., Davis C. G.: A hierarchical model for object-oriented design quality assessment. IEEE Transactions on Software Engineering, t. 28, nr 1, 2002, p. 4÷17.
- 8. Pescio C.: Principles Versus Patterns. Computer, t. 30, nr 9, Los Alamitos 1997.
- 9. Melton H.: On the Usage and Usefulness of OO Design Principles. OOPSLA 2006, Portland 2006.
- 10. Wermelinger M., Yu Y., Lozano A., Capiluppi A.: Assessing architectural evolution: a case study. Empirical Software Engineering, Wyd. Springer, t. 16, nr 5, 2011, s. 623÷666.
- 11. Wermelinger M., Yu Y., Lozano A.: Design principles in architectural evolution: A case study. 24th IEEE International Conference on Software Maintenance ICSM, Beijing 2008.
- 12. Wermelinger M., Yu Y., Lozano A., Capiluppi A.: Assessing architectural evolution: a case study. Empirical Software Engineering, t. 16, nr 5, s. 623÷666.
- 13. Martin R. C.: Agile Principles, Patterns, and Practices in C#. Wyd. Prentice Hall, 2006.
- 14. Martin R. C.: Design Principles and Design Patterns. 01 2000. [Online]. Available: www.objectmentor.com.
- 15. Thomas D., Hunt A.: The Pragmatic Programmer: From Journeyman to Master. Wyd. Addison-Wesley Professional, 1999.
- 16. Freeman E., Freeman E., Bates B., Sierra K., Robson E.: Head First Design Patterns. Wyd. O'Reilly Media, 2004.
- 17. Wuersch M., Giger E., Gall H.: An Empirical Validation of the Benefits of Adhering to the Law of Demeter. 18th Working Conference on Reverse Engineering WCRE, Lero 2011.
- 18. Lieberherr K. J.: Controlling the complexity of software designs. 26th International Conference on Software Engineering ICSE, Edinburgh 2004.
- 19. Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object-Oriented Software. Wyd. USA: Addison-Wesley, 1995.
- 20. Riel A. J.: Object-Oriented Design Heuristics, Wyd. Addison Wesley, 1996.
- 21. Churcher N., Frater S., Huynh C. P., Irwin W.: Suporting OO Desgin Heuristics. Engineering: Reports, Wyd. Uniwersytetu Canterbury, Canterbury 2006.
- 22. Martin Fowler K. B.: Refactoring: Improving the Design of Existing Code. Wyd. Addison-Wesley Professional, 1 edycja, 1999.
- 23. Li W., Shatnawi R.: An empirical study of the badsmells and class error probability in the post-releaseobject-oriented system evolution. Journal of Systems and Software, t. 80, nr 7, 2007, s. 1120÷1128.
- 24. Tahvildari L., Kogiannis K.: A metric-based approach to enhance design quality through meta-pattern transformations. 7th European Conference on Software Maintenance and Reengineering, Benevento 2003.
- 25. Moha N. G. Y.-G., Duchien L., Le Meur A.-F.: DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions on Software Engineering, t. 36, nr 1, 2010.
- 26. McNatt W. B., Bieman J. M.: Coupling of design patterns: common practices and their benefits. 25th Annual International Conference on Computer Software and Applications COMMPSAC, Taichung 2001.
- 27. Prechelt L., Unger-Lamprecht B., Philippsen M., W. F. Tichy: Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Transactions on Software Engineering, t. 28, nr 6, 2002.
- 28. Pescio C.: Principles Versus Patterns. Computer, t. 30, nr 9, 1997, s. 130÷131.
- 29. Alur D., Malks D., Crupi J., Core J2EE Patterns: Best Practices and Design Strategies. Wyd. Prentice Hall, 2 edycja, 2003.
- 30. Smith J.: WPF Apps With The Model-View-ViewModel Design Pattern. MSDN Magazine, nr 2/2009, 2009, s. 72÷83.
- 31. Buschmann F., Meunier R., Rohnert H., Sornmerlad P., M. Stal: Pattern-oriented software architecture. A system of patterns. Wyd. JOHN WlLEY & SONS, 2001.
- 32. Fowler M.: Patterns of Enterprise Application Architecture, Wyd. Addison Wesley, 2002.
- 33. Erl T.: SOA Design Patterns. Wyd. Prentice Hall PTR, 2009.
- 34. Marinescu R.: Measurement and quality in object-oriented design. 21st IEEE International Conference on Software Maintenance ICSM, Budapeszt 2005.
- 35. Erni K., Lewerentz C.: Applying design-metrics to object-oriented frameworks. 3rd International Software Metrics Symposium, Berlin 1996.
- 36. Luo Y., Hoss A. M., Carver D. L.: An ontological identification of relationships between anti-patterns and code smells. IEEE Aerospace Conference, Montana 2010.
- 37. Brown W. J., Malveau R. C., McCormick H. W., Mowbray T. J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, Wyd. Wiley; 1 edycja, 1998.
- 38. Maneerat N., Muenchaisri P.: Bad-smell prediction from software design model using machine learning techniques. 8th International Joint Conference on Computer Science and Software Engineering JCSSE, Nakhon Pathom 2011.
- 39. Khomh F. V. S., Gueheneuc Y.-G., Sahraoui H.: A Bayesian Approach for the Detection of Code and Design Smells. 8th International Conference on Quality Software QSIC, Jeju 2009.
- 40. Liu H., Ma Z., Shao W., Niu Z.: Schedule of Bad Smell Detection and Resolution: A New Way to Save Effort. IEEE Transactions on Software Engineering, t. 38, nr 1, 2012, s. 220÷235.
- 41. Kessentini M., Kessentini W., Sahraoui H. A., Boukadoum M. A., Ouni A.: Design Defects Detection and Correction by Example. 19th International Conference on Program Comprehension ICPC, Kingston 2011.
- 42. Serban C.: A Conceptual Framework for Object-oriented Design Assessment. Fourth UKSim European Symposium on Computer Modeling and Simulation (EMS), Pisa 2010.
- 43. Hassaine S., Khomh F., Guéhéneuc Y.-G. L., Hamel S.: IDS: An Immune-Inspired Approach for the Detection of Software Design Smells. Seventh International Conference on Quality of Information and Communications Technology QUATIC, Porto 2010.
- 44. Palomba F., Bavota G., Di Penta M., Oliveto R.: Detecting bad smells in source code using change history information. 28th International Conference on Automated Software Engineering (ASE), Palo Alto 2013.
- 45. Bär H., Ciupke O.: Exploiting Design Heuristics for Automatic Problem Detection. Workshop ion on Object-Oriented Technology ECOOP, Bruksela 1998.
- 46. Salehie M., Li S., Tahvildari L.: A Metric-Based Heuristic Framework to Detect Object-Oriented Design Flaws. 14th IEEE International Conference on Program Comprehension ICPC, Ateny 2006.
- 47. Wagner S., Lochmann K., Heinemann L., Klas M.: The Quamoco product quality modelling and assessment approach. 34th International Conference on Software Engineering (ICSE), Zurych 2012.
- 48. Mordal-Manet K., Balmas F., Denier S., Ducasse S.: The squale model – A practice-based industrial quality. 25th IEEE International Conference on Software Maintenance ICSM, Edmonton 2009.
- 49. Trifu A., Marinescu R.: Diagnosing design problems in object oriented systems. 20th 12th Working Conference on Reverse Engineering WCRE, Pittsburgh 2005.
- 50. Yashita A. F., Benestad H. C., Anda B. C. D., Arnstad P. E., Sjoberg D., Moonen L.: Using concept mapping for maintainability assessments. 3rd International Symposium on Empirical Software Engineering and Measurement ESEM, Lake Buena Vista 2009.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-088cfeb7-911e-4567-ac1b-91e8d2af7ef9