
Welcome to my blogpost! Long time no see! These weeks we continue learning about user documentation and software update. We draw a lot of diagrams, especially the passing week. We learnt system flowchart, data flow diagram, training, and user documentation.
User Documentation

There are two types of user documentations which are internal documentation and external documentation. User documentation should involve answers to frequently asked questions and mandatary instructions to use the program.
Internal documentation is designed for programming team to record the features and details of codes. A good internal documentation should have appropriate module headers, comments, code intention, code structuring, use of enumerated types, use of constant identifiers, and use of data types defined by users. Internal documentation can fasten the system development process. It is really useful to improve extensibility for further development of the program. For example, students are required to write internal documentation for IA, like date, description of class, functions of each class… External documentation is a separate written document from program. There are many types of external documentation provided to users, like users’ guide, software requirements specification document, detailed description of the design and implementation features of the program. For example, for IA, students can write a separate document to inform users how to start the program, help guide when facing some common issues, software and hardware requirements, how to use the main functions of the program and so on.
There are different types of user documentation, which can either be in a written or online form, like printed user manuals, help files, online support, FAQ and so on. Printed manuals are instructions printed on paper which can be read through by users when they start a system, but it is easy to lose and might not be updates immediately. Help files are files to help users’ usages with the system. It can be accessible whenever people want to read it and it give instructions and general solutions to users. Nevertheless, the solution is not specified and it can only be accessible after installing the system. Online support is the special web service hosted by the system’s developer. It is more useful compared with help files, can be revised as soon as possible, and provide services for live support but users can only attach to it when there is internet.
A bad user documentation can lead to serious problems during the implementation or operational stage of Software Life Cycle. The user might not know how to implement the product to its full capacity and even technicians can not set up a perfect updated system. A good documentation will avoid these problems and improve the usability of the program and even give technicians more opportunities to create a better system.
Types of training

An appropriate training is important for a system because all the staff need to be familiar with the new system in case that they will have problems when they first use the system. There are three types of training: self-instruction, formal classes, and remote learning. Self-instruction is what the word itself expresses. Printed-manuals, e-books, online tutorial videos are all self-instruction methods. This type of training requires high-skilled computer users and they need to have the confidence and motivation to start to use a new system. The time for training is flexible because it is decided by the users and there is no tuition. However, it lacks of teacher support and the quality of self-instruction depends on how many time people spend on it. Formal classes offer interactive setting and free discussion. People can ask questions to teachers and they can share their ideas with each other. It provide opportunities for people to ask questions to experts. However, there is little time to deal with individual problems because there are usually many people in the class. Remote learning allows participants to take all over world courses. Interactive learning environments contributes to self-direction and promotes critical thinking. There is also one-to-one training which can be designed for the individual’s needs. However, it require participants to have internet environment.
Types of releases and updates
There are four types: patches, updates, upgrades, and releases. Patches refer to fixing the known bugs and flaws to update a program. Updates is free methods which fix known bugs and make minor improvements. Upgrades usually have to be paid which fix cumulative bogs and contain novel functionalities or characteristics. Releases is to release final versions of software applications. There are two kinds of updates: manual updates and automatic updates. Manual updates require manufacturers inform every user about the new version of the application and provides installation package to every user. Users have control to update or not and have a better understanding about the new version of application. But users might have problems with updating process and might harm the system during installing. Users also might lose medium that contains the update. Automatic updates are the system can automatically check, download and install the updates. It is easier for inexperienced users and it save human resources. But users can not update if there is no internet and users might not be informed if there is a huge change of the program.
Use of system flowcharts, DFD, and structure charts
System flowcharts exhibit how different parts of system connected together and how the system will work generally. It provides a description of data processing system which involves how individual data flow through the programs but it does not show the details. Here are the symbols used in system flowchart.


Data flow diagram (DFD) usually describe the problem to be solved. It shows how data moves through the system and the data stores in the system by identifying all relevant inputs and outputs to the system, but it does not show the type of data storage and data. DFD contains process, data flow, data store and external entity. The graph shown below is the symbols used in DFD.


Structure charts show the organization of the program and mainly shows the hierarchical order of the program, which describes the functions and sub-functions of the program and how each module is connected in the program. Structure chart permits the system to divide large problem into smaller ones which help programmer to write the program.

These three types of graphs all assist people to understand the program but they have different functions and different symbols used to draw the graphs. Structure chart focuses on the hierarchical structure of the program. Data flow diagram focuses how data flow in the program and where data is stored. System flowchart explains how the program work and how each part connects to each other.
Diagrams for IA

Prototype
Prototypes are abstract representations of the system, usually focussing on one or two important parts of the system. It can used to test each part of the system before implementation and it can be used to illustrate the work of future to the client. It illustrates position of control elements to the user and give a blue picture of key algorithm of the program.
Prototype attracts the client because client gets a chance to use it and feel it. It stimulates the interactions between the client and the programmer. It provides an idea to users how the final program will be like. Besides, it also increases the speed of the development. Prototype also provides enough concepts for the investor to decide whether to give fund to the program or not in the future. It also helps to find the problems and vulnerabilities of the program. For example, scientists can make prototype of robotic cleaner, robotic security, and robotic lawnmower because it does not cost a large amount of money to produce. By making prototype, the designer can find the problems of the products so that programmers can solve the problem on time. Making prototypes sometimes can attract investors to provide more funds to these products when they see a better sales of these products. Also it can attract consumers. Thus, prototyping is really important in real-life situations.
Iteration
Iterations means the repetition of a set of instructions for a specific numbers of times or until the operation produce a desired results. It is impossible to design a system that does not have initial problems. During the design process, the designers need to think many times to reconsider the choices they have made. It is universally acknowledged that the best designer can not design a product directly, so iterative design methodology is necessary. During the procession, they might meet difficulties and inconsistencies that force designers to look back to the previous steps and modify them to make the program more desirable. Iterative development requires steady improvements of the design based on quantity of evaluation and testing. To make sure everything runs smoothly, the iteration is necessary for programmers to review, reflect, and improve again and again.
“Iterative user interface design”
Iterative steps are necessary to create a marvelous user interface. Iterative development contains steady refinement of the design based on user testing and evaluation methods. New usability problem will be found in iterative development. Comparable testing is performed to find the most usable alternative.

In the second section, a commercial development is conducted to analyze the value of iteration in a usability engineering process. This is a conceptual graph of the relation between design iterations and interface usability. Each improvement will be better than the previous one ideally. However, in the real-life situation, it is not true. Fest several iterations are expected to result major gains in usability to solve the true catastrophes. Since major problems are eliminated, later iterations have smaller progress. Finally, the program will be polished to nearly perfect one. Even though reconceptualization is followed by a long period of time, people do not know what motivates the creative insights to a better design. The reconceptualization part may not followed by increased usability as what the figure indicates. An exception is the development of an electronic white pages system by a large telephone company. The users were still unsatisfied by the program, even after 14 versions. The interface was redesigned around a menu of services displaying all options at all times, thus making them visible and presumably easier to understand. Finally, the company succeeded and received a higher satisfaction scale.
“Race Against the Machine: Andrew McAfee”
The topic focuses on whether or not all these digital technologies are affecting people’s ability to earn a living. The projection that the government creates shows that the working-age population going forward. However, the speaker does not think these projections are accurate. He thinks that the future will look like past with labor productivity growth. The digital devices have more skills in these years, like translation application, online news article, and Siri. These digital devices will not only influence knowledge work, but also it has impacts on physical worlds, like automatic car. He still believe that the digital development can bring people to a utopia future instead of dystopian future. Now it is time to overcome the limitations of individual brains. The work of innovation is becoming more open, more inclusive, more transparent, and more merit-based. With digital tools, people have more time to reduce poverty, drudgery, and misery around world. Thus, these digital tools are beneficial, which is a gift of God. However, in my opinion, technology definitely plays an important role in people’s lives which makes people’s lives more convenient in all aspects. I somehow agree with the speaker’s idea that with digital tools our lives will be better because there are still differences between human and digital tools that digital tools can not totally replaces human’s works. Instead, people will make their lives better with the help of digital tools.
In conclusion, we have learnt a lot about user documentation, releases, and even Andrew McAfee’s perspective of future. These knowledge are all important to my life and motivate me to think deeper and further. These are what I have learnt these weeks. And I am looking forward to next week’s class, except the test.
See you later!