Software Engineer, Your next Programming Instructor.

"Here I share myself."
Showing posts with label Requirement Engineering. Show all posts
Showing posts with label Requirement Engineering. Show all posts

Friday, 13 November 2020

Characteristics of Good SRS - Software Requirement Specification Urdu/Hindi

Friday, 26 June 2020

Software Architecture and Architecture styles in Software Engineering

To understand the concept of Software Architecture you should have knowledge and concept of what is Architecture.
When you here this word, At the most simplistic level, you think about the overall shape of the physical structure. The word Architecture put the image of building into your mind most of the time but not simple building the most beautiful and well engineered building.

Why this happen?
Why this happen? Because just making a building is not the goal of arch Making a building by keeping all technical aspects in mind and dealing with them is the goal of architecture.

It is the way in which the building fits into its environment and meshes with other buildings in its vicinity.

It is the degree to which the building meets its stated purpose and satisfies the needs of its owner.

The architecture is not the operational thing.
Rather, it is a representation that enables you to:
  1. analyze the effectiveness of the design in meeting.
  2. consider architectural alternatives at a stage when making design changes is still relatively easy.
  3. reduce the risks associated with the construction.
The concept of Software Architecture:
I hope now you would have the basic mind set about what is the Architecture. Its time to move towards the concept of software architecture.

Architecture serves as a blueprint for a system . It provides an abstraction to manage the system complexity.

It defines a structured solution to meet all the technical and operational requirements, while optimizing the common quality attributes like performance and security.

IEEE defines architectural design as “the process of defining a collection of hardware  and software components and their interfaces to establish the framework for the development of a computer system.”

Software Architecture Styles:
Data centered architectures : A data store (e.g., a file or database) resides at the center of this
architecture and is accessed frequently by other components that update, add, delete, or otherwise modify data within the store. Existing components can be changed, and new client components
added to the architecture without concern about other clients. Client components independently execute processes.


Data flow architectures: This architecture is applied when input data are to be transformed
through a series of computational or manipulative components into output data. A pipe and filter pattern has a set of components, called filters ,connected by pipes that transmit data from one component to the next.
Call and return architectures: This architectural style enables you to achieve a program structure that
is relatively easy to modify and scale. two arch. styles are relative to this call and return architecture style.

Main program/subprogram architectures . This classic program structure decomposes function into a control hierarchy where a “main” program invokes a number of program components that in turn may invoke still other components.

Remote procedure call architectures . The components of a main program/subprogram architecture are distributed across multiple computers on a network.

Object oriented architectures The components of a system encapsulate data and the operations that must be applied to manipulate the data. Communication and coordination between components are accomplished via message passing.

Layered architectures: A number of different layers are defined, each accomplishing operations that progressively become closer to the machine instruction set. At the outer layer, components service user interface operations.At the inner layer, components perform operating system interfacing. Intermediate layers provide utility services and application software functions.




Why the architecture is important?
The answer to this question would be clear to you till know but still let me tell you some key points which will summed up why the software architecture is important.

Three key reasons that software architecture is important:

  1. Representations of software architecture are an enabler for communication between all parties (stakeholders) interested in the development of a computer based system.
  2. The architecture highlights early design decisions that will have a profound impact on all software engineering work that follows and, as important, on the ultimate success of the system as an operational entity.
  3. Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together”.

Video Lecture in Hindi Urdu For the above notes.


Tuesday, 14 April 2020

Design and implementations constraints in software engineering | Requirment engineering

Design and Implementation constraints with example

These are also a type of requirments but a little bit confusing to understand some time because it is not like Inverse Requirements, Domain requirements or Organizational requirment it is something which come out of other requirments and you identify it using the paremetr you will have in a couple of minutes to identify if it is design and implementaion constraint or not.

The Parameter to identify design and implementation constraints:
The parameter is simple and you can take it as the defination of Design and Implementation constraints as well. i.e. The requirment which put some kind of restriction on your development process weather it is coming from the Domain or Organizational requirment you can identify it as this is the Design and implementation constraints.

Lets go towards the Example
You are making a website for any organization, Now you are a complete software development company and you have lots of options to develop a website you may chose php, Asp.NET, Python or any other language.

But the company impose a constraints on you that you must make a website using Php because they have lots of other tools and website working on the same platform so it will be easy for them to integrate it with other.

These are the design constraints; You may get these from any kind of requirements e.g. Domain Requirements or may be Inverse requirements etc.

Video Lecture on the Topic : design and implementation constraints

Monday, 13 April 2020

Organizational Requirements in Software Engineering | Requirement Engineering

software engineering,mysoftwarenotes,mysoftwarenotes.com,requirement engineering in software engineering,requirement engineering,requirement engineering process,organizational requirements,organizational requirements in software engineering,software engineering tutorials,software engineering tutorials for beginners,software requirements,organizational requirements example
Organizational Requirements in Requirements engineering

Organizational Requirements in Requirement Engineering 

Organizational requirements are also the requirements same like the domain requirments and inverse requiremtns we always talk about functional and non-functional requirments and forget these things which are most important and should be tackled in we manners.

Organizatioal Requirmaents are the the requirments which we directly get from the organization to implement on the software. 

First of all you should have knowledge about the domain requirments so you can better under stand it spare some time to read about domain requirments.

For Example: A Shop Owenr want you to develop the software which will deal with the sales and purchase operation of the shop. 
The Domain of the software is POS. The software will inherit the all features which a POS should have those are the domain Requirments actually but beside those may be you want to make some customization to those domain requirments, may be you want to have an option in the sale section of the software that if someone make the shopping of 10,000 or more than this He should get 20% discount on total bill. Because this is the rule of organization (shop) so this is not something comming from the domain this is something coming from the organizational rule so this will be oranizational Requirment.

Watch a video lecture on the topic Organizational Requirments in Software Engineering


Thursday, 9 April 2020

Domain Requirements in Software Engineering | Requirements Engineering | Short Article

software engineering,requirements engineering,requirements engineering software engineering,requirements engineering process,mysoftwarenotes,mysoftwarenotes.com,domain requirements in software engineering,domain requirements in software engineering in hindi,domain requirements example,domain,domain requirements in,domain requirements in software engineering examples,functional requirements
Domain Requirments in Software Engineering | Requirement Engineering

Domain requirements in software engineering examples

What is domain requirement?

These requirements come from the domain in which a system fall.

What is Domain?
Domain is simply the area where your software belongs to.
Let's take example of a “Bike” domain:
If any vehicle belongs to the domain of the bike it will definatley inherit few requirments from the bike domain i.e. That vehilce should have two tires. If a vehicle have four tire you can't say it is a bike because it do not full fill the reqirments or say core requirments of the bike domain.

Let suppose you are making a site to sale products online the domain of that website will be  e-commerce.

You are making a software for shop domain of that software will be POS(Point of sale).

That means your site gona inherit the requirments from the e-commerce domain what are those requirments which your site will inherit?
There could be many requirments but let me take simple and basic one i.e. your site should have a shopping cart and payment options settings as your site fall under the e-commerce domain so these are the core requirements of the e-commerce domain.

In the 2nd example we are using the POS domain to clear the concepts, now if you are making a software for the shop, store or a mart the domain of that software will be POS so you have to inherit and keep the POS domain requirments in the software, those requirments are your POS should have option to maintain the sales and purchases, can you have a shop software without this option? No, you can't have that is because this is the core functionality of the software working for a shop and its is the Domain Requirments of that software too. 

Video Lecture on the topic: domain requirements in software engineering in hindi