Reflection
System design is an important aspect of the automation process. There are many considerations that should be put in place in order to arrive at a particular screen and design. There is a need to ensure that the system requirements for the system meet what the client requires. The user interface should be friendly for the city residents including special groups such as the old and the elderly generation. User interface prototyping is an interactive technique involving user to actively mock-up the user interface of a system. The process will start with the identification and representation of GUI development tools that are essential to the design process. Since the early years and beginning of the software engineering, the existence of software architecture has been in existence amongst the software programmers . Since the 1960 when the software systems were not complex with only a few thousands line of codes, programmers communicated the program design to fellow programmers and others through the use of abstract diagrams. The abstract diagrams sufficed to communicate the complete program design concept and did not require any abstraction. But in the modern days programs grew bigger, ambitious and complex .This necessitated a structure way of describing the system more precisely and easily. Furthermore the complexity called for a new paradigm shift from the structured programming to modularized method that can be reused .
Since the 1960s the area of software architecture have continuously attracted the attention the researchers and practitioners in the academia and all relevant stakeholders. They view software architecture as a great opportunity to designing large and complex system with great ease.
This report thus looks at the contributions made by early researchers in the development of the software architecture and in particular the works of the Mary Shaw and Parnas.
In the development of the system, I was tasked with the design of the search interface that would enable the user to search for the various issues and items in the system. I learnt several things that enabled me to integrate with what I already did in the course of the design process. The design of the search interface would enable the user to get text or graphic results. I was able to learn the various design issues that are required for software design. I was able to use various visual tools that enabled me to interconnect the various processes. The iterative design process uses various GUI design development tools to come up with various interface prototypes. Mock-up screens created to visualize the aesthetic graphic direction of the GUI design and are used for early design testing. The program design comprises the process of evaluating the alternatives solution and specification of detailed of computer based solution. The program design deals with the physical implementation, that is, dependent aspects of implementation. This can also be termed as the planning of a new program area. The programmer interface between the computer hardware and the program objective in that he combined his insight gained from study of problem to be solved by the program and developing a program to solve the problem or to achieve a certain objective.
The search screen is an important screen that is supposed to be accessed from the main screen. The use should be able to get to the screen from any location of the design process. I learnt the importance of laying out the various physical guide elements to the user. I was able to understand the various coding issues that are considered when undertaking the software development. It has been taken that design is not as hard as coding but this will change. It is important to know how the user will use the system. I was able to understand what needs to be taken into consideration when undertaking graphical interface design.
When coming up with the various categories of undertaking searching of information, I found an important aspect of integrating the trends in computer programming in the design process. When undertaking this design process, it is important to understand the user needs. I found out that the current trends in software GUI development is important. One research, I found out that the search screen design is important as it is an important functionality that helps users to get useful information. The process of choosing the design approaches is yet another factor that was interesting to me. In the design of the search screen, the very important aspect of design approaches that could be taken used were an important part for me although it took time to get all the information that is required for the system. Top down approach-this is an approach that focuses on major function of the program. This is whereby there is the breakdown of the system into smaller and smaller activities called modules that can be programmed individually and later integrated to create the overall program. Bottom up approach-this focuses on data particularly output of the system .the bottom approach is to determine the output is needed and move up to the process needed to produce the output.
For the various designs to be achieved there was a need to understand the requirements design issues. I learnt the process of understanding all these. Systems design undergoes a lot of processes and stages. This is taken so that all the processes that are required have been made. This is the reason there is a need to have a thorough system analysis process when creating a system. System analysis entails having thorough understanding of the system and what will need to be integrated and also looking at the possible bugs that might be introduced in the system. It is therefore important to have a physical representation of the system so that it becomes clear what needs to be achieved. The input design of the program is done to ensure that the data to be processed by the program is collected in the efficient manner to minimize errors and omissions (Deborah & Deddie 2005); this in return will guarantee the correctness and reliability of the output. The input interfaces to be created in the program are one to prompt the user to start the object tracking and to stop the object tracking. The second input is an interface to accept input through the web camera.
While designing the search criteria, I got a chance to learn about encapsulation. This means that there was a close attachment of items and procedures that were followed. The methods are tasked with data manipulation so that their behavior is reflected. The public interfaces that are formed by way of messages that are collected and are understood by an object are used to give a full description of an object. The programs that want to be able to manipulate an object will just need to be concerned with the messages that this object understand and will not need to know about how these tasks are achieved neither do they need to be concerned with the internal working of the object. The fact that internal details of the object are hidden make the object to be abstract, a feature that is called data abstraction. Practically, objects of a specific type form an instance of a class and their definition specifies the internal working of these objects and also their public interface. The creation of an object is called instantiation and it entails the definition of initial values of a class. Parnas introduced the concept of information hiding, a mode of designing modular structures of software implementation . The approach would greatly enhance the software adaptability. His modularization concept is based on the separation or decoupling of the design decisions that are expected to change so they are independently modified without necessitating the change in other modules
If the input from the user is entered correctly the program should then process the input and give the desired output. I learnt several things that enabled me to integrate with what I already did in the course of the design process. The design of the search interface would enable the user to get text or graphic results. I was able to learn the various design issues that are required for software design. I was able to use various visual tools that enabled me to interconnect the various processes. The iterative design process uses various GUI design development tools to come up with various interface prototypes. Mock-up screens created to visualize the aesthetic graphic direction of the GUI design and are used for early design testing. The program design comprises the process of evaluating the alternatives solution and specification of detailed of computer based solution. The program design deals with the physical implementation, that is, dependent aspects of implementation. The output design which will entail the image display interface is used to output the motion of the image corresponding to the object in motion. The output is a rectangle that moves as the object is set in motion in front of the web camera.
In the process of designing the system, I was able to apply the aspects and principles of objects. These concepts are mainly concerned with how program objects, classes, methods, and their interactions are handled. For effective object oriented design, there is a need to have objects and classes well laid out, there is a need to understand inheritance and how code will be reused in the program. Objects are basically things which may include persons, places which are of significance to the system being designed or analyzed. It may also be graphical user interfaces or text areas on a display. Several objects may share some attributes or have common characteristics this objects are grouped together into one class, like, class shapes with objects like Triangle, Circle, and rectangle. The classes may also have further subclasses with further defining attributes. Classes have unique create a distinction from other classes and avoid ambiguity. Objects are mainly instantiated by a class. Methods are behaviors attributed to objects of a particular class an object triangle may have methods e.g. area and circumference.inhritance involve reuse of code associated with an object in a particular class. The iterative design process uses various GUI design development tools to come up with various interface prototypes. Mock-up screens created to visualize the aesthetic graphic direction of the GUI design and are used for early design testing. The program design comprises the process of evaluating the alternatives solution and specification of detailed of computer based solution. The program design deals with the physical implementation, that is, dependent aspects of implementation. The output design which will entail the image display interface is used to output the motion of the image corresponding to the object in motion.
The design of the display of the results that had been searched was another aspect that needed to be looked into so that the research results will have a good layout. It is important that the research results come out clearly. It is another important decision steps are undertaken. The iterative design process uses various GUI design development tools to come up with various interface prototypes. Mock-up screens created to visualize the aesthetic graphic direction of the GUI design and are used for early design testing. The program design comprises the process of evaluating the alternatives solution and specification of detailed of computer based solution. The program design deals with the physical implementation, that is, dependent aspects of implementation. The output design which will entail the image display interface is used to output the motion of the image corresponding to the object in motion.
Bibliography
Jeff Garland, RA 2008, Large-Scale Software Architecture:, John Wiley & Sons.
N. D. Birrell, MAO 2008, A Practical Handbook for Software Development, Cambridge University Press.
Parnas, DL 1972, 'On the Criteria to be Used on Decomposing Systems into Modules', Communications of the ACM, pp. 1053-1058.
Sate University 2011, 'Software development job description, career as a network administrator, salary, employment', Infoworld, vol 63, no. 2, p. 73.
Shaw, M & Garlan, D 1996, Software Architecture: Pespectives on an Emerging Discipline, Prentice Hall, New Delhi.