Software development process

Software development process

There are many approaches to software development life cycle models, methodologies, processes, or models. The waterfall model is one version, and agile software development is more recent one. A software development model or life cycle is a framework that is used to design, plan, and control the process of developing Systems. Each of the available methodologies is best suited to specific kinds of projects, based on various technical, team and project specifications.

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. The development of custom software, like controlling consumer products, requires the development process to be integrated with the development of the controlled physical product.

Software development phases:
• Analysis
• Developing a plan
• Research
• Set requirements
• Proposed solution
• Debugging
• Final Deployment
• Code Implementation
• Maintenance

The high-level design, block diagram, development language, OS, and hardware can then be established. Software engineers starts implement the code for the project and tests are carried out to detect bugs and ensure that the software is working as designed. Documentation of the internal design is then carried out for future maintenance and enhancement. Deployment starts after the code is tested and approved. Software training and support is important to ensure that the software is used correctly. Maintaining and enhancing software is required on regular basis to fix reported issues and keep the software running.

Different approaches may carry out these steps in different orders. These Phases may also be carried out in turn or may be repeated over various iterations. Developing a detailed plan before coding begins can avoid significant design changes in later. Ideas for software products are first evaluated by personnel for feasibility, required features and marketing objectives. These processes may cause the role of business development to overlap with software development. An important phase in software development is extracting the requirements then the scope of the development should be clearly stated.

Methodologies
- Offshore custom software development consists in offshoring the software development process in a country where production costs are lower, thus decreasing budget spending. The advantages mostly revolve around better cost-control over the process

- Behavior-driven development is considered an effective technical practice. It encourages collaboration among developers and teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave using specialized software tools and test scripts to support the development process.

- A lightweight methodology is a flexible and adaptive software development method that has few practices to deal with change in requirements and change in environment or technology.

- Agile software development advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change. Agile processes fundamentally incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system.

- Waterfall model is a sequential development approach, in which development is seen as flowing steadily downwards through several phases where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. The waterfall model is a traditional engineering approach applied to software engineering.

- Spiral model guides a team to adopt elements of one or more process models, such as incremental, waterfall, or evolutionary prototyping. It combines some key aspect of the waterfall model and rapid prototyping methodologies. Spiral model focuses on risk assessment and on minimizing project risk by providing more ease-of-change during the development process, and evaluating the risks of project continuation throughout the life cycle.

- Incremental Funding Methodology integrates traditional software engineering activities with financially informed project management strategies to increase the financial returns of a software project and for identifying development schedules that make a project financially feasible.

Type of Software Applications:

The different types of application software are

- Spreadsheet Software (MS Excel, Quattro Pro)

- Communication Software (Launch google settings, DIDI conductor APP)

- Desktop Publishing Software (MS Word, LBE Helpdesk)

- Multimedia Software (Youtube to MP3, Convert2MP4, Audio status maker. MP3XD)

- TV and Movies ( Megadede, Burma TV App, Downloader, Watch Cartoon)

- Sport Applications (Nowgoal Livescore)

- Word processing software

-Mobile Apps (Tu pago movil, Intex fitrist, Simentok)

-System Tools (drive manager easy kit, MT syslog, Jmodeltest)

- Images Graphics Tools (Mr. Photo, Livery angkot BUSSID, Livery po hariyanto)

- Internet Browsers (UC Mini)

-News (Tuko News, Apannpyay App)

-OS Emulators (BlueStacks 4)

-Software Analysis (MVSP)

- Games Tools (XOutput, Keyboard Splitter)

- GIS and Maps (Google Maps Downloader)

- Presentation Software (PowerPoint)

-Games (Virtual mechanic)

- Email Programs (Outlook, Email Extractor 1.4)

- Database Software (MS Access, Multibeast)

-Utilities (Winrtgen, Populus, Deathcounter, Youtube for Android TV)

-Educational (Mathematics Mobile application)


Design by HF Web-Design 2019.