Software Architecture and Methodology as a Tool for Efficient Software Engineering Process: A Critical Appraisal

Abstract

The foundation for any software system is its architecture. Software architecture is a view of the system that includes the system’s major components, the behaviour of those components as visible to the rest of the system, and the ways in which the components interact and coordinate to achieve the overall system’s goal. Every efficient software system arises as a result of sound architectural basement. This requires the use of good architecture engineering practices and methods. This paper recognizes software architecture practice as a discipline pervading all phases of software development and also presents an enhanced model for software engineering process which provides an avenue for speedy, efficient and timely delivery of software products to their intended users. The integration of software architecture into the phases of software development process in a generic software life cycle is also contained in this research report. This is to enable software engineers and system analysts to use effective software architecture practices and to employ appropriate methodology during the software engineering process.

Share and Cite:

A. Philip, B. Afolabi, O. Adeniran, G. Ishaya and O. Oluwatolani, "Software Architecture and Methodology as a Tool for Efficient Software Engineering Process: A Critical Appraisal," Journal of Software Engineering and Applications, Vol. 3 No. 10, 2010, pp. 933-938. doi: 10.4236/jsea.2010.310110.

Conflicts of Interest

The authors declare no conflicts of interest.

References

[1] Bass et al., “Software Architecture in Practice,” Addison Wesley, New York, 2003.
[2] P. Clements, “Predicting Software Quality by Architecture-Level Evaluation,” Proceedings of the Fifth International Conference on Software Quality, Austin, Texas, October 1995.
[3] D. L. Parnas, “Designing Software for Ease of Extension and Contraction,” IEEE Transactions on Software Engineering, Vol. 5, No. 2, 1979, pp. 128-138.
[4] B. A. Boehm, “Spiral Models of Software Development and Enhancement,” Computer, Vol. 20, No. 9, 1987, pp. 61-72.
[5] D. Garlan, “Software Architecture: A Road Map,” Proceeding of the 16th International Conference on Software Engineering, Sorrento, Italy, May 2000, pp. 71-80.
[6] M. M. Lehman, “Process Models, Process Programming, Programming Support,” Proceedings of the 9th International Conference on Software Engineering IEEE Computer Society, Amsterdam, 1987, pp. 14-16.
[7] R. Lewallen, “Software Development Life Cycle Models,” Net Development, Vol. 20, No. 9, 2006, pp. 61-72.
[8] W. W. Royce, “Managing the Development of Large Software Systems,” Proceedings of the 9th International Conference Software Engineering, IEEE Computer Society, Amsterdam, 1987, pp. 328-338.
[9] W. Scacchi, “Process Models in Software Engineering,” Encyclopaedia of Software Engineering, 2nd Edition, John Wiley and Sons, Inc., New York, 2001.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.