StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

The Art of Software - Speech or Presentation Example

Summary
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94% of users find it useful

Extract of sample "The Art of Software"

Speech on the presentation Name: Number: Course: Lecturer: Date: Most security issues in most companies and organisations are due to the improper and sometimes ineffective security systems. In an attempt to curb this menace there is need to develop a system or application that can effectively track the motion of an object through a web camera regardless of the location. The images of objects tracked can be relayed to different locations, for instance one can synchronize the webcam with his home and office and can be able to see movements at home while in his office. This application named object tracker application is designed to detect motion and capture images of objects passed in front of the web camera and a rectangular image is created on the screen that corresponds to the movement of object in front of the camera. When the program is started it will start by capturing the background, all the captured frames will then be added together and the mean background frame will be estimated. The camera should be pointed to a direction where some motion is expected. The development of the program followed the conventional system development life cycle from the problem identification to the implementation and maintenance and evaluation of the system performance[Jef07]. To achieve the desired objectives of the system several design approaches are employed in the design of the program; Top down approach-this is an approach that focuses on major function of the program. The system is broken down to smaller and smaller activities called modules that can be programmed individually and later integrated to create the overall program[Jef07] . These modules for the program include mean estimate of background frame (set back ground), initialization of motion detector (Detect) and calculation of motion. Bottom up approach- 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[Jef07] . The output required from the application is a rectangle in corresponding motion to the object in front of the web camera. Program designing conceptually uses several tools that are conventionally used irrespective of the program designed[Dav90]. The design tools help to simplify the program and aide in coding of functions and structures to be used in the program. The program development process used various program design tools which include: Flowchart Pseudo code Decision tree Flowchart This is the diagrammatic representation of information expressed in time sequence or expressed sequentially[Jef07]. This is divided into Program flowchart System flowchart  Program flow chart is a chart that represents detail series of steps needed to solve programming problem Pseudo code The program design is represented in simple English statements that provide the procedure of executing the program[Jef07]. Read data from external source, that is, web camera and keyboard. Transform data or computed  value to data elements Call or perform subroutines of the program Use control to execute statements, modules Manage the flow of control The program employs a number of coding techniques in the coding of program codes; Use of functions and structures and objects The program uses functions and procedures; the program is broken down into manageable objects, functions, structures to execute particular tasks in the program[Jef07]. Some of these functions include; motion detector object: void Motion Detector::init (unsigned int image width, unsigned int image height, float zoom); Which uses the functions setbackground () and the detect () function. Object imageblob which uses the functions find_blobs (),find_bounding_boxes () and delete_blob () functions. The functions are invoked within an object or structure whenever there is need of their use The use of these coding has several advantages; Use of functions enhances code reuse and easy identification and finding of bugs. Assist in software and program maintenance Enhances the development of the program since several programmers can work on one application. The research process with regard to the application entails the collection of both technical and non-technical material which is used to describe the nature and use of the application. The program design was built to have the following qualities; Flexibility-the program design should allow future requirement of object tracking (if need be) to be incorporated into the program without much difficulty. Maintainable-the design should be geared towards change hence good design is good to maintain hence reduce users’ maintenance cost. Portable-the design should be portable in that it can be transferred from one machine environment with minimum efforts of conversion. Ease of use-a good design would result to the program user friendly .should be easy to be used by the prospective users. Security-the system design built method to restrict access to the authorized users e.g. use of  password Cost effective-the program design should deliver the required objective and functionality. Requirement specifications for implementation Hardware requirements A minimum 512 MB of RAM, 250 GB internal Hard disk 17” TFT monitor with a clear resolution. 3.0 GHZ Speed External 2.0 mega pixel web cam The laptop machine should have the following specifications; Minimum 3 GB RAM Minimum 250 GB hard disk. Internal or external web cam. Software requirements include: Linux / windows 7 or Solaris operating system Web cam device drivers Video and image enhancement programs. It should be noted that the program cannot be initiated if the computer system is not installed with a web camera, The new program is installed into the computer system by use of an external storage device i.e. flash drive, optical disk etc. from the external storage i.e.  Flash disk, diskette, DVD installed into the system the user selects the executable file named object tracker that is displayed in the respective drive. Double clicking the file initiates the program .the program will then initiate the web cam installed in the computer system. The image display interface is displayed on the computer screen The two major Types of testing were used in testing the functionality and effectiveness of the program: White box testing[mye79]. API testing: testing of the application using both public and private APIs. Fault injection methods: improving the coverage of a test by introducing faults to test code functioning. Successful in identifying bugs and errors in situations where results are known. Mutation testing: isolation and testing of individual parts successful for integration of the entire program Static testing; test of individual functions, objects and structures codes to identify and eliminate all errors Code coverage; successful in setting of code boundary and limitation. Black box testing[mye79]. Treats the program without consideration of the internal implementation of the code and its operation. Conclusion Functions and objects simplify code generation and implementation identification of bugs and errors. Use of comments and code documentation increase understanding of the code. Good program design results in easy and effective program maintenance. Functions and objects aides in code reuse thus saving time References Jef07: , (Jeffrey & D, 2007), Dav90: , (David, 1990), mye79: , (myers, 1979), Read More
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us