📜 ⬆️ ⬇️

Software development: stages and principles

Our main specialization in EDISON is the development of sophisticated custom software on Windows, Linux, MacOS and Android, iOS, Windows Phone mobile platforms. During our work we have completed over several hundred large-scale projects at the highest level of development and customer service quality . Unfortunately, most of the most interesting projects are safely hidden behind the NDA. But whatever software being developed: a system, application, web or mobile app, the general design and its principles are the same.



In the last article we talked about our principles of software design, in this post we will proceed directly to the development process in the EDISON Development Center.

Stages of software development


Depending on the type, scale and needs of the project is determined by the order of development. It will be slightly different for developing mobile applications , firmware , automation solutions and databases , but the general sequence of actions for creating software is universal:
')


Details about the first and second stages (preparatory and software design ) can be re-read in the previous article.

Let's go to the creation:


Schematically, creating software looks like this:



Principles of software development


An important point for a software development company is to determine the basic principles of work. Each developer has his own approach, his own values ​​and priorities. For EDISON, these principles for development are:

  1. Orientation to quality. We make every effort so that this is not a tattered marketing cliché, but an objective reality. Uninterrupted operation and satisfaction with the end result provide:
    • following state standards, best practices and methodologies for qualitative development (RUP, Agile),
    • the best specialists, a clear division of labor and a good motivation term + quality,
    • debugged and powerful product testing system,
    • high-quality and transparent planning and execution of tasks, the development management system and the binding technical competence,
    • documenting the process and outcome,
    • guarantees for developed products, technical support and user training,
    • clear and convenient system of payment for software development.
  2. Adaptability and flexibility. In some projects there is no possibility of a clear statement of requirements at the stage of drawing up the TOR, and sometimes the client already at the software development stage needs to be changed - we understand such situations and foresee their likelihood and agree with the client on working conditions with precedent.


Examples of implemented EDISON projects


Software for microtomograph for studying materials, created by scientists of Tomsk State University


A microscopic tomograph recognizes the external and internal structure of organic and inorganic objects as large as a matchbox. The program scans an item, builds a 3D model, highlights areas of the same density.



Vivaldi Electronic Library System


The service, developed by EDISON, combines the electronic libraries of universities of the country with access to the database of the Russian State Library. With its help, students and teachers from 126 cities of Russia can get access to the most valuable and rare scientific works. ELS Vivaldi collaborates with large libraries, research centers and periodicals. Users can visit specialized reading rooms around the clock. This project implemented an easy search for the necessary literature, the possibility of printing, access to the archives of universities in the country. The service is easily incorporated into an educational institution, saving space and costs for maintaining a library of paper books.

Network of electronic libraries Vivaldi (ELS) with annotation from EDISON Software Development Center

System for control and accounting of working hours "Big Brother"


Convenient service for companies, especially those using flexible working hours for employees, allowing to monitor and control the actual employment of employees in the workplace. The system will not miss a single slob. The employer can be seen when the employee came to the workplace, when he left, left, the inaction at the computer and the time of overtime are monitored. If there is any doubt whether the person is engaged in work, from any computer you can get a screenshot of the desktop. The service is also convenient for employees of different departments: you can accurately determine which of the colleagues is now available and who, for example, has gone for lunch; You can easily control your free schedule yourself by choosing lunch time, the beginning and end of the working day. Well, the employer can draw conclusions about each hired person to improve the efficiency of the organization.



Any comments on our methodology or would you like to share your experience? We will be glad to talk in the comments, in our group on Facebook or Vkontakte .



About company:
Software design
Software development: stages and principles
The tester is responsible for everything
Software support
How yoga kodit and live helps: personal experience
We teach employees English: the experience of Edison
Mental Labor and Physical Education

Source: https://habr.com/ru/post/267671/


All Articles