{"id":69217,"date":"2021-08-14T04:10:06","date_gmt":"2021-08-14T08:10:06","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/recent-posts\/what-is-a-software-architecture-43\/"},"modified":"2021-08-14T04:10:06","modified_gmt":"2021-08-14T08:10:06","slug":"what-is-a-software-architecture-43","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=69217","title":{"rendered":"What is a software architecture? #43"},"content":{"rendered":"<p>Software Architecture is a growing but still young discipline.<\/p>\n<ul>\n<li>Some common definitions of Software Architecture [Ref: Software Architecture in Practice, Second Edition by Len Bass; Paul Clements; Rick Kazman]:\n<ul>\n<li> Architecture is high-level design <\/li>\n<li> Architecture is the overall structure of the system <\/li>\n<li> Architecture is the structure of the components of a program or system, their interrelationships, and the principles and guidelines governing their design and evolution over time<\/li>\n<li> Architecture is components and connectors <\/li>\n<\/ul>\n<\/li>\n<li> Why is Software Architecture important?\n<ul>\n<li> As Software Architecture provides a high level abstraction\/view of the system\/software, it helps the stakeholders in mutual understanding, negotiation, consensus, and communication of the system\/software  <\/li>\n<li> Software Architecture helps to play with the early design decisions and adjust before it&#8217;s too late to modify\/change the design decisions. Early design decisions influence the total SDLC and are the most difficult to get correct. Mistakes in the early design decisions are hard to be recovered later.<\/li>\n<li> Once a successful software architecture is developed, the architecture can be re-used for other systems (similar).<\/li>\n<\/ul>\n<\/li>\n<li> How software architecture and early design decisions affect the total SDLC?\n<ul>\n<li> Using Software Architecture, you can define the constraints on software implementation<\/li>\n<li> Software Architecture can also determine the structure of the development and management groups<\/li>\n<li> Software architecture can enable\/disable the quality requirements of the system\/software. If you need a scalable system, your architecture should address\/reflect this, and show\/define how to achieve this, otherwise your system may end up being not scalable<\/li>\n<li> System qualities can be determined by studying the software architecture <\/li>\n<li> Software Architecture will help you to analyze the system and change, the change management becomes easy<\/li>\n<li> Software Architecture helps in more accurate cost and schedule estimates<\/li>\n<\/ul>\n<\/li>\n<li> Architectural Structures and Views\n<ul>\n<li> Module structures: Here the architecture is represented as modules. The modules are the implementation units<\/li>\n<li> Component-and-connector structures: Here the elements are the runtime components. Connector represents the interaction among the components.  <\/li>\n<li> Allocation structures: Shows the relationship between the software elements and the elements in one or more external creation\/execution environments.<\/li>\n<\/ul>\n<\/li>\n<li> A Module based structure includes: Decomposition, Uses, Layered, Class, or generalization<\/li>\n<li> A Component-and-Connector structure includes: Process, or communicating processes, Concurrency, Shared data, or repository, Client-server<\/li>\n<li> An Allocation structure includes: Deployment, Implementation, and Work assignment<\/li>\n<\/ul>\n<p>[Ref: Software Architecture in Practice, Second Edition by Len Bass; Paul Clements; Rick Kazman]:<\/p>\n<p>From: http:\/\/sitestree.com\/?p=5071<br \/> Categories:43<br \/>Tags:<br \/> Post Data:2011-02-15 04:38:23<\/p>\n<pre><code>    Shop Online: &lt;a href='https:\/\/www.ShopForSoul.com\/' target='new' rel=\"noopener\"&gt;https:\/\/www.ShopForSoul.com\/&lt;\/a&gt;\n    (Big Data, Cloud, Security, Machine Learning): Courses: &lt;a href='http:\/\/Training.SitesTree.com' target='new' rel=\"noopener\"&gt; http:\/\/Training.SitesTree.com&lt;\/a&gt; \n    In Bengali: &lt;a href='http:\/\/Bangla.SaLearningSchool.com' target='new' rel=\"noopener\"&gt;http:\/\/Bangla.SaLearningSchool.com&lt;\/a&gt;\n    &lt;a href='http:\/\/SitesTree.com' target='new' rel=\"noopener\"&gt;http:\/\/SitesTree.com&lt;\/a&gt;\n    8112223 Canada Inc.\/JustEtc: &lt;a href='http:\/\/JustEtc.net' target='new' rel=\"noopener\"&gt;http:\/\/JustEtc.net (Software\/Web\/Mobile\/Big-Data\/Machine Learning) &lt;\/a&gt;\n    Shop Online: &lt;a href='https:\/\/www.ShopForSoul.com'&gt; https:\/\/www.ShopForSoul.com\/&lt;\/a&gt;\n    Medium: &lt;a href='https:\/\/medium.com\/@SayedAhmedCanada' target='new' rel=\"noopener\"&gt; https:\/\/medium.com\/@SayedAhmedCanada &lt;\/a&gt;\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Software Architecture is a growing but still young discipline. Some common definitions of Software Architecture [Ref: Software Architecture in Practice, Second Edition by Len Bass; Paul Clements; Rick Kazman]: Architecture is high-level design Architecture is the overall structure of the system Architecture is the structure of the components of a program or system, their interrelationships, &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=69217\">Continue reading<\/a><\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1917],"tags":[],"class_list":["post-69217","post","type-post","status-publish","format-standard","hentry","category-fromsitestree-com","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":69211,"url":"http:\/\/bangla.sitestree.com\/?p=69211","url_meta":{"origin":69217,"position":0},"title":"What a software architect do? #43","author":"Author-Check- Article-or-Video","date":"August 14, 2021","format":false,"excerpt":"Software architecture is about translating business strategies into technical strategies [HP Openview]. The TEC in Architect indicates that software architecture is rooted in technical details. A software architect must be expert in the related technologies like the software design technologies, software development technologies, testing and deployment technologies. Even the software\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":69219,"url":"http:\/\/bangla.sitestree.com\/?p=69219","url_meta":{"origin":69217,"position":1},"title":"Evolution of Software Architecture #43","author":"Author-Check- Article-or-Video","date":"August 14, 2021","format":false,"excerpt":"Evolution of Software Architecture In the earliest days, physical motion and electrical signals were the forms of programming Later programming was done in punch cards Then assembly languages came into existence to provide an elementary form of abstraction Even in the early forms of programming, architectures were existent. Different blocks\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":70191,"url":"http:\/\/bangla.sitestree.com\/?p=70191","url_meta":{"origin":69217,"position":2},"title":"Middleware for Sensor Networks #111","author":"Author-Check- Article-or-Video","date":"August 29, 2021","format":false,"excerpt":"Middleware for Smart Environments [jCook:05][on going] Smart Environment Components: Sensor Hardware Sensor Software Both help in perceiving\/sensing the environment Application Software Interprets and reasons about the perceived data Effector Control Software Act on the environment Some Support Systems Smart Environment Implementation Layers: Hardware layer Operating System Layer Middleware Layer Application\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":70197,"url":"http:\/\/bangla.sitestree.com\/?p=70197","url_meta":{"origin":69217,"position":3},"title":"Middleware for Smart Environments #111","author":"Author-Check- Article-or-Video","date":"August 29, 2021","format":false,"excerpt":"Middleware for Smart Environments [jCook:05][on going] <h2>Smart Environment Components:<\/h2> <ul> <li> Sensor Hardware <\/li><li> Sensor Software <ul> <li> Both help in perceiving\/sensing the environment <\/li><\/ul> <\/li><li> Application Software <ul> <li> Interprets and reasons about the perceived data <\/li><\/ul> <\/li><li> Effector Control Software <ul> <li> Act on the environment <\/li><\/ul> <\/li><li>Some\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22700,"url":"http:\/\/bangla.sitestree.com\/?p=22700","url_meta":{"origin":69217,"position":4},"title":"Ajax and Software\/Web Development #Root #By Sayed Ahmed","author":"Author-Check- Article-or-Video","date":"March 19, 2021","format":false,"excerpt":"Making AJAX Application Crawlable for Search Engine Optimization http:\/\/www.seoinc.com\/seo-blog\/making-ajax-application-crawlable-for-search-engine-optimization\/ \u00a0 Making AJAX Applications Crawlable https:\/\/developers.google.com\/webmasters\/ajax-crawling\/ \u00a0 AJAX Application Architecture, Part 1 (.Net) http:\/\/msdn.microsoft.com\/en-us\/magazine\/cc163363.aspx \u00a0 Characteristics of Ajax Applications: May be an old document. You can check on the discussion\/arguments on Placing logic on client or server-side and how much. Also,\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":22714,"url":"http:\/\/bangla.sitestree.com\/?p=22714","url_meta":{"origin":69217,"position":5},"title":"Dot Net Nuke i.e DNN Architecture #Root #By Sayed Ahmed","author":"Author-Check- Article-or-Video","date":"March 19, 2021","format":false,"excerpt":"Dot Net Nuke Architecture Components: --Web pages --Web pages can belong to different sites i.e multiple sites can be hosted using a single install of DNN (i.e single web application framework) ( you can keep content, roles, and user permissions separate for each of these sites) --Modules i.e. mini applications\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/69217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=69217"}],"version-history":[{"count":0,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/69217\/revisions"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=69217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=69217"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=69217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}