Software Development Initiation Planning Design Analysis Development Integration Testing Maintenance 18/11/2018 Sean Oram
Software Development Initiation Planning Design Analysis Development This is the starting stage of a software project. We would gather the basic idea of what piece of software we will be creating for example, a piece of software that would install a program for us (an installation wizard). Planning This is the stage in which the project manager and a few team members (if applicable) would plan everything together i.e. how is it going to be done. What will we need, what development software would we use? Design Analysis This is the period where we will be designing our piece of software, making sure you have everything you will need to develop the software, including the files that will be extracted by the software to the correct directories, insert registry entries in the correct areas, grant the right permissions to the right files. Development The phase in which we will be putting the design into action. The stage where prototypes would be created, starting to make the project work, coding, programming, designing how the application will look visually also Integration This is the stage in which we will integrate the code into our software design and start making the actual main program work, checking roughly for bugs as we go along to make it easier for testing in the next stage. Testing This is one of the final stages where we will be checking for bugs and issues with our programming, Making sure everything works smoothly, is accurate and correct, laid out neatly, is efficient as possible and fully functional. Maintenance The final stage of the development process, the stage where the software would be released and kept maintained to remain compatible with the latest updates of operating systems that the program supports Initiation Planning Design Analysis Development Integration Testing Maintenance
Software Development The Principles of Software Developing. We have to ensure that the software will be compatible with at least a few Operating systems, this maximises the chance of the software being used widely. We have to take into consideration the user requires in their software. What does it need to do and how will it be done? Finally our software will be elegant, Smooth organised coding ensures to minimize buggy software. We have to ensure that the software code is going to be efficient, Efficiency is very important when it comes to developing software.
Software Development Importance of code quality. Stability. In this section we will be looking at the many ways in which the importance of code quality applies to stable pieces of software. Quality of code is very important to ensure software is smooth, efficient and stable to run. Stability. The software runs as expected without errors or conflicts with the operating systems that it supports, issues that would typical cause programs to malfunction such as memory errors or has not sufficiently been made compatible enough to run stable on said operating systems. Efficiency. The software can run at an efficient level, does not consume a crazy amount of system resources and runs smoothly. Utilises enough system resources that it needs but without consuming too much to where it could potentially cause system instability if the program had memory leaks that would be an example of an inefficient program. Easily Maintained. Coding has been written in a neat layout, comments included to that develops that are working on the same product can easily update and maintain the software to remain compatible with the Operating Systems that it supports. Secure. The software is secure, the developers comply with the data protection act and have reflected that onto the software, ensuring that if for example it handles sensitive data such as patient medical records, it would have encryptions and passwords to keep said data secure. On the next slide is a diagram showing many factors and aspects on code quality
Software Development Image Source: http://www.stauffware.com/d_and_d/CodeQuality.png
Software Development Code Clarity and Readability. Layout. In this final section we will look at the many factors that make code readable and how you can improve readability in general by doing this also gives code clarity. Layout. Everything is neatly laid out into their own sections, making good use of indents and spaces to section parts of code is a nice way of giving code improved readability and clarity. Everything is neatly where it should be and not squeezed together tightly which in turn would make code look more confusing. Good use of Comments. Using a good amount of comments to describe non self-explanatory functions, variable and strings makes it much easier for us to look back at our code and not forget what something is for, it is especially useful as mentioned in the other slide that helps other coders working on the same project know what everything does. Descriptive Function, Variables and Object Names. Naming functions and variables names that reflect their purpose, for an example objects that are being used for certain purposes should be named accordingly, “doormainhall” could be an object name of a door in a game that would be the main entrance to a building. So if the door was not reacting to a certain event as it should they could easily determine what part of code they need to edit after debugging the game.