Friday 12 January 2018

Software Architecture, Software Structure & Software Design, Development Layers

Software Analysis

Software analysis and design includes all activities, which help the transformation of requirement specification into implementation. Requirement specifications specify all functional and non-functional expectations from the software. These requirement specifications come in the shape of human readable and understandable documents, to which a computer has nothing to do.
Software analysis and design is the intermediate stage, which helps human-readable requirements to be transformed into actual code.
Software Architecture,  Software Structure & Software Design
Software Architecture:
“The architecture of a software-intensive system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.”
Software Structure:
There are two basics types of structure, 1. The static structures   2. The dynamic structures 
1.      “The static structures of a software system define its internal design-time elements and their arrangement”
2.      “The dynamic structures of a software system define its runtime elements and their interactions“
Software Design:
To summarize, architecture is design, but not all design is architectural. The architect draws the boundary between architectural and non-architectural design by making those decisions that need to be bound in order for the system to meet its development, behavioral, and quality goals. All other decisions can be left to downstream designers and implementers. Decisions are architectural or not, according to context. If structure is important to achieve your system’s goals, that structure is architectural. But designers of elements, or subsystems, that you assign may have to introduce structure of their own to meet their goals, in which case such structures are architectural: to them but not to you.

Structure Charts:

                        Structure chart is a chart derived from Data Flow Diagram. It breaks down the entire system into lowest functional modules, describes functions and sub-functions of each module of the system to a greater detail than DFD.

Structure Chart flow Diagram:
                                 

Basic part of a structure chart is module which will be also known as “Control Module” then its sub-Categories are 1. Sub-Module 2. Library Module
1.      Module: It represents process or subroutine or task. In this portion a work plan assigned or process assigned to the software to perform.
2.      Sub-Module: It’s the one or more branches of main module. Sub branch of a module which perform a little or half part of main module is called sub-module.
3.      Library Module: Library modules are reuse able module which will be call at the time when you have some work assign to the module for the specific time. Library Module also called revocable module.

There are some basics things introduction which will be used for System Structure or software structure
1.      Condition
2.      Jump
3.      Loop
4.      Data Flow
5.      Control Flow   

1.      Condition: It is represented by a small diamond shape. Condition always have two results 1st on is true and 2nd one is false.
                   I.            True: if the statement is true then it will be work for next assigned work.
               II.            False: If the statement is wrong or false then your program processing will show you error which will be assigned to the software.


2.      Jump: An arrow is shown pointing inside the module to depict that the control will jump in the middle of the sub-module.

3.      Loop: a curved arrow represent Loop in module. All sub Modules covered by loop repeat execution of module.
4.      Data Flow: A directed arrow with empty circle show the data flow, It shows the direction of the flow of Data.
5.      Control Flow:    A directed arrow with filled circle at the end represents control flow.


Hierarchical Input Process Output
HIPO (Hierarchical Input Process Output) diagram is a combination of two organized method to analyze the system and provide the means of documentation.
HIPO diagram represents the hierarchy of modules in the software system. Analyst uses HIPO diagram in order to obtain high-level view of system functions. It decomposes functions into sub-functions in a hierarchical manner. It depicts the functions performed by system.
            Example:
                                   


List of tools ude for structure of a system:
1.      Enterprise Architect
2.      Pro Cloud Server
3.      BreakThrough
4.      Gartner
5.      Visual Studio Visualization & Modeling Tools
6.      Visual Studio Visualization & Modeling SDK (DSL Tools)
7.      Rational Rhapsody Architect for Systems Engineers features by IBM
8.      TOGAF 9.1
9.      ArchiMate v3.0
10.  DoDAF 2.03
11.  MODAF 1.2
12.  NATO Architecture Framework (NAF) 3.0
13.  IAF v4 Integrated Architecture Framework
14.  Federal Enterprise Architecture Framework 2.0 (FEAF 2.0) via Federal EA add-on option (formerly called iRMA)
15.  Zachman Framework
16.   ArchiMate
17.   Cameo System Modelers
18.  Enterprise Architect with SysML plugin
19.  Papyrus 4 SysML
20.  ARTiSAN Studio
21.  IBM Rhapsody
22.  Modelio
23.  CORE
24.  objectiF RM - microTOOL
25.  Software Ideas Modeler
26.  Software Ideas Modeler
27.  SysML Designer
28.  Cradle Requirements Management and SysML Modeling Tool used at NASA
29.  Agilian
30.  Astash
31.  Innovator Modeling Platform - MID GmbH


Development Layers of web Development:
1.      Behavior Layer
2.      Presentation
3.      Structure Or Content
4.      Data Layer
5.      Business Logic


1.     Behavior Layer:
The Behavior Layer is responsible for allowing dynamic interactions and real-time effects. This layer is traditionally created using JavaScript, but feel free to also use ActionScript, JAVA and if you’re an IE fan, VBscript.
                    

2.     Presentation Layer:
The Presentation Layer is responsible for styling the way your elements look. Primarily focused on the aesthetics of your application, it is important to work closely with the Structure Layer for compatibility.

3.     Structure Layer:
The  structure or content layer of a web page is the underlying HTML code of that page. Like a house's frame creates a strong foundation upon which the rest of the house is built, so does a solid foundation of HTML create a platform upon which a website can be created. HTML structure can consist of text or images and it includes the hyperlinks that visitors will use to navigate around that web site.


4.      Data Layer:
The Data Layer handles data coming from the user or from an outside data source. This layer is responsible for validating data, processing data and formatting data into a transportable format like XML (so it can be turned into markup based on templates provided by the Structure Layer).
Any server-side solution can be used to process this data (PHP, .NET, Python, Ruby, Perl, etc). And while the Data Source is usually a database (mySQL, SQL server, Oracle), it can also be an XML file, a text file, an RSS feed or even a Web 2.0 Service.

5.      Business Logics
In computer softwarebusiness logic or domain logic is the part of the program that encodes the real-world business rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might be concerned with lower-level details of managing a database or displaying the user interface, system infrastructure, or generally connecting various parts of the program.


Featured Post

All Answers of Quiz regarding to this course on Fiverr "Online Freelancing Essentials: Be A Successful Fiverr Seller"

To Clear All quiz of mentioned Course you can have a look on or check questions answers as well. Course name:  Online Freelancing Essentials...

Popular Posts