Friday 7 July 2017

Guide How and What are the process doing at the time of development programming

Guide How and What are the process doing at the time of development programming.


Software development is the process of computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks resulting in a software product. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process.Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.


Software Developments
FIG 1.1 Software Developments 

Software can be developed for a variety of purposes, the three most common being to meet specific needs of a specific client/business the case with custom software, to meet a perceived need of some set of potential users the case with commercial and open source software, or for personal use e.g. a scientist may write software to automate a mundane task. Embedded software development, that is, the development of embedded software such as used for controlling consumer products, requires the development process to be integrated with the development of the controlled physical product. System software underlies applications and the programming process itself, and is often developed separately.

Quality Software :

The need for better quality control of the software development process has given rise to the discipline of software engineering, which aims to apply the systematic approach exemplified in the engineering paradigm to the process of software development.

There are many approaches to software project management, known as software development life cycle models, methodologies, processes, or models. The waterfall model is a traditional version, contrasted with the more recent innovation of agile software development.
FIG 1.2 Quality Software

A programming language can support multiple paradigms. For example, programs written in C++ or Object Pascal can be purely procedural, or purely object-oriented, or contain elements of both paradigms. Software designers and programmers decide how to use those paradigm elements. In object-oriented programming, programmers can think of a program as a collection of interacting objects, while in functional programming a program can be thought of as a sequence of stateless function evaluations. When programming computers or systems with many processors, process-oriented programming allows programmers to think about applications as sets of concurrent processes acting upon logically shared data structures.

Just as different groups in software engineering advocate different methodologies, different programming languages advocate different programming paradigms. Some languages are designed to support one paradigm Smalltalk supports object-oriented programming, Haskell supports functional programming, while other programming languages support multiple paradigms such as Object Pascal, C++, C#, Visual Basic, Common Lisp, Scheme, Python, Ruby, and Oz.

FIG 1.3 Software Supports Languages 

Many programming paradigms are as well known for what methods they forbid as for what they enable. For instance, pure functional programming forbids using side-effects; structured programming forbids using goto statements. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by those accustomed to earlier styles.[citation needed] Avoiding certain methods can make it easier to prove theorems about a program's correctness, or simply to understand its behavior.


Software and Mobile Application Development program, you’ll learn to design and develop software, apps, or games for desktop and mobile environments. As a software developer, you’ll write, test and modify the code that allows software to run. Most developers focus on a few programming languages and learn to work from specifications written by other developers or analysts. They also work with designs provided by graphic designers, and focus their creative efforts on problem solving with code.
FIG 1.4 Software and Tools  


Programmers, developers, and software engineers design and develop many types of software, including computer games and entertainment applications, mobile applications, business applications, database systems, computer systems, and interactive web sites. Students develop competencies in designing, implementing, integrating, testing and maintaining software systems (including mainframes, websites, etc) using a variety of languages and technologies.  Skills acquired will assist students in preparing to take industry positions including but not limited to customer support, testing, programming, product development and entrepreneurial technology startups.

When we want to develop a program using any programming language, we follow a sequence of steps. These steps are called phases in program development. The program development life cycle is a set of steps or phases that are used to develop a program in any programming language.
Generally, program development life cycle contains 6 phases, they are as follows


FIG 1.5 Programming Language 

  1. Problem Definition
  2. Problem Analysis
  3. Algorithm Development
  4. Coding & Documentation
  5. Testing & Debugging
  6. Maintenance

program development,program development life cycle:

1. Problem Definition

In this phase, we define the problem statement and we decide the boundaries of the problem. In this phase we need to understand the problem statement, what is our requirement, what should be the output of the problem solution. These are defined in this first phase of the program development life cycle.

2. Problem Analysis

In phase, we determine the requirements like variables, functions, etc. to solve the problem. That means we gather the required resources to solve the problem defined in the problem definition phase. We also determine the bounds of the solution.

3. Algorithm Development

During this phase, we develop a step by step procedure to solve the problem using the specification given in the previous phase. This phase is very important for program development. That means we write the solution in step by step statements.

         FIG 1.6 Languages and Developments 
4. Coding & Documentation

This phase uses a programming language to write or implement actual programming instructions for the steps defined in the previous phase. In this phase, we construct actual program. That means we write the program to solve the given problem using programming languages like C, C++, Java etc.,

5. Testing & Debugging

During this phase, we check whether the code written in previous step is solving the specified problem or not. That means we test the program whether it is solving the problem for various input data values or not. We also test that whether it is providing the desired output or not.

6. Maintenance

During this phase, the program is actively used by the users. If any enhancements found in this phase, all the phases are to be repeated again to make the enhancements. That means in this phase, the solution (program) is used by the end user. If the user encounters any problem or wants any enhancement,then we need to repeat all the phases from the starting, so that the encountered problem is solved or enhancement is added.




Mobile Application  Developments :

Mobile application development industry in the last five years has multiplied in leaps and bounds, changing the way businesses function worldwide. With enterprises aligning mobile apps to their productivity in recent times, and with the rapid innovation in mobile devices across platforms, it calls for mobile app developers to write several versions of an application for many different platforms using a single language and many pieces of reusable code. Are you game for that?

Once you intend to realize your mobile app idea, it's time to validate it, understand the target market, and narrow down the platform on which you ideally would like to build your mobile application. As soon as that is decided, it’s time to select a programming language, keeping in mind your business strategy to make either native, hybrid, or cross-platform apps.

Choose the Right Programming Language

HTML5
HTML5 is the ideal programming language if you are looking to build a Web-fronted app for mobile devices. Although it makes various data types simple to insert, accounts for different screen sizes, rationalizes input parameters, and even levels the browser playing field, the problem with HTML5 is that it is still a proposed standard. Currently supported in a lot of different ways by a lot of different browsers, HTML5, from the cost-efficiency point of view, has the advantage of building on the current version of HTML- making the learning curve much shallower than that for a completely new language.

Objective-C
The primary programming language for iOS apps, Objective-C was chosen by Apple to build apps that are robust and scalable. Being a C-language superset, it does have a number of functions that precisely deal with graphics, I/O, and display functions. Moreover, as part of the Apple development framework, Objective-C is fully integrated into all iOS and MacOS frameworks. However, it’s now slowly being replaced in the Apple ecosystem by a more powerful language called Swift.

VIDEO 1.1 History Of C-programming

Swift
Swift is the latest programming language to foray into the Apple ecosystem, mainly considering its prevalence in writing code for Apple’s latest APIs, Cocoa and Cocoa Touch. Even though it is a language written to work along with Objective-C, the Cupertino company is making it obvious for iOS developers to turn to Swift for complete programming. Designed to eliminate the likelihood of many of the security vulnerabilities possible with Objective-C, it’s time for mobile app developers to turn to Swift, as many businesses are looking to hire Swift developers with expertise in developing cutting-edge mobile apps using this language.

C++
This is the most appropriate and robust programming language when it comes to building mobile apps for Android and Windows- and, mainly for low-level programming, it's still the go-to language on platforms for mobile app developers. As a powerful programming language, C++ allows mobile apps to be developed for practically every purpose on every platform that exists. It might not be super chic or trendy, but it dominated the programming world even before the smartphone revolution.

C#
The most coveted programming language for Windows Phone app development, C# does the trick for Microsoft that Objective-C does for Apple. Although a Windows Phone platform couldn’t emerge as the game-changer in the mobile application development industry, for loyal Microsoft users, C# makes the perfect programming language to build the robust Windows Phone apps.

Java
Java programming language is one of the most preferred languages when it comes to Android app development. An object-oriented programming language developed at Sun Microsystems (now owned by Oracle), Java can be run in two different ways: either in a browser window, or in a virtual machine that can do without a browser.

This flexibility tends to mean a lot when it comes to re-using code and updating software. Although Java does not have much to do if you are considering iOS development, it certainly can be on your chosen list when it comes to mobile applications across platforms, i.e. cross-platform apps.



Video 1.2 Web Developments company