Software Engineer, Your next Programming Instructor.

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

Friday, 13 November 2020

Difference between Algorithm Pseudocode and program in Hindi/Urdu


What is Algorithm?

An algorithm is the step-by-step procedure to solve the problem. 

When you on a computer to solve any problem, You follow some steps to solve that problem, You can write in a sequence using natural language all those steps which takes you towards the solution this is algorithm.

What is Pseudocode?
Pseudo means Not Genuine, Artificial.

It Looks like code to some extent, but it is not code in some specific programming language.

It is some type of Pre-Code which you can easily convert into any programming language.

In generally pseudocodes are easily understandable by programmers and they can convert these into the any programming language.

To some extant pseudocode are also understandable by nontechnical people.

What is Program?
Program is the exact code written in any programming language to solve any problem.

We can write a program directly if we know some programming language.

If you are following a proper sequence its number comes on the third.

First, we write Algorithm, then we convert that into the pseudocode and finally we convert that pseudocode into some program using some specific programming language.


Algorithm to measure the area of a rectangular

Algorithm:
Get the width of the rectangular
Get the length of the rectangular
Multiply the width with length
Result of the multiplication will be the area of rectangular

Pseudocode to measure the area of a rectangular

Pseudocode:
AreaOfRectangular()
Begin
   Read: Width & Length
   Area = Width x Length
   Print Area
End

Program to measure the area of a rectangular

Program
AreaOfRectangular()
{
    int Area = 0;
    int Width = 50;
    int Length = 60;
    Area = Width * Length;
    cout<<Area;
}



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.


Sunday, 5 April 2020

Data dictionary in database in hindi | Active and passive data dictionary | 100% Practical bassed

Data Dictionary in Software Engineering, data dictionary in software engineering in hindi, data dictionary in software engineering pdf, data dictionary in software engineering ppt, data dictionary in software engineering tutorial, data dictionary in software engineering with example, data dictionary in software engineering notes, data dictionary in software engineering geeksforgeeks, data dictionary in software engineering tutorial, about data dictionary in software engineering, advantages of data dictionary in software engineering, dfd and data dictionary in software engineering,

Data Dictionary its types and practical working of Data Dictionary

Topics covered in this articles:
1. Why we are covering this in the Software Engineering?
2. What is Data Dictionary?
3. What is Passive Data Dictionary?
4. What is Active data dictionary?
5. Practical making of passive Data Dictionary?
6. Practical of active data dictionary using MS-SQL Server?

1.Why this topic in Software Engineering?
This topic is relevent to Database and usually we study its practicall working in database subjects only but we also cover this topic in software engineering because when you do the project documentation (Software Engineering) of the project you have to add the data dictionary of the data base of your project into the project documentation.

2.What is Data Dictionary?
Data dictionary is a dictiony which keeps the meta data in it and you can access when ever it is needed.
What is metadata?
MetaData is the data about some data, Means if you have a table in the database that is the data and the further data about the table i.e. Number of attributes in the table, Data types of attributes in the table is the meta data of the table. 
So the Data Dictionary of a database keeps the record of the tables or say information of the tables of that data.

further there are two kind of Data Dictionaries:
1. Passive Data Dictionary
2. Active Data Dictionary

3. What is Passive Data Dictionary?
This is the data dictionary of the Database which made manually and manage manually, you may made a passive data dictionary of the database into the MS Word, MS Excel or in any other word processing tool of your choice and manage it manually.
- What is meant by managing manually?
That means if you add or manipulate anything in the database tables you have to update the latest information in the Data Dictioany manually by going there.
It also have a disadvantage i.e. You may forget some time to manage the data dictionary and it may create the records conflict in the future.

Lets look at the example of a table and its data Dictionary:
This is the simple table of the database Named Student and have 2 records of the students this is the data for you.
Passive data dictionary, active passive data dictionary, active and passive data dictionary in dbms, active and passive data dictionary difference, active and passive data dictionary, active data dictionary passive data dictionary, passive data dictionary example, passive data dictionary, what is passive data dictionary,

Now Look at the MetaData of this table which a passive data dictionary contains:
Passive data dictionary, active passive data dictionary, active and passive data dictionary in dbms, active and passive data dictionary difference, active and passive data dictionary, active data dictionary passive data dictionary, passive data dictionary example, passive data dictionary, what is passive data dictionary,
This is the metadata of the student table and if you are planing to opt. the passive data dictionary for your project due to any reasson you may manage and make tables like this in Excel or MS Word file amd if you make some changes in the database you have to update those changes here as well.

4.What is active data dictionary?
That's my choice, this is something you don't need to manage manually, you don't need to create excel and word file, this get created automatiicaly and keep it self up to date with your database design and you can access it when ever needed.
Different tools have different ways to access it but here we are going to check it with MS-SQL Server how it works.

All you need to open your MS SQL server and go to new query than you have to follow the steps shown in the video embeded below in this article.

The queries I used in the video I am going to provide you here so you can easily copy and paste them in your MS SQL Server.

To check attribute name availablity in different tables of the database let suppose attribute is "Name"
To learn the use of above mention queries and see the result follow the tutorial given below

Tuesday, 7 January 2020

Difference between Defect, Error, Bug

What is the Difference between Bug, Error and Defect - Software Engineering

Software Engineers, testers and Programmers use these terminologies interchangeably without knowing that these are different things.

Error: If I write a program which is not getting compiled due to the mistake in syntax that is known as error.

Bug:  If program is ruining but there is deviation between expected result and actual result that is due to bug.

to get more detail about this topic watch the complete video lecture.

To download the slides shown in video lecture click the button bellow
PDF Slides
  

Thursday, 7 November 2019

Software Maintenance and categories of maintenance | Software Engineering


Def: It is the process of modifying the software after it has delivered to customer. 

But why we will modify after the delivery?
Ans: There can be different reasons we can modify the software for the improvements, We can modify the software to correct the faults captured by the customer/ End-user.

Need of maintenance:
We may feel need of the maintenance for the following reasons
  • Interface with other system: May be our software is working in a the environment where after some time the company feel need to link it with other system so we will modify it according to company requirements to make it interface able with other system.
  • Correct the faults:  This is the most common reasons to update a software. That is fault correction and every computer and smartphone user know that we receive updates on our mobiles and OS in computer almost on daily basis which claims minor bug fixes and all that some time we do this when software start working in the practical environment and start showing bugs, to fix them we perform maintenance.
  • Improve the design: This is another reason, have you ever notice facebook, Google Play (android app store) they always keep changing the design this is also the maintenance type or you can category.
  • Implement Enhancement:  May be company like the software you develop for them and they want to add some more features into it so they will call you now its your turn to add some enhancement now it will fall under the category of maintenance. 
  • Security patches: If the software is sensitive, security would be priority so Hackers keep finding new and new ways to get into your software and you keep closing the doors off for the hackers into your software those methods you use to close the doors are known as security patches. 
Categories of Maintenance:
  • Preventive Maintenance: In this category we always try to predict the problems that can create issue for us in future and we try to over come those problem in advance.For Example: Our researcher see the software is getting slow when more than 10 people are using it through different nodes but the software is designed for the 50 people, it means if it is getting slow on 10 users so when it will reach its maximum limit it will stop working or perform badly so the developers of the software take action instantly before the number of its user reach up to maximum limit.
  • Corrective Maintenance : sometime we found a big which is disturbing the working of the software we found that and try to remove it instantly to put the software back on smooth working is called corrective maintenance. 
  • Perfective Maintenance: New features keep coming in the software industry on daily basis, Your software should remain compatible with those or it will be outdated, to keep your software compatible you need to perform prefective maintenance. 
  • Adaptive Maintenance:  May be your software is the first love of your client but He is moving from Windows to MAC OS and want to keep using the same software now you have to make changes in the software to adopt the new OS environment that is know as adaptive changes. 


Keywords:
software engineering,software maintenance in software engineering,software maintenance agreement,
software maintenance process,software maintenance tester,software and testing training,corrective maintenance definition,
perfective maintenance definition,adaptive maintenance definition,What is Software Maintenance,
software engineering tutorials,software engineering lectures,software maintenance process model,
software maintenance process,software maintenance in software engineering,Software maintenance,