Function-Oriented Design
A function is a self-contained software routine that performs a task. Function-oriented design decomposes a system into a set of interacting functions with a centralised system state shared by these functions (Sommerville, 1994). In this type of design, the sequential nature of work is important (Information system design, 2006). For instance, the designer should first identify processes within the problem and then identify data manipulated by these processes. Next, processes are decomposed and elaborated by specifying the inputs and outputs of processes and reduced into subordinate processes. It is then possible to derive a solution from the decomposition that satisfied the process-oriented requirements of the problem with procedural constructs and supporting declarative constructs. The design if often represented as a data flow diagram that documents end-to-end data flow while a structural system model shows how a function is realized by other functions it calls and a detailed design description describes a function, and its inputs and its outputs (Sommerville, 1994).
Function-oriented design has its advantages and disadvantages. It is particularly suited for real-time systems which have more process elements than data elements (Information systems design, 2006). However, function-oriented design does not hide system state information (Sommerville, 1994). Thus, the function can change the state in a way that is not desirable for other functions and may cause them to behave in unanticipated ways. According to Sommerville (1994), "A functional approach to design is therefore most likely to be successful when the amount of system state informization is minimized and information sharing is explicit." Sommerville points to systems whose responses depend on a single stimulus and which are not affected by previous processing such as transaction-processing systems and business data-processing systems, as good candidates for function-oriented design.
Bibliography
Sommerville, I. (1994). Function-oriented design. http://209.85.173.132/search?q=cache:7d5EgI3CGrYJ:www.comp.lancs.ac.uk/computing/resources/IanS/SE7/ElectronicSupplements/FunctionDesign.pdf+functions+program+design&cd=4&hl=en&ct=clnk&gl=us
Information system design (2006, Autumn). IT60105. http://209.85.173.132/search?q=cache:r-aQKV6kCtsJ:www.facweb.iitkgp.ernet.in/~dsamanta/IT60105_3/LectureSlides/L14_ApproachesToISD.ppt+%22function-oriented+design%22+advantages&cd=3&hl=en&ct=clnk&gl=us
Our semester plans gives you unlimited, unrestricted access to our entire library of resources —writing tools, guides, example essays, tutorials, class notes, and more.
Get Started Now