Skip to main content

General Idea for Creating a Software Architecture Using Reference Models

The architecture developed in this blog will follow the steps given in the diagram below:

 According to the diagram:
  • The first step is to form a list of functional requirements for the software.
  • The second step is to form a module structure representing the functional requirements.
  • The third step is to identify the style(s) suitable for the architecture. The style should be the one that incorporated all the quality attributes associated with the functional modules.
  • The fourth step is to combine the module structure with the appropriate style into a single diagram. The resultant diagram is known as the Reference Architecture Diagram. NOTE: THE ARCHITECTURE IS NOT YET FINALIZED!
  • The fifth step is to give a brief description on the functional module. NOTE: NOW THE ARCHITECTURE IS COMPLETE
  • The final step is to develop the system represented by the designed software system's architecture.
Formation of a Software Architecture for Student Portal System
  • Step 1: Identification of Functional Requirement:
    1. The student has to register himself/herself with the system.
    2. The student can view their attendance record.
    3. The student can give course feedback.
    4. The student can attempt an exam.
  • Step 2: Formulation of a Module Structure: The models can be connected depending upon their relationships.

  • Step 3: Identification of Suitable Software Architectural Style: Multiple styles can be selected for the system.Two architectural styles have selected for it:
    • Layered Architecture:
Layered Architecture
    • Client-Server (Peer-to-Peer) Architecture:
  • Step 4: Formulation of Reference Architecture: The best suitable software architectural style is combined with the designed module structure.
    • Using Layered Architecture:

Reference Architecture for Student Portal System using Layered Architectural Style


    • Using Client-Server (Peer-to-Peer) Architecture:
Reference Architecture for Student Portal System using Client-Server (Peer-to-Peer) Architectural Style
  • Step 5: Description of Functional Modules: 
This sections describes the following aspects of all the identified functional modules:
  1. Types of acceptable inputs.
  2. Types of outputs given by the module.
  3. Functionalities performed by the module.

Comments

Popular posts from this blog

Quality Practices in Agile Approaches

Agile Approaches Agile is an umbrella consisting of different methods adopted by the practitioners depending upon the circumstances. In the recent years  Agile has been gaining popularity among software practitioners due to its ability in assisting the development team to deliver the software product in a short amount of time.  Original Agile Approaches Based on the circumstances under which the agile methodologies have been used can be classified into the following 3 categories: Classification of Agile Approaches Agile Methodologies consist of the  original agile methods Hybrid Agile Methodologies consist of a combination of several original agile methodologies e.g. Industrial Extreme Programming merged with practices of Rational Unified Process Miscellaneous category consists of methodologies adopting only certain aspects of the original agile methodologies Extreme Programming, Test Driven/Test First Development, and SCRUM are among the most popular agile met

How traceability of non-functional requirements is managed throughout the software development process?

1. Requirements Traceability: Requirements traceability is the process of describing and keeping track of a set of requirements throughout the system’s lifecycle. The process assists in managing changing requirements of a particular software product. Requirements traceability of is two types, forward traceability where a particular requirement involved during the design and implementation phases of the software system, and backward requirement traceability where a particular requirement is being traced back to its source. 2. Proposed Solutions for the Traceability of Non - Functional Requirements : The author J. Merilinna [8], proposed a framework supported by a tool to trace the non-functional requirements in both forward and backward direction. The proposed method is based on the context of DSM (Domain Specific Modeling).  The NFR+1 framework involved are used for the elicitation, definition and redefinition of the system’s non-functional requirements. The proposed

Software Architecture Views and Structures

Description of Views: In the year 1995 Kruchten presented his 4+1 architectural view model consisting of the following five types of views: Logical Development Process Physical Scenario Later with further development and research in the domain of architectural view following new views were developed to represent their respective structures: Views Sub-View of Description Logical None Highlights the functionalities provided by the system to the end-users. Unified Modeling Language (UML) diagrams such as the Class diagram, Domain diagram, Use Case diagram, State diagrams and Activity diagrams can be used to represent the logical view of the architecture. Development None It is also known as an implementation view. It is mainly concerned with the software project management. It represents the system with the programmer’s perspective. Process None It deals with the representation of