Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 33122
Core Issues Affecting Software Architecture in Enterprise Projects
Authors: Halûk Gümüşkaya
Abstract:
In this paper we analyze the core issues affecting software architecture in enterprise projects where a large number of people at different backgrounds are involved and complex business, management and technical problems exist. We first give general features of typical enterprise projects and then present foundations of software architectures. The detailed analysis of core issues affecting software architecture in software development phases is given. We focus on three main areas in each development phase: people, process, and management related issues, structural (product) issues, and technology related issues. After we point out core issues and problems in these main areas, we give recommendations for designing good architecture. We observed these core issues and the importance of following the best software development practices and also developed some novel practices in many big enterprise commercial and military projects in about 10 years of experience.Keywords: Software architecture, enterprise projects.
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1060281
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 3607References:
[1] ISO/IEC 9126-1, Software Engineering - Product Quality - Part 1: Quality Model, 2001.
[2] D. Parnas, "On the Criteria to be Used in Decomposing Systems into Modules", Communications of ACM, vol. 15, no. 12, pp. 1053-1058, 1972.
[3] W.P. Stevens, G.J. Myers, L.L. Constantine, "Structured Design," IBM Systems Journal, vol. 13, no. 2, pp. 115-139, 1974.
[4] L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 2nd Edition, Addison-Wesley, 2003.
[5] The CHAOS Reports, http://www.standishgroup.com .
[6] S. McConnell, Rapid Development, Microsoft Press, 1996.
[7] S. McConnell, Software Project Survival Guide, Microsoft Press, 1997.
[8] J. S. Reel, "Critical Success Factors In Software Projects", IEEE Software, May/ June 1999, pp. 18-23.
[9] A. Senyard, M. Michlmayr, "How to Have a Successful Free Software Project", Proceedings of the IEEE 11th Asia-Pacific Software Engineering Conference (APSEC-04), November 2004, pp. 84-91.
[10] J. M. Verner, N. Cerpa, "Australian Software Development: What Software Project Management Practices Lead to Success?", IEEE Australian Software Engineering Conference (ASWEC-05), March 2005, pp. 70-77.
[11] J. M. Verner, W. M. Evanco, "In-House Software Development: What Project Management Practices Lead to Success?", IEEE Software, January 2005, pp. 86-93.
[12] G. Booch, Object Solutions: Managing the Object-Oriented Project, Addison Wesley, 1996.
[13] IEEE Standard 1058.1-1987, Software Project Management Plan.
[14] Recommended Approach to Software Development, NASA-Software Software Engineering Laboratory Series, Revision 3, June 1992.
[15] B. Bruegge, A. H. Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems, Using UML, Patterns, and Java, Prentice-Hall, 2004.
[16] J. A. Zachman, "A Framework Systems Architecture", IBM System Journal, Vol. 26, No. 3, See also www.zifa.com.
[17] S. McConnel, Code Complete: A Practical Handbook of Software Construction, 2nd Edition, Microsoft Press, 2004.
[18] E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
[19] M. Fowler, Patterns of Enterprise Application Architecture, Addison- Wesley, 2003.
[20] D. Alur, J. Crupi, D. Malks, Core J2EE Patterns, 2nd Edition, Prentice Hall, 2003.
[21] I. Jacobson, G. Booch, J. Rumbaugh, The Unified Software Development Process, Addison Wesley, 1999.
[22] P. Kruchten, The Rational Unified Process: An Introduction, 2d Ed., Addison Wesley, 2000.
[23] P. Clements, ed., Documenting Software Architectures: Views and Beyond, Addison Wesley, 2003.
[24] P. Clements, R. Kazman and M. Klein, Evaluating Software Architectures: Methods and Case Studies, Addison Wesley, 2002.
[25] M. Fowler, Refactoring, Improving the Design of Existing Code, Addison-Wesley, 1999.