14 Jun 2009

SOFTWARE ENGENEERING

INTRODUCTION
Below is the representation topic of software engineering which presented by my colleagues friend as IT students who are
Nelson Shoo&
Christine Obed

MEANING OF SOFTWARE ENGINEERING
What is software engineering?
Is the systematic approach to the design, construction, develop and maintenance of computer programs
OR
Is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches as the application of engineering to software.

SHORT NARRATION OF SOFTWARE ENGINEERING
In 1950 programming languages started to appear, major languages such as FORTRAN, Algon and COBOL were unconfined during 1963-1968 the emerging of software crisis and 1968-1970 was the occurrence of the birth of software engineering, it first appeared in 1968 when NATO Software Engineering conference emerged.

AIMS OF SOFTWARE ENGINEERING
(i)Graduate qualified professionals in the field of software engineering with knowledge and skills are compulsory in the job market as professionals for that field of computer science.
(ii)Make available for enhancing the capacities of the faculty in order to achieve excellence and improvement.
(iii)Make a payment to the development of human knowledge through scientific research of this field.
(iv)Contribute in the development of the industry though consultations, training and seminars and applied research of the field.
(v)Appreciate lifelong learning that will allow adapting effectively in a rapidly changing field of computer science.
(vi)To overcome this crisis and create software of high quality, cheaper, maintainable and deliver them at time.

TYPES OF SOFTWARE
(a)RETAIL SOFTWARE
-This type of software is sold off the shelves of retail stores.
(b)OEM SOFTWARE
-Original Equipment Manufacturer refers to software sold in bulk to resellers, designed to be bundled with hardware. Examples Microsoft
(c)SHAREWARE
-Is the software which is downloaded from the Internet but after a several period of time the customer have to purchase
(d)FREEWARE
-Is the software which is downloaded from the Internet for free but for person use, while commercial uses it requires a paid authorization.

HOW IS SOFTWARE ENGINEERING WORKS?
This is the looping process where by the software requirement analysis starting by satisfy those needs and pass to system analysis and design where most software tools are design and shift to the third stage where Code generated and assured through the stage so as to be tested into fourth stage and proceed into last stage where maintenance of these tools takes place and looping to the inertial stages as their in circular forms.

TOOLS USED IN SOFTWARE ENGINEERING
-By definition Software engineering tools are tools or things that are intended to provide automated support for software process system in most of the computer science field.

COMPUTER AIDED SOFTWARE ENGINEERING TOOL
-These are among of the tools used to provide automated maintain for improvement of software such as in computer codes there case function which includes of analysis, design, and programming of these codes.
But in case tools there are Upper and Lower Case tools where data flow of diagram, Structure charts, algorithms and Debugging, maintenance, testing tools such as programming are working consecutively.

CHALLENGES
(i)Heterogeneity challenge
(ii)Delivery challenge
(iii)Trust challenge
(iv)Legacy system challenge

CONCLUSION
Upon basis on the requirements of sensor networks, this article describes aspects of software engineering. The main objective is the simplification of development of service applications for wireless sensor networks. A key issue is to separate the software from underlying hardware and to divide the software into functional blocks seen in stages of software engineering.

Refference
(i)Ian Sommerville(2000)Software Engineering 6th Edition, chapter 1
(ii)www.freetechbooks.com/software-engineering-methodology-the-watersluice
(iii)wikipedia.org/wiki/Software_development_process
(iv)www.googlebooksearch/challenges of software Engineering

By Venance

PROGRAM /SOFT WARE VISUALIZATION

LEARNING DIARY O N PROGRAM/SOFT WARE VISUALIZATION
So happily ta have the presentation like this as presented by
Rachael Myinga &
Venance Luhemeja

INTRODUCTION
-Program visualization is the method developed over the years to aid novices with their difficulties in learning to program. It consists of different graphics often animated and textual objects, visualization the execution of programs. The aim of program visualization is to enhance students understanding of different areas of program execution, typically program visualization techniques include code highlighting visualization of call stack and presenting information on variables.

MEANING
(i)Program is a set of executions instructions that solves a problem/difficulty.
(ii)Visualization is the making visible/observable to the mind or imagination.
(iii0Program/software visualization consists of producing animated views of program executions, because is the use of computer graphics and animation to help illustrate and present computer programs, processes, and algorithms in producing animated views of program executions. Not only is that but also the visual representation of program activity during execution

TYPES OF PROGRAM/SOFTWARE VISUALIZATION
There basically two types of software / program visualization which are-
(i) Visualization of a single component.
-This is the types of visualization where source code and quality defects during software development and maintenance activities are able to executed and visible.
(ii) Visualization of the whole (sub) system.
-This is the type of visualization where we can investigate the architecture or to apply or visual analytics techniques for defect discovery.

AIMS
After interact with the introductory meaning and types of software / program visualization also there several aims that act as the purpose of software visualization in render visible more understandable or comprehensible.
(i) Binds of data to representations that can be recognized. -This consists of the binding (or mapping) of data to representations that can be perceived and types data to be bonded can be visual, auditory, tactile, or a combination of them.
(ii) Specification of user explanation -That gives more descriptions of all the important data characteristics and the specification of the user's interpretation aims. The interpretation aims define what characteristics of the data, or relations between data variables, the user are interested in analyzing by means of visual representation.
(iii) Achieve the goals of systematic creation of visual representations -In this all the process and procedure for writing program must be followed in order that a user can understand the code well and be able on visualization on understanding the executed data show the picture or result and the procedures well.

IMPORTANCE OF PROGRAM/SOFTWARE VISUALIZATION
(i) Improving performance -Software visualization helps the user to improve its performance through doing more practices on making different program.
(ii) Support visible more comprehensible -it enables the user to understand the program procedures and to be able to explain the code arrangement when writing a program so that during the execution of the code of the program the errors can be reduced.
(iii) Converting data into a graphic or graphic representation,
-Those code or data inputted by the user are converted into language that a computer can understand so that it can bring the aims of the programmer
(iv) Helps programmers to understand program behavior & code better -more practice help the programmer to understand the characteristics, behavior and to make the relation of the code.

DISADVANTAGES OF SOFTWARE/PROGRAM VISUALIZATION
(i) Getting of necessary data (codes) for visualization it is difficult for programmers to -know the exactly data which can be used in his or her program also it take a long time for programmer to make program. These are difficult for those who are making larger program.
(ii)Problems on Limited screen space. -This occur in most of the programs like jeliot in which two or more list of algorithms can not be possible to be executed at the same time due insufficient space on the screen.
(iii)An unfavorable condition or circumstance. -This is most of the factor that faced on the problems during execution of visual data during software visualization.
(iv)The aspect of program behavior to be visualized must be identified.
-Programmer must know what is he or her going to do before writing anything about the program but it is difficult for the programmer to identified the behavior and characteristic of the program, as a result a programmer fail to present their aimed program

CHALLENGES
(i) Handle real-world problems -This is the uses of programs and software in developing programs in a small client and laboratory with few line of codes as algorithms.
(ii)Security upon program/soft ware. -Upon this can lead too many dangerous defect in most of programs due to attacking of hackers, and intruders like viruses
(iii) Network Latency. -This is condition in which the visualized is always faced by the problem of network congestion or traffic during executions of visible data during visualization
(iv)Designing and specifying. -In this factor the only the programmers should be able to design codes specific to the program intended to be visualized and make it be more clearly.

HOW TO OVERCOME THE PROBLEMS
(i)Improving performance of program -It is better to think before doing anything about the program so as to be able to identify all the procedures needed and by doing practices it can help to improve the programmer on designing different program.
(ii)Calculate and reducing resource utilization. -The programmer must be able to use small resources but good presentation of the program. Those codes used during the designing of the program must be clearly so as to avoid unnecessary information.
(iii)Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, through this can help us in software visualization to reduce the number of bugs within our program as a result it to show the good presentation of the program and graphics.

CONCLUSION
Programs are not only files, but indeed technical publications. In order to transfer programs into publications, some principles need to be adopted, so that the codes can be properly and nicely mapped into visible language constructs

Refference
(i)Department of Computing Science, University of Glasgow, Glasgow, UK
(ii) Ben-Ari, M. (2001). Program visualization in theory and practice. Informatik/Informatique
(iii)Brown, M. H. (1991). Zeus: A system for algorithm animation and multi-view editing. Proceedings of IEEE Workshop on Visual Languages, 4-9. New York: IEEE Computer Society Press.
(iv)Baecker, R. M. (1968). Experiments in On-Line Graphical Debugging: The Interrogation of Complex

By Venance

FINGERPRINT RECOGNITION

LEARNING DIARY ON FINGERPRINT RECOGNITION:
INTRODUCTION: The topic was presented by
Mr.Ayoub Mugube &
John Malasa
In most of the countries in this world, Physical identification regard as physical appearance, voices, and other sensory data and Biometrics as the way for unique be acquainted with human based upon one or more intrinsic physical or behavior traits, also biometric includes face, iris, retina inspect, voice recognition etc. Fingerprint refers one of the most convenient and infallible.

MEANING
Fingerprint recognition or fingerprint authentication
-refers to the automated method of verifying a match between two human fingerprints. Fingerprints are one of many forms of biometrics used to identify an individual and verify their identity. This article touches on two major classes of algorithms (minutia and pattern) and four sensor designs (optical, ultrasonic, passive capacitance, and active capacitance).

SHORT NARRATION
-In 1880 Dr. Henry Faulds was the first to publish a scientific account of the use of fingerprint as a means of identification but In the late 1960s Galton points has been utilized to expand automated fingerprint technology and In the 1969 FBI developed a system to computerize its fingerprint identification process as a results the available fingerprint continued to improve until in attendance.

AIMS OF FINGER PRINT
Aims to develop a fingerprint matching process that runs on off-the-shelf GPU's (Graphical Processing units). This will allow to compare many more fingerprints than is actually possible and lower the cost-performance ratio. It is also an excellent test case for complex scientific computations on parallel hardware. Current leading methods allow many comparison rate prints per second, but by harnessing the power found in modern GPU's this amount could increase dramatically.

WHY FINGERPRINT
(i)The fingerprint pattern of any one individual remains unaffected/unchanged for life;
-This helps most of the country in all issue of security purposes because of unbothered or not changed.
(ii)The uniqueness of the fingerprint
-Also this identified the unique of different persons around the world because each person has got his / her own finger print.
(iii)Limited variety in patterns allows systematic classification of an individuals fingerprints
-If you consider on various pattern of different people in detail you can see each people have different patterns on his / her finger as an identity.

CLASSIFICATION OF FINGERPRINT
In this section human finger print modules has been classified into three different patterns
(a)Loops.
-It initiates on one side and goes around to closing stages on the identical side. A loop is generally something that closes back on itself such as a circle. The closing can appear in time or in space. It can be a cycle or ball but not a square
(b)Whorls
-The whorl establishes in the middle and maintains in receipt of bigger site. It appears like a bunch of circles in each other with rounded or circular ridge pattern and two deltas
(c)Arches
-The arch is a shape that initiates on one part, and ends on the other part, like a hill but with no delta.

ACHIEVEMENT OF FINGERPRINT IMAGES IS PERFORMED BY TWO TECHNIQUES.
(a)Off-line sensing
This is the achievement of fingerprint images carried out by ink-technique
Where the necessary finger is broaden with black ink and pressed against a paper card and scanned using a common paper-scanner and bring into beings the final digital image visible. Though is possible to manufacture a rolled impression which carries about more information but If not executed with care this technique manufacture the image with misplaced information due to excessive inkiness and deficiency
(b)Live-scan sensing
This is the collection of digital image by direct sensing the finger surface with an electronic fingerprint scanner with non ink technique but the finger is pushed against the level surface of a scanner’s fingerprint sensor as an electronic device used to detain a digital image of the fingerprint pattern. Although this technique is very straightforward but requires little user instructions.

ADVANTAGES OF FINGERPRINT
(i)Its consistency and stability as well as reliability are higher measure up to the iris, voice, and face recognition method because some can change his or her voice, iris and face that can be recognized by the machine.
(ii)Fingerprint recognition tools is moderately inexpensive evaluate to other biometric system in which any people of lowered status can manage to have them
(iii)Fingerprint can not be mislaid and do not change naturally due to the fact that each people identified with the uniqueness of that.
(iv)Fingerprint can be practical to Modern computers, planes, cars, automatic doors due the fact that the automation is automated.

DISADVANTAGES OF FINGERPRINT
(i)Time consuming.
It is true that the process of finger print consuming a lot of time that can be used to perform another work in our society.
(ii)Some criminals burn their fingers with acids.
Also this is among one the challenges as well as problems because if some one can be able to change the appearance of his or her hand can also be possible to avoid the finger print detection.
(iii)Some people have damaged or eliminated fingerprints.
Also seems to be difficulty for machine to render more accurately for those with damaged finger to be printed.

CHALLENGES
(i)Appropriate to technical dilemma some sensors do not interpret fingerprint images properly
(ii)Fingerprints stored in the database can be straightforwardly strong-minded by hackers and less security purposes.
(iii)The procedure of accumulate fingerprints weakens security hence sometimes criminals do engrave their fingers.

TERMINATION
Fingerprint recognition is important regardless of the disadvantages since it uniquely gives the variation accurately and discriminating than DNA analysis, which, with today’s technology, cannot distinguish between identical twins.

Refference
(i)Davide Maltoni, Anil K. Jain, Dario Maio, Salil Prabhakar,(2002), Handbook of fingerprint recognition, springer.
(ii)Henry, Edward R., Sir (1900) Classification and Uses of Finger Prints London: George Rutledge & Sons, Ltd.
(iii)Guardware Systems Ltd.Fingerprint Recognition II – History of Fingerprinting, 2000-2001 .
(iv)National science and technology Council Institute, Committee on technology, Fingerprint recognition,2006, Subcommittee on Biometrics.

By venance.