www.astesj.com 211 A Critical Analysis of Topics in Software Architecture and Design Janet Bishung, Ooreofe Koyejo, Adaugo Okezie, Boma Edosomwan, Sylvester Ani, Abisola Ibrahim, Austin Olushola, Isaac Odun- Ayo * Department of Computer and Information Sciences, Covenant University, Ogun State, Nigeria A R T I C L E I N F O A B S T R A C T Article history: Received: 20 January, 2019 Accepted: 07 March, 2019 Online: 27 March, 2019 Software architecture and design is an important component in the software engineering field. This aspect of software engineering covers the functional and non-functional requirements of any system being proposed to be developed, while software architecture deals with non-functional requirements, software design entails the functional requirements. The objective of this paper is to critically analyze current topics in Software architecture and design. The method of analysis involved the use of inclusion and exclusion criteria of papers published in journals and conferences. These papers were accessed from digital libraries like ScienceDirect, and IEEE explore, with a quantitative approach of analysis been imbibed. From the analysis, the result showed that, of 35 papers used in analysis, 34.3% discussed stakeholders’ involvement and decisions in software design. 17.1% for design quality, 20% examined software reuse while 11.4% discussed software evaluation and 8.6% of papers reviewed discussed software management, evolution and software development life cycle each which should be more focused as it is the fundamentals of software design and architecture. From the analysis derived, stakeholder’s involvement and decision in software design is an integral part in software building for effective use. Thereby making researchers dwell more on the topic. The least discussed topics was due to the expectations of researchers. Expecting readers to have a fore knowledge of the fundamentals of design which includes software management, evolution and software development life cycle. Keywords: Software Architecture Software Design Service Oriented Architecture Design Patterns 1. Introduction Software Architecture gives the high-level description of a software and the discipline of creating the structures and systems [1]. It gives blueprint for the system, laying out tasks to be executed in a logical manner through the design [2]. It is the fundamental structural choices made vis a vis the business needs of the organization which may be costly to change once implemented [3]. Although there are no standard procedures to follow in software architecture that can address all issues of concern in general software development, certain factors should be of utmost non-negotiable fundamentals in software development, to ensure standardization thereby avoiding incessant collapse of systems witnessed in the early years of software developments [4]. Among the factors that will be enumerated briefly is the factor of proper documentation. This facilitates communication among stakeholders, captures decisions about the structures of the task and the design options – focusing on the decisions that must be right from the onset, otherwise, the imminent collapse of such system will be devastating– [5]. Since software architecture is largely driven by the required or expected functionalities, the current insight to software architecture is that required functionalities should reflect or incorporate all the quality attributes which include fault-tolerance, reliability, backward compatibility, extensibility, availability, maintainability, usability, security amongst others. Stakeholders concerns should reflect these quality attributes at both non-functional and functional stages without recourse to extra cost. Software design envisions and defines software solutions to problem sets. It involves a sequence of steps that describe all aspects of the software in development [6]. Here, solutions to the problem the software is to solve are expressed in a logical sequence with details of their relationships. It begins with describing the total components to be built, then refine them to every detail. It is ASTESJ ISSN: 2415-6698 * Isaac Odun-Ayo, Covenant University, +2348028829456 isaac.odunayo@covenantuniversity.edu.ng Advances in Science, Technology and Engineering Systems Journal Vol. 4, No. 2, 211-220 (2019) www.astesj.com Special Issue on Advancement in Engineering and Computer Science