How I Systematically Develop Software
A Reply to “What methods do software engineers have to limit development time?” at Software Engineering Stack Exchange By John Frederick Chionglo
[email protected] • Brgy. Sta. Teresita, Quezon City, Philippines • 1114 If “limit development time” in Koyovis’ (2017) question “What methods do software engineers have to limit development time?” also means to reduce the uncertainty in the estimate of development time then a systematic method of software development would also help “limit development time”. I use a method for systematically developing software. The applications I develop are JavaScript® programs that use the Acrobat®/JavaScript API for PDF form applications. I think the method can be applied to other programming languages using other host environments. The method is based on Petri Nets. I begin by translating requirements in terms of net elements and annotations. I draw the net elements using PowerPoint and add some of the annotations to the diagram. Next I prepare two form views for the complete set of annotations of the application using Word (Chionglo, 2014). Then using the diagram as a guide, I add the net elements to the two form views and translate the requirements further into annotation references by filling the two form views. When I complete the form views I finally write the application software – using the diagram and two filled-in form views as guides. The method I use for the last step is a systematic activity (Chionglo, 2014); thus an accurate estimate for the “development time” for the last step can be made. The first program written is a prototype of the process logic. If I am happy with the prototype then I transform it to the intended form application. The transformation is treated as changes to requirements. If requirements change or if I made errors, I often find it easier to make the changes or to correct the errors and redo the last step from the beginning rather than to make the changes or to correct the errors and modify the two form views. When making modifications, I spend additional time “looking around” and “making changes” to entries in the forms; the additional time is difficult to estimate because it is unpredictable. However if the change is trivial then making changes to the forms and editing the existing source code would be easier than recreating the forms and regenerating the code. There are additional challenges involved in creating the diagram. However I find it easier to face these challenges rather than work without a diagram. This is true even if there are too many net elements in the diagram. There are further challenges for a diagram with too many net elements; nevertheless there are methods to mitigate some of these challenges (Chionglo, 2016). Again it is still easier to deal with a visible diagram rather than an invisible one. Thus one way to “limit development time” would be to use a systematic method of developing software. I use a systematic method based on Petri Nets to develop JavaScript programs for PDF form applications (Chionglo, 2014).
References Chionglo, J. F. (2016). Net Elements and Annotations: A General-Purpose Visual Programming Language [A Reply to “Visual Programming Languages” at Computer Science Stack Exchange]. Available at https://www.academia.edu/31341292/Net_Elements_and_Annotations_A_GeneralPurpose_Visual_Programming_Language. Chionglo, J. F. (2014). Net Elements and Annotations for Computer Programming: Computations and Interactions in PDF. Available at https://www.academia.edu/26906314/Net_Elements_and_Annotations_for_Computer_Progra mming_Computations_and_Interactions_in_PDF. Koyovis (2017). What methods do software engineers have to limit development time? Software Engineering Stack Exchange. Retrieved on Jun. 21, 2017 at https://softwareengineering.stackexchange.com/questions/351242/what-methods-dosoftware-engineers-have-to-limit-development-time.
Jun. 28, 2017
Page 1 of 1