This is the fift reflection. The term is about to finished. In this reflection, I am going to mention following things.
- Hierarchy of Software
- System Software
- Application Software
- Flowchart poster picture and my experience from the project
The hierarchy of software
Software are generally classified as system software and application software.

The system software
It is a software designed to operate the computer hardware and to provide a platform for running application software. Programming language translators, utility programs, library programs, and operating systems are four category under system software.
Operating Systems are a collection of programs that make the computer hardware conveniently available to the user. It hides the complexities of the computer’s operation. It is an interface between the application software and computer. OS interprets commands issued by application. software. Without the operating system, the application programs would be unable to communicate with the computer.

Library program is a collection of compiled routines/functions that other programs can use.
It contains code and data that provide services to other programs such as interface, printing, network code, the graphic engines of computer games. All Microsoft Office programs have the same look and feel because they are using the same graphical user interface libraries. Computer game developers often buy graphical libraries to speed up development. This will allow them to quickly develop a good looking game that runs on the desired hardware. For example Battlefield 3 and Need for Speed both use the same Frostbite engine. For example: game engine and code.

Utilities are programs that perform a very specific task related to working with computers. They are small, powerful programs with a limited capability. They are usually operated by the user to maintain a smooth running of the computer system

Translator software is a software that allows new programs to be written and run on computers, by converting source code into machine code. In the class, Mr. Pete showed a video to us, which explained how translator works. There are three main kinds of translator assemblers, compiler, and interpreter. Assembler is a program that translates an assembly language program into machine code. Compiler is a program that takes a program in a high-level language, the source code, and translates it into object code all at once. Interpreter analyses and executes each line of a high-level language program one line at a time. Generally, complier works more efficiently, but all the works done by compiler would be ruined, if it makes even a small mistake. Although interpreter works every slow, but people would soon find out the mistake and correct it when mistake is made, which would not ruined every work we did. However, this video teach me more than just computer knowledge about translator, but also life experience: Shadow always exist with sunshine. Good sides and bad sides of one thing would always exist——good or bad sides could not exist lonely.
Application software
It allows users to perform non-computer tasks. It is a software designed to help the user to perform specific tasks, such as writing a letter or processing orders. It is designed for end users to perform tasks that they consider useful. Three categories of application software are presented: General purpose application software, special purpose application software, and Bespoken application software.
General-purpose software is a type of software that can be used for many different tasks.It is not limited to one particular function.

Special purpose application software is a type of software that created to execute one specific task.

Bespoke software is tailor made for a specific user and purpose.

Flow chart
This week, we had a group activity called flow chart which is the general structure of how the computer works. I and Hania were in a group. Our topic is to classifying 16 personalities. MBTI theory believes that a person’s personality can be analyzed from four angles, with the letters representing the following:
1. Source of driving force: outgoing E—inward I
2. Ways of accepting information: feeling S—intuition N
3. The way of decision making: thinking T—emotion F
4. Attitude towards uncertainty: judging J—perception P
Two or two combinations can be combined into 16 personality types. So our flow chart is about classifying each of the four dimension and combine those result. To form 16 kinds of basic personalities. In the very beginning of the flow chart, we design a loop: if you are going to do the test? If no, then try again, if yes, then welcome to the test. After that loop , the main part of the flow chart is. consisted of four parallel group of questions. The “yes’ or “ No” would lead the user to different next step. I learn a lot from the activity. First, teamwork is really important, because I made good teamwork with Hania. The devision of work is clear so we did not waste any time. Second, I should try my best to increase the efficiency of the work. In the activities, I spent about 6 hour writing the Pseudocode, but most of the work is repetitional. If I use abstraction, I would finish the work in 1 hour.
