Wednesday, 16 January 2019

Define Software And types of software


Software is a set of instructions and its associated documentations that tells a computer what to do or how to perform a task. Software includes all different software programs on a computer, such as Application and Operating system.



Types of software

Here just define the short concept about the different types of software.There are some basic types of software are following
  • System Software
  • Application Software
  • Engineering / Scientific Software
  • Embedded Software
  • Artificial Intelligence Software
  • Web and Mobile Application
  • Legacy Software
  • Real world Software

System Software

System software is a type of computer program that is designed to run a computer’s hardware and application programs.
In other words we said “The software that provides a platform for other Software to run”.

Examples

The operating system is the best known example of system software. The OS manages all the other programs in a computer.
Some other examples of system software are
Compiler
Device driver
Assembler
Boot Program
BIOS…etc

Application Software

An application Software is a computer software package that performs a specific function directly for an end user.  Usually they are built to solve a particular purpose like solve a particular business purpose. The main purpose of Application software is to provide the ease and fulfill all the needs of the end user.

Examples

MS-Office
Web browsers
Development tools
Image editors
Databases programs…etc

Engineering / Scientific Software

Engineering/Scientific software is usually built to solve the complex numerical problems of scientist/Engineers.

Examples

Astronomical software
Genetic analysis
Computational Fluid Dynamics Software (CFD)
Computer-Aided Engineering Software (CAE)
Data Analysis Software…etc

Embedded Software

Embedded Software is Computer Software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It typically specialized for the particular hardware that it runs on and has time and memory constraints.

Examples

Anti-lock brakes
Auto-focus camera
Teller machines
Elevators
Power suppliers
Automatic Transmission etc..

Artificial Intelligence Software

AI software definition… within AI, machine learning includes algorithms that are developed to tell a computer how to respond to something by example. Deep learning is a type of machine learning that uses a structure as close as possible to the human brain—neural networks—as a model for learning.

Examples

Optical Character recognition
Handwriting recognition
Speech recognition
Face Recognition
Robotics etc..

Web/Mobile Application

Web based Application is any program that is accessed over a network, rather than existing within a device’s memory. Web based applications often run inside a web browser and also known as Web apps.
Mobile web application refers to applications for mobile devices that require only a web browser to be installed on the device.

Examples

Mobile based application Examples
Native apps
Games apps
Educational apps etc..
Web based application Examples
Netflix
Pixlr.com (Photo editing web Apps)
Online Editing software
Evernote and trello etc..

Legacy system

In computing terms, the word legacy is used to describe outdated or obsolete technology and equipment that is still being used by an individual or organization. Legacy implies that the system is out of date or in need to replacement, however it may be in good working order so business or individual owner does not want to upgrade or update the equipment.

Examples

A manufacturing machine controlled by decades-old computer running MS-DOS.
Electronic Microscopes powered by windows 95 Computers.
Operating Systems with “legacy Support” can detect and use older hardware.
Etc..

Real World Software

Real world software are those that monitor or control the activities that happening in the real world in real time. It control, Monitor, analysis real world events in real time.

Examples

Weather forecasting system
Air Traffic control system
Network multimedia systems
Command Control Systems
Satellite Launching System etc..



Sunday, 6 January 2019

Differentiate between Hardware and Software

In this part explore the following terms.
1. What is Hardware??
2. Why we called hardware wear out with time?? and some other features that differentiate it from software.
3. Examples of hardware
4. What is software??
5. Why we called Software doesn't wears out with time but it does deteriorate??? and some other features that differentiate it from hardware.
6. Examples of software

Hardware:

Computer hardware usually refers to the physical parts of a computer and related devices. The internal hardware are parts of a computer are often referred to as components while external hardware devices are usually called peripherals.

1. Hardware wears out with time

The above figure illustrates the failure rate as a function of time for hardware. The relationship, often called the "bathtub curve". it indicates the following points
  • Higher failure rate early in the life cycle. These early failure rates can be attributed to two things
-->> Poor or undefined initial design.
-->> Manufacturing defects i.e defects in the product brought about by poor assembly/materials etc. during production.

  •  Both types of failure can be corrected (either by refining the design, or by replacing broken components out in the field), which lead to the failure rate dropping to a steady-state level for some period of time.
  • As time passes, however, the failure rate rises again as hardware components suffer from the environmental factors like dust, temperature, pollution and many other environmental maladies. Stated Simply
"....The Hardware Begins To Wear Out."
2. Hardware is a physical unit. its mean it  tangible in nature (we can touch or feel it).

3. The Spare parts of hardware is exists if one of the part get damaged then it can be replace with new one. The hardware parts are independent of each other and changeable.

4. Problem statement is important in case of hardware so, it clearly specified at the beginning of the production process.

5. Requirements are fixed before the hardware manufacturing.

6. Hardware has multiple copies but these are created by using assembly lines etc that its cost is more than copying the software.

Example of Hardware

Monitor, Keyboard, Mouse, Printer, Motherboard, Scanner, etc.

SOFTWARE:

Software is a set of instructions and its associated documentations that tells a computer what to do or how to perform a task. Software includes all different software programs on a computer, such as Application and Operating system.

1.Software doesn't wear out with time

Software is not susceptible to the same environment problems that cause hardware to wear out.
  • In above failure rate curve clearly see undiscovered defects in the first engineered version of the software will cause high failure rates early in the life of a program.
  • However, these defects are corrected and the curve flattens as shown.
  • The implication is clear "Software doesn't wear out". However, it does deteriorate with maintenance as shown below.

  • During its life, software will undergo changes and it likely that new defects will be introduced as a result of this, causing the failure rate curve to spike. Before the curve can return to the original steady-state failure rate (i.e before the new bugs have been removed), another change is requested, causing the curve spike again. Slowly, the minimum failure rate level begins to rise--the software is deteriorating due to change.
2. Software is a logical unit. It mean it is intangible in nature (not touchable).

3. There are no software spare parts because software modules may be dependent on each other.

4. Problem statement may not be completed or clear initially.

5. Requirement may change with time as software is developed.

6. Software has multiple copies and it less costly then hardware.

Examples of Software

Ms-office, Internet browser, operating system, device drivers software, compiler, business software etc

Friday, 4 January 2019

SOFTWARE ENGINEERING

In this part I will explore the following terms..
  • Software Engineering
  • Dual Role of Software
  • Focus of Software Engineering 
Before explaining what is Software Engineering ??? I just first define the term "Software" and "Engineering" separately and then define what actually Software Engineering is..

ENGINEERING:


The branch of science and technology that concerned with the process of design and building something that serves a particular purpose.

SOFTWARE:


It is a program or set of programs containing instructions which provides desired functionality. It also contain data structure that enable program to manipulate information. 
The term manipulation information is important because whatever the software is it takes some input and it manipulate on that input and give some output. 

SOFTWARE ENGINEERING


 Software Engineering basically the study of how the software systems are built, including topics such as project management, quality assurance, software design, software security and software testing.
In simple words we said that Software Engineering is a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software.

DUAL ROLE OF SOFTWARE

Software role categories into 2 roles..

1. As a product

  • Software as a product delivers the computing potential of a hardware.
  • Enables the hardware to deliver the expected functionality
  • Acts as information transformer. It transfer information into two ways one is business information and second is personal information.

2.  As a Vehicle for delivering a product

  • Its supports or directly provides system functionality.
  • Controls other programs (E.g an Operating System)
  • Effects communications (E.g Networking Software)
  • Helps build other Software (E.g Software tools)

WHY SOFTWARE ENGINEERING IS IMPORTANT???


Software Engineering is important because specific software is needed in almost every industry, in every business and for every function.
  • It's enables us to build complex systems in a timely manners
  • Ensures high quality of software
  • Imposes discipline to work that can become quite chaotic
Typically software engineers, working in applications or systems development, analyze first needs of user. They design, construct, test and maintain computer applications software or systems to meet these needs. These engineers use different programming languages, depending on the purpose of the program.

SOFTWARE ENGINEERING FOCUSES ON???


Software Engineering deals with building and maintaining software systems. so in software engineering mostly focus on Quality and Maintenance of the software.

QUALITY:


Quality is the degree to which a component, system or process meets specified requirements and user/customer needs and expectations.

SOFTWARE QUALITY is the totality of functionality and features of software product that bear on its ability to satisfy stated or implied needs.
so the quality of the software measured or analyzes while software development occur. qualities of software are of two types--
Functional--It is a degree to which correct software is produce or in simple words we said quality of functionality.
Non-Functional--It is the features other than the function of a software like performance, security, usability etc are non-functional requirement.

MAINTAINABILITY:


After the software has been developed and delivered then maintainability of the software analyze.
Maintainability of the software means it should be easily enhanced and adapted to changing requirement whenever required.



Thursday, 3 January 2019

Content Management System (CMS)


Content management system (CMS) is a software application or set of related programs that are used to create and manage digital content. It allows you to create, edit and publish the content.
The goal of a cms is to provide an intuitive user interface for building and modifying web page content. Each cms also provides a web publishing tool that allows one or more users to publish updates live on the web. The editing component is called the content management application (CMA), while the publishing tool is called the content delivery application (CDA).
These two components are integrated together in a cms to streamline the web development process.



WEB BASED CMS TOOLS


Several web-based cms tools are available. The following are some of the Most Popular.
1.       Wordpress
Free web software designed for creating template based websites or blogs. It was created in PHP, MYSQL, CSS, HTML and Javascript. It was created by the wordpress foundation on May,27,2003.
Wordpress is a Multipurpose cms that can be used as blog software, CMS, CM framework, forum, presentation website, online application and online shop, being cross plateform and it is so popular that more than 60 Million website use it.
2.       Blogger
Blogger is cms created by Google in Python Launched for free on August, 23,1996 available in multiple languages that only offers tools to create, edit and delete content but also offers host and subdomain name such as example.blogspot.com for blogs.
3.       Drupal
Drupal is free open source software that can be used by individuals or groups of users—even those lacking technical skills---to easily create and manage types of web sites. The application includes a content management platform and a development framework. It’s written in PHP programming language.
Types of sites that drupal can be used for includes: blogs, Personal or Coporate wwed sites, Portals, Forums, E-commerce Sites, Intranets, Resource directories and Social networking sites.
4.       Joomla
Joomla is a free and open source content management system (CMS) for publishing web content. It is built on a model-view-controller web application framework that can be used independently of the CMS that allows you to build powerful online applications. It has the flexibility and the robust features necessary to do so. This CMS manages all the content of your site and helps you with accelerating your development speed. It doesn’t take more than just a click to organize your content and get things on track. Joomla! can power all kinds of websites, from simple to the most complex. This is why it has made it to be among the top 3 content management systems on the web.
5.       Typo 3
Typo3 is much more complex and serious tool than a lot of other content management systems out there. It is not a platform for casual users, rather one for more advanced programmers who know the way of the code. They have a lot of things to benefits from it as Typo3 is a comprehensive application with plenty of functionalities. Typo3 CMS is written in PHP, therefore most of features can be modified or extended by experienced users.

Some CMS tools free to use but some requires a cost. Many CMS provide free basic components, but charge for high quality template, web hosting, custom domain names, or the features. before selecting any CMS must to review multiple options so you can choose one that best fits your website goals. I hope this article helps you.







Saturday, 29 December 2018

Wordpress Introduction Tutorial

In this Wordpress Tutorial you will find
-The definition of Wordpress
-You know about the founder of Wordpress
-2018's most outrageous wordpress Statistics
-Career Opportunity
-Know about the web technologies that used in Wordpress
-Advantages
-Disadvantages

WORDPRESS

Wordpress is software for making websites. Wordpress is an Open Source and free web application publishing software. It Started as a tool for blogging and it's also known as a Content Management System (CMS).
Wordpress allows user to build Dynamic websites and blogs that may be updated, customized and managed from its back-end CMS and integrated application and components.
It also called Swiss Army Knife (a component of different knifes in a single knife tool that used by the army). 

The reason behind of calling Swiss knife is that we used Wordpress for all types of websites so that's why we called it Swiss army knife.

WORDPRESS FOUNDER

Matt Mullenweg is the founding developer of wordpress and the founder of Automattic the company behind wordpress.com, Akismet, and more.

Wordpress.com is a blogging platform that is owned and hosted online by Automattic. It is run on a modified version of wordpress, an open source piece of software used by bloggers.

2018's MOST OUTRAGEOUS WORDPRESS STATISTICS

The number of total active websites is estimated at over 172 Million according to a Survey published by Netcraft, that means that around 75,000,000 websites are using wordpress now-- with around half those sites (37,500,000) being hosted on the wordpress.com shared hosted installation.

CAREER OPPORTUNITIES

There is a high demand for skilled freelancers, contractors and direct hires who have skills in Wordpress.
There are number of jobs for a wordpress professional including 
-Writer/Editor
-Web Developer
-Web Designer
-Graphic Designer
-Marketing and Social Media
-Technical Support and Specialist
-Content Management
To get an idea of what people charge for wordpress services, you can visit the Envato market's wordpress or check out the wordpress freelancer at upwork.

WEB TECHNOLOGIES USED IN WORDPRESS

PHP  ⇒ It is a server side programming language. PHP is popular scripting language that used for creating web pages.
Javascript ⇒ Javascript is a lightweight, object-oriented, cross platform scripting language, mainly used within web pages.
JQuery ⇒ It's a javascript library that simplifies HTML document traversing, event handling, animating and Ajax interaction. Originally developed by John Resig.
HTML ⇒ It's a markup language based on tags.
CSS ⇒ Cascading Style Sheets define style rule.
MYSQL ⇒ Database

ADVANTAGES OF WORDPRESS

-It is free and Open Source.
-It is simple and easy to use because it does not require PHP nor HTML knowledge unlike Drupal, Joomla or Typo3.
-It have useful support, there must be a large community of users, who will be a part of e.g. a discussion.
-Its provide thousands of free plugins that help you to improve your site functionality.
-It has theme that you easily install it.
-It can host different kind of media like videos,text,pictures etc.
-It has responsive theme that compatible for both mobile and desktop screens.

DISADVANTAGES OF WORDPRESS

-Since wordpress relies on plugins, the open source software is vulnerable to malicious attacks.
-Sometimes update may ruin your sites so be careful while updating wordpress.

Thursday, 27 December 2018

Ikigai-- The Japaneses secret

Ikigai

    The Japanese Secret to a long and happy life might just help you live a more fulfilling life.
     Ikigai is a Japanese term for "a reason for being" or in other words mean "thing that you live for".
The term Ikigai compounds of two Japanese words
  • Iki--->meaning "life", "alive"
  • kai--->meaning "an effect","a result","a fruit","a worth","an use","a benefit" (sequentially voiced as gai).
so, to arrive at "a reason for living", "a meaning for life", "what makes life worth living".
In Japan, millions of people have Ikigai (pronounced Ick-ee-guy)--- a reason to jump out of bed each morning.
What's your reason for getting up in the morning??


    
 Ikigai is seen as the convergence of four primary elements...

  1. What you love (Your Passion)
  2. What the world needs (Your mission)
  3. What You are good at (Your vocation)
  4. What You can get paid for (Your profession)
Discovering you own Ikigai is said to bring fulfillment, happiness and make you live longer.
"An objective without Plan is Dream"
So set your Goal, define its objectives and make strategies to achieve your Goals by discovering your own Ikigai.

Tuesday, 25 December 2018

25-December- Quaid-e-Azim Day

Quaid-e-Azam said

"Without Education it is complete darkness and with Education it is light.Education is a matter of life."