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 software, business 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.