3 Response to John Hello John, I am impressed you have acknowledged

3

Response to John

Hello John, I am impressed you have acknowledged that program development has basic components that make the process run successfully. It is true, these components are found in program development life cycle and they include problem definition, program design, coding, debugging, testing, documentation and maintenance (Bhakhra, 2019). I would like to add that the most important component is problem definition because it allows one to give scientific explanations of a problem to a client. Giving a scientific definitions and explanation about a concept or problem indicates that you have acquired all the knowledge and the experience to apply it practically (Bhakhra, 2019). However, the remaining components can be applied comprehensively and timely after a proper definition of the problem.

I have also noted your concern over the modularity concept. Indeed, it is a process that involves breaking down programs into independent sections that can be assembled to develop program. Breaking down programs makes it manageable compared to working on a program as an entity. Modularity concept increases the functionality by reducing the time to implementing new feature and maintaining the older ones.

Reference

Bhakhra, S., (2019). Software Engineering | Program Development Life Cycle (PDLC) Retrieved from: https://www.geeksforgeeks.org/software-engineering-program-development-life-cycle-pdlc/ 

Response to Ian

Ian, based on your argument, I think you precisely admit that assessment of a problem is key to program development. It is true plotting, coding, debugging and testing of programs will be successful after a complete assessment of the problem. It is quite apparent that documentation of the programs is crucial to enable future updates and repairs to be followed during the maintenance phase (Silberschatz et al., 2018). I am convinced that breaking down programs into small modules allows us to more easily follow the steps during development. However, I think Coding might be easy for a group of programmers to remember when they are trying to write a program (Silberschatz et al., 2018). This can be confirmed from your vivid descriptions on how to conduct debugging and testing. I agree with your position that documentation allows you to keep track of every modification and repair. It would be quicker to diagnose bugs that may be occurring or easier to continue working on an update from where you left off (Silberschatz et al., 2018). I would suggest that programmers should smooth out the bugs to allow keep track of what they have done in the past to make their programs more consistent and efficient.

Reference

Silberschatz, A., Gagne, G., Galvin, P. B.  (2018). Operating System Concepts, Enhanced eText, 10th Edition. [[VitalSource Bookshelf version]].  Retrieved from vbk://9781119320913