Year 2

#Wireless Network

computer-science-header-960x320

Welcome!

Long time no see! These two weeks we continue learning networking. We learnt about the construction of networks and seven layers in networks. There are various transmission media with different features. Last week, we learnt about wireless networks and its advantages ad disadvantages. 

Construction of networks 

Standards are the common ground on which hardware and software manufacturers can depend on in order to build systems that are able to communicate with each other. If the hardware does not follow some common standards, the computer systems may not be able to interconnect together to create a network. Normally, there are two types of standardized networking protocols which are IEEE and IETF. If hardwares and softwares in a network following various standards, the hardwares and softwares will not be incompatible. For instance, if the computer system only support USB ports, while the switch only support Ethernet ports, these two hardware elements are unable to connect to each other, for having different communication standards. Without standards, communication will be extremely difficult. Interconnecting products from various vendors would be difficult. It can be indicated that standards play an important role in the construction of networks. 

Layers in networks 

OSI

Open system is a system that is based on a common model of network architecture and an accompanying suite of protocols. Open system interconnection is a most-widely used networking standard, which is established by the International Standards Organization. It is an abstract depiction and explanation of network communication process. Organizing a network design in layers makes the process less complex because any problem is broken down into distinct modules. It is clear that different layers serve different functions and use different protocols for information exchange. There are seven layers of open system interconnection: application layer, presentation layer, session layer, transport layer, network layer, data link layer, and physical layer. 

osi-model-7-layers-1024x734

Application layer serves as the window for users and application processes to access the network services. Program that opens what was sent or creates what is to be sent is application layer, like Safari. The central device is user application. Common used protocols are Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Telnet, Secure Shell (SSH), File Transfer Protocol (FTP).etc. The protocol data unit is data. Clicking on a link on an internet browser is akin to a customer dialing on their phone to order a pizza.

Presentation layer (encrypt and decrypt) formats the data to be presented to the application layer, like SMPP, NetBIOS, and PAP7. It can be viewed as the “Translator” for the network, like name recognition and data compression. It is responsible for opening, closing, and managing the connection between the two hosts. The PDU of this layer is data. Common protocols are Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF),(Tagged Image Format File (TIFF), Moving Picture Experts Group (MPEG), American Standards Code for Information Interchange [ASCII]. Encryption also tends to take place on this layer, although it can also be done on other layers like application, session, transport, or network layers. Decryption also takes place on this layer. In order for our pizza customer to place an order, she needs to speak a common language with the person taking her order.

Session layer allows session establishment between processes running on different stations, which means to synchronize and send information to ports. The session layer makes it possible to establish an open communication line to send the requested packets, like the process session establishment, maintenance, and termination. Central devices are logical ports. The PDU is data as well. Common protocols are Lightweight Directory Access Protocol (LDAP) and Remote Procedure Call (RPC), as well as NFS, SQL, and X Windows. For example, the session layer will create a connection between you and a web server that you are trying to connect. 

Transport layer ensures that messages are delivered error-free, in sequence, and with no losses or duplications, like message segmentation and message acknowledgment. The transport layer not only defines how data is sent, but also provides validation and firewall security. It is important for making sure that the data sent is accurate and reliable. Common protocols are Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Sequenced Packet Exchange (SPX), Name-Binding Protocol (NBP). Suspicious packets will not make it past a firewall. Similarly, suspicious looking pizzas will not go out for delivery. The PDU of this level is a part for TCP and datagram for UDP. 

Network layer controls the operations of the subnet, deciding which physical path the data takes. Data encapsulation means that the router encapsulates data with a header with a source and destination IP address. Fragmentation and re-assembly happens when packets are too large, the layer is responsible fore defragmenting information into sizable chunks for the Data Link Layer. The central devices are routers. The PDU is packets at this layer. Common protocols are Routing Information Protocol (RIP), Open Shortest Path First (OSPF), and Border Gateway Protocol (BGP). Logical addressing are virtual IP addresses that help packets navigate a network to reach their destination using IPv4 or IPv6 products. In the same way that the network layer determines the best way to route information, our pizza deliver person will rely on a GPS to map out a customer’s location. 

Data Link Layer provides error-free transfer of data frames from one node to another over the Physical layer. It is responsible for the physical addressing or MAC addresses. The central devices are switch, bridge, and WAP. The PDU is a frame. Common protocols are Lightweight Directory Access Protocol (LDAP) and Remote Procedure Call (RPC), as well as NFS, SQL, and X Windows. LLC sublayer frames bits and bytes and encapsulates data with a header and trailer. One of the major functions of the data link layer is to provide a physical MAC address so that requested information can find its destination.

Physical Layer is concerned with the transmission and reception of the unstructured raw bit stream over the physical medium. The physical layer consists of the physical components in a Local Area Network (LAN) such as networking hardware and Ethernet cables. Data encoding and physical medium attachment are involved in this layer. Cables or hubs might be used in physical layer. The PDU of this layer is bit. Data will be converted into signals and sent across the network through physical items.

Besides, a port is a logical connection of two end points; while a socket is one end point of connection. Ports take place in transport layer. Sockets are a ways to plug the application layer in, which are determined by an IP address and port number. Session initiation protocol is a signaling protocol used for initiating, maintaining, and terminating real-time sessions which include voice, video, and messaging applications. 

Transmission Media 

RK3U37m

There are various types of transmission media: twisted-pair, coaxial, and fiber-optic. Coaxial cable consists of two copper conductors. It is usually used in computer networks and cable TV. However, it needs less money for installation. Unshielded twisted pair cable is the most popular in LANs, which is easy to install. It is prone to electrical interference. It also has low cost of installation. The most significant is that it is relatively secure. Shielded twisted pair cable is more difficult to install than UTP, but it reduces interference. Fiber optic cable carries a beam of light to transmit data, but it is extremely expensive compared with other types of transmission medias. It is fast and needs less repeaters. It is the most secure among these medias. This type is mainly for data transmission and telephone lines.  

Here is a picture to compare the transmission medias from the aspects of speed, reliability, cost, and security.  

屏幕快照 2019-12-06 下午11.44.35

The common transmission media for wireless networks are infrared, broadcast radio, cellular radio, microwaves, and communications satellites. Infrared is a wireless transmission medium that sends signals using infrared light waves. Mobile computers and devices, such as a mouse, printer, and smart phone, can transfer of data from one device to another using infrared light waves. Broadcast radio is a wireless transmission medium that distributes radio signals through the air over long distances such as between cities, regions, and countries and short distances such as within an office or home. Bluetooth, UWB, Wi-Fi, and WiMAX communications technologies use broadcast radio signals. Cellular radio is a form of broadcast radio that is used widely for mobile communications, specifically wireless modems and cell phones. A cell phone is a telephone device that uses high-frequency radio waves to transmit voice and digital data messages. Microwaves are radio waves that provide a high-speed signal transmission, involving sending signals from one microwave station to another. A communications satellite is a space station that receives microwave signals from an earth-based station, amplifies the signals, and broadcasts the signals back over a wide area to any number of earth-based stations.

Both guided transmission media and unguided transmission media can be used to transmit data and information. For guided transmission media, signals are transmitted directly and are confined in a narrow pathway by using physical links. However, for unguided transmission media, no physical medium is required for the transmission of electromagnetic signals.

Wireless Network 

oie_rnLj3DiE4hqJ

All wireless devices communicate and exchange data through radio transmissions, without any physical connection or cabling. Wireless systems and devices include cell phones, cordless computer keyboards, local area networks, mouse devices, personal network, remote controls, wireless microphones and so on. These are the hardware components of wireless network which are wireless node (PC, laptop, smart phone, printer …), wireless router, wireless network adapter, wireless antennas, wireless repeater, radio waves or ethernet cable, switch or hub, and modem. For software, wireless network involves network operating system with drivers, protocol stack, and applications like browser or file explorer. DHCP automatically assigns IP dress. Firewall software controls data comes in and goes out. SSID is used to differentiate one WLAN from another. NIC drivers translate and operate the hardware of the card. Operating system manages system resources, all protocols, hardware and applications. Security software accesses control, anti-spyware, intrusion detection system, IPC and so on. WAP is a set of protocols for accessing information over a mobile wireless network. Web browser is an application software to find, retrieve and display content on the WWW. 

NOS is more expensive to obtain compared with OS. NOS is installed on network servers, which can also be found in a router or hardware firewall. Both OS and NOS are system softwares that manage a system’s resources. They can both manage access and permission on a system. 

There are various standards for wireless networks: 1G, 2G, 3G, 4G, and even 5G. 1G is analog and 2G is digital. 3G provides amazing internet browsing speed, with 500-700 Kbps. 4G is for all IP technology. The main technology for 4G are WiMAX and LTE. Speeds for 4G are increased to lighting fast to keep up with data access demand used by various services. LTE is a standard for wireless broadband communication for mobile devices and data terminals. It increases the capacity and speed using a different radio interface together with core network improvements. WiMAX equals to worldwide interoperability for microwave access which is designed for large distance high speed internet access. It enables fast data transfer rate for a large quantity of users. It is much cheater compared with LTE. 

Wireless sensor networks are used to measure data and parameters, like temperature, sound, pressure and so on. It can also be used for environmental sampling, security and surveillance, health-care monitoring, and underwater measurements. In WSN, sensors are located at specific spots and connected to a wireless network to perform distributed sensing tasks. It needs many nodes to communicate and promise coordination and cooperation. For example, it enables technologies like bluetooth, ZigBee and other middleware. It involves one or more than one data sinks. Necessary resources are involved in each system to perform necessary tasks, without requiring to communicate with central system even time. It is said that network has to be robustly and fault-tolerant between nodes. However, it needs large amount of devices and softwares. More bandwidth or resources are needed for back-up system. Security issues are still a problem for WSN. 

Advantages and Disadvantages of Wireless Networks 

The advantages of networks are using unlicensed radio spectrum which reduce license fees. It is easy to setup without cabling which saves space, time and cost. Wireless network is more flexible and convenient. It has global standard like 802.1 ln. Furthermore, there are many varieties of components that are available and prices are cheap. For disadvantages, wireless communication gives relatively low speed. It also gives higher error rates. It might be affected by weather which is not liable. Wireless communication offers weak security, protection, and privacy. Many information might be leaked through internet. Since some old devices do not have wireless connection, compatibility issues might occur. 

Indirectly, because of wireless network, computers, smartphones and iPads rise in people’s lives. These might cause health issue, like near-sighted since electronic devices are bad for health and neck diseases because people always put their head down to see the screen. Social impacts might also be one consideration. Because of wireless networks, there are online shopping which saves people’s time and even money. It makes people’s life more convenient. It also decrease unemployment rate because of the rise of online shopping. 

Here are pictures of in-class activities related with this topic. These activities are interesting and we can learn about other’s thoughts and perspectives from these activities since that various people have various angles when thinking about a thing or a topic. 

IMG_2721IMG_2720

In conclusion, we have learnt a lot during these two weeks. I can say that I am more professional in network, especially wireless network after these weeks’ learning. I am looking forward to next week’s classes. See you next week! Hope you have a great weekend!

Year 2

#Computer Network Protocols

How to Increase Productivity Without Increasing Stress_Header Image-1

Welcome to my blogpost! Last week, we learnt about network and various types of networks. This week we continue exploring in the world of network. We learnt about function of protocol and transmission speed. We even simulated a network system on a website. 

Terms

The term data integrity refers to the accuracy and consistency of data which means that data has not been changed and data has not been destroyed deliberately or accidentally during data transmission. Data integrity is necessary when sending data through a network. For example, a user could accidentally try to enter a phone number into a date field. If the system enforces data integrity, it will prevent the user from making these mistakes.

What-is-ALCOA-and-Why-Is-It-Important-to-Validation-and-Data-Integrity

Error checking and error correction can be employed to achieve data integrity. Error checking are used to evaluate your ability to identify errors in sets of data or the correctness of information. For instance, the receivers will send acknowledgement of packets which they receive to acknowledge the senders which help senders do error checking. Error correction is the ability to correct error. When senders receive the acknowledgement and found there are errors, the ability to resend the packets in accurate form to receivers is error correction. Flow control is employed in data communications to manage the flow of data among two different network devices since network infrastructures have limited memory and bandwidth. Transport layer in OSI is responsible for the reliability of a given link through flow control by taking advantage of its protocols and facing situations with an overload of resources. For example, flow control functions when there are thousands of people submit application at the same time and there are always some people could not submit successfully. To be mentioned, throughput is actual transfer rate and it is as fast as the slowest link. Goodput is the transfer rate of usable data. Congestion management in data networking is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include degraded performance, packet loss or the blocking of new connections. For example, when students submit applications all at the same time, there will be congestion in networking. One of congestion is bottleneck. A bottleneck is a point of congestion in a production system (such as an assembly line or a computer network) that occurs when workloads arrive too quickly for the production process to handle. A deadlock is a situation in which two computer programs sharing the same resource are effectively preventing each other from accessing the resource, resulting in both programs ceasing to function, which can be caused by lost or corrupt signals. The persistence timer is used to resolve the situation. For example, when two computers send message to each other, but both did not send messages, deadlock occurred in this situation.

c-users-pranaya-pictures-sql-server-deadlock-exam

Source integrity is the identity of sender has been validated. For example, when two computer send information to each other, they should know identities of each other. 

TCP/IP and packet switching 

TCP/ IP describes all the functions that happen at each layer of protocols within the TCP suite. It can be structured into network access, internet, transport, and application. Packet switching is network communication method that creates and transmits small units of data, through a network, independently of the whole message. First, each original file is divided into packets before transmission and each packet might have various routes to the final destination. Data is split into chunks. Each packet has its own address. If there are many chunks, the order should be noted. packets are sent into the network, from router to router and they can choose different paths. When packets arrive, they are re-ordered. Acknowledgement would be sent to the sender by the recipient to indicate that the message has been received. If there is no confirmation message, sender will transmit the data again. 

vpn_guides_change_ip_address_banner

Network protocols & functions & importance

Protocol is international rules that ensure the transfer of data between systems. A protocol that is standard for a specific type of transfer is called standard protocol. Without predefined rules which is network protocols, communication could not be processed. Thus, network protocols are important in network system and it has various functions. Network protocols should have an identified sender, an identified receiver, a consistent communication method. Receiver and sender should use the same language and same grammar. They need to require the speed and the time of delivery for both receiver and sender. Acknowledgment should be sent. Computer network protocols standardize message format, type of error checking, error detection and correction mechanism, data compression means and algorithms, and recovery and resending of data. It also guarantee data integrity, source integrity, flow control, congestion management, deadlock, error checking, and error correction. Thus, network protocols set rules for basic networking functions which plays a significant role networking system. 

Factors influenced data transmission speed

There are various factors that influence data transmission speed. This blog will introduce several factors. The size of bandwidth of the network will influence the data transmission speed. To be mentioned, bandwidth refers to the maximum rate of data transmission. For example, larger bandwidth means faster speed of data transmission. Number of users will influence the speed. More users connected to the network will slow down the speed. For example, data transmission speed must be faster when there are only two users compared with thousands of users. Read speed of storage devices will influence the speed as well. With faster read speed of storage, it will save time for reading storage devices. For example, unlimited reading speed must be faster than 64 bps. The number of connected devices will affect the speed. More devices will have slower speed. For example, a more complex computer system will have slower speed than simpler computer system with less connected devices. The size of the files transferred is also a factor because larger file would spend more time. For example, when people sending 1GB file will use more time than sending 100MB file. 

Previous assignments: 

A VLAN (virtual LAN) is a subnetwork which can group together collections of devices on separate physical local area networks. As it is mentioned before, a LAN is a group of computers and devices that share a communications line or wireless link to a server within the same geographical area. VLANs are often set up by larger businesses to re-partition devices for better traffic management. In a peer-to-peer (P2P) network, the “peers” are computer systems which are connected to each other via the Internet. Files can be shared directly between systems on the network without the need of a central server. In other words, each computer on a P2P network becomes a file server as well as a client. Storage Area Network (SAN) is a network that provides access to storage. Usually, they have their own storage devices that does not access to wider network. However, SAN acts like a device to the operating system.

LAN vs. VLAN

LAN stands for Local Area Network is a group of network devices which allow the communication between connected devices. On the other hand VLAN stands for Virtual Local Area Network which is used to enhance the performance of LANs (Local Area Networks).The main difference between LAN (Local Area Network) and VLAN (Virtual Local Area Network) is that LAN work on single broadcast domain; on the other hand, VLAN works on multiple broadcast domain. LAN costs more than VLAN. LAN’s latency is higher than VLAN’s which means LAN is slower than VLAN. LAN uses hubs, routers, and switches; while VLAN utilizes bridges and switches. In LAN, packet is advertised to each device. In VLAN, packet is sent to specific broadcast domain. Compared with VLAN, LAN is less efficient. These are the differences between local area network and virtual local area network, which are shown above.

IEEE 802.11 is part of the IEEE 802 set of LAN protocols, and specifies the set of media access control and physical layer protocols for implementing wireless local area network (WLAN) computer communication in various frequencies, including but not limited to 2.4 GHz, 5 GHz, and 60 GHz frequency bands.They are the world’s most widely used wireless computer networking standards, used in most home and office networks to allow laptops, printers, and smartphones to talk to each other and access the Internet without connecting wires.

Internet Simulator Activity 

This week we had done a really fun activity during the class. This activity is related with internet simulation. This activity instructs us to simulate how internet functions which helps me to have a better understanding of network and internet. This activity tells me that the sender and receiver should have same encode type (binary, decimal…) and have same bits. Otherwise, they will not get the same message. The speed will influenced by the bandwidth and the speed of reading storages. This activity use real-life examples teach me the knowledge related with network. 

Internet Simu

1-1

This activity also shows how computer get other’s IP address from the router. The user should first ask router1 about the IP address of “hahalorena”. Then, the router1 will send back the IP address back to the user. Then the user can send message to “hahalorena” with the IP address he or she gets from the router1.

5-1

This picture shows how users send messages to each other. This activity is really useful and funny!

5.1-2.png

In conclusion, above are things we have learnt during this week. It can be seen from this blog that the main topic is network protocols, network protocol’s functions, factors influenced data transmission speed, and various terminologies. I am looking forward to next week class! 

See you next time !

Year 2

Network Fundamentals

Illustrations design concept teamwork development web design and programming of mobile. Small people are working on creating a website. Vector illustrate.

Welcome!

It is another week for computer science. We starts a new chapter of networking. From this week’s learning, I have a better understanding of computer network and its entities. Here are the content we have learnt this week. 

Computer Network 

It is known to us all that there are four components in computing system which are hardware, software, peripheral devices, and human resources. Computer network is a collection of computing devices connected in order to communicate and share resources. Connections between computing devices can be either using wires or wireless, or using radio waves or infrared waves. Computer allows several roles in computer running smoothly in a network world which are client, server, router, and firewall. 

Network is like a central nerve system. Router has a small computer inside which manages time and information to various computing devices. A switch shows the direction to each network. The fastest switch is called gigabyte. If more PCs are wanted to be connected, an additional switch is needed but not another router. It is like human can not have two brains. The router can recognize the new components. Switch can replace hub because switch is faster. A client receives data via the network. A server may be a program or a computer that offers services commanded by clients. A firewall is a hardware or software network infrastructure that controls data flow access among network entities for protection. Node is any devices on a network. Bandwidth can measure the speed of data transferred in a network.

Virtual Network Activity

In order to have a better understanding of how a network works, our teacher asks us to build a virtual network through software applications. We did the step-by-step network setup. Having computers is the first step of setting a network. Computers can have printers which are connected by parallel stable. A cable will be needed if there are only two computers. However, with more computers, hub or switches will be needed. If a LAN is desired, the hub should be connected to a router and router is connected to Internet. To be mentioned, a web cache is a server that holds commonly used Internet pages and save the network going to the Internet to retrieve a file every time an individual user requests one. A print server is to manages all printing needs of the network. When a print server is used, hub will be replaced by a switch because hub will cause a “bottleneck”, leading to a slower speed. A file server will be required because it allows users to access to their own files from any computer. Besides, users can also have their own secure space. To increase the security, the computer can copy the files to be the back-up on tape. Multimedia server can hold many CDs at once so that users can access to the same information without an extra physical disk on their own computers. Another switch can be installed when more computers are involved in the network system. Here are the screenshots of each step explained above. 

This slideshow requires JavaScript.

DNS

The Domain Name System (DNS) is like the phonebook of the Internet. Humans access information online through domain names, like nytimes.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.

The illustration below describes how the domain name system works. This starts with the client searches an IP address. A user types a URL into a web browser and the query is received by a DNS resolver. DNS resolver converts it into IP address. Browser has the IP address and sends the command to the web server. Web server then returns HTML data stream to the browser. Finally, the client can read the information on the URL typed. 

how-route-53-routes-traffic.8d313c7da075c3c7303aaef32e89b5d0b7885e7c

Different types of networks 

There are different types of networks used in our daily life. However, most of people, included me, did not know about these before teaching. There are seven types: LAN, WAN, WLAN, WPAN, SAN, VLAN, and VPN.

Local Area Network (LAN) is a network that connects a relatively small number of machines/ nodes in a relatively close geographical area, like small buildings, office tower, and school. The most commonly used is client-server means. People can use LAN to share information and resources. Wireless Local Area Network (WLAN) is a network links two or more devices through wireless connection.

Wide Area Network (WAN) is a network that connects local-area networks over a potentially large geographic distance. For instance, the network connects national and international businessmen. It often utilizes leased communication lines.

Lanwan

Wireless Personal Area Network (WPAN) is a computer network used for data transmission amongst devices such as computers, mobile phones, tablet, headphones etc. Air drop is an ad-hoc service, which enables the transfer of files among supported Macintosh computers and iOS devices over Wi-Fi and Bluetooth, without using mail or a mass storage device.

Internet is wide area network that spans the planet. In other words, internet is the network of networks. Intranet is a private network within an organization which may offer printer sharing, file sharing, communication, private websites etc. While, extranet is an intranet that can be partially accessed by authorized outside users, enabling businesses to exchange information over the internet in a secure way.

entreprise-images-extranet.png

A VLAN (virtual LAN) is a subnetwork which can group together collections of devices on separate physical local area networks. As it is mentioned before, a LAN is a group of computers and devices that share a communications line or wireless link to a server within the same geographical area. VLANs are often set up by larger businesses to re-partition devices for better traffic management.

In a peer-to-peer (P2P) network, the “peers” are computer systems which are connected to each other via the Internet. Files can be shared directly between systems on the network without the need of a central server. In other words, each computer on a P2P network becomes a file server as well as a client.

Storage Area Network (SAN) is a network that provides access to storage. Usually, they have their own storage devices that does not access to wider network. However, SAN acts like a device to the operating system.

A virtual private network (VPN) extends a private network across a public network, and enables users to send and receive data across shared or public networks as if their computing devices were connected to the private network directly. Applications running on a computing device, like a laptop, desktop, smartphone, across a VPN may therefore benefit from the functionality, security, and management of the private network.

LAN vs. VLAN

LAN stands for Local Area Network is a group of network devices which allow the communication between connected devices. On the other hand VLAN stands for Virtual Local Area Network which is used to enhance the performance of LANs (Local Area Networks).The main difference between LAN (Local Area Network) and VLAN (Virtual Local Area Network) is that LAN work on single broadcast domain; on the other hand, VLAN works on multiple broadcast domain. LAN costs more than VLAN. LAN’s latency is higher than VLAN’s which means LAN is slower than VLAN. LAN uses hubs, routers, and switches; while VLAN utilizes bridges and switches. In LAN, packet is advertised to each device. In VLAN, packet is sent to specific broadcast domain. Compared with VLAN, LAN is less efficient. These are the differences between local area network and virtual local area network, which are shown above. 

Network topologies 

We have learnt three types of network topologies which are ring topology, star topology, and bus topology. Ring topology connects all devices in a closed loop on which messages travel in one direction. Each computer is like a repeater and it boosts signal before delivering to the next computer. However the problem is that if one computer fails, the entire network system will have problems. Star topology centers around a hub or switch, collecting and distributing the flow of data in the network, to which all others are connected and through which all messages are sent. The more computers connected to the switch, the less performed level of the switch. Bus topology nodes are connected to a single communication line, which is called backbone or trunk, that carries messages in both directions. If the bus line breaks, all communication and network will be broken. Besides, because it does not have a central point, it is difficult to find the particular issues. 

Computer-and-networks-Common-network-topologies

In conclusion, these are what we have studies this passing week. Through this blogpost, I realized that we have studies a lot this week and I have a better understanding of network and different types of network. I am the first time to contact to these knowledge. I hope you will enjoy this blog. I am looking forward to the next week lessons!

See you next time! 

Year 2

User Documentation

1*7b5INz5MLUF-yn9GKwq5Tg

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

1*LTZX5zPJIhsXVCgq8VWovA

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 

jobless-claim-003-512

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. 

System flowchartsystem 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. 

18-context-dfd-exampledfd-symbols-and-notation

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. 

Figure Systems Analysis and Design in a Changing World, 5th Edition.

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 

1

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. 

屏幕快照 2019-11-09 下午10.25.32

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! 

Year 2

Software

与颜色颜色充分的乐趣样式传染媒介例证的计算机科学工程的教育乱画艺术-133081878

Welcome! 

Long time no see! As the deadlines for early applications is coming, we become more and more busy and there are more and more homework and projects. We have learnt something close to our daily lives these weeks — softwares: application software and system software. 

Application Software 

Application software offers users a way to accomplish non-computer tasks, but to help users to accomplish specific tasks such as writing a letter and processing order. There are three types of application software: generic software, special purpose software, and bespoke software. Generic software can be used for many daily-life tasks: word processors, spreadsheet, and presentation software. Special software is designed for only one specific task: web browsers, calculators, and calendar program. Bespoke software is tailor made software which is specifically designed for a particular user and purpose: software for military and software for hospitals. 

048a76a3-0506-4e85-9863-7e51ecafc364

Word Processor is a generic software that is used for creating documents, whose function includes editing, composition, formatting, and printing of documents. The real life situation is writing IAs for economics. I can edit, format, and even make tables when writing IAs with word processor. 

Spreadsheet is a generic software to organize and analyze data. Spreadsheet can deal with arithmetic data by entering, processing, and presenting. In a spreadsheet, data is represented through rows and columns which can be manipulated and done with calculations. When people record expenditure of every month or every year, they can use spreadsheet to record data, to calculate total expenditure of each month or year, and even to calculate the difference between budget and actual expenditure. 

Database management system (DBMS) is a software application which manages data, saves data, and offers an interface between users and a database, which is an organized data with rows and columns. Unlike spreadsheet, various users can use DBMS. For example, DBMS of Oracle assist users to manage data. 

Email is a software allowing a digital messaged sent from one author to one or more recipients, which is used to access and manage a user’s emails. For example, whenever I contact with my CCC counselor, I need to send messages and documents to her in emails. ICloud is an instance of email that help people communicate with each other efficiently.  

Web browser is a software employed to access, retrieve, and process content on World Wide Web, which utilizes URI to connect appropriate web servers and request desired information. Then web servers send the information back to the user through web browser and web browser displays the information to the user. In real life situation, students will use Baidu or Google to search essays and passages for studying or curiosity. 

Computer-aided design (CAD) helps engineers to create, modify, analyze, and optimize a design which increases the creativity of the designer and the quality of the final design. Besides, engineers can also use CAD to create prototype to inspect all angles of a design. In real life situation, architecture designers can use AutoCAD to create the prototype of a new building with full of imagination and precise calculations. 

Graphic processing software permits users to manipulate visual images on a computer, by moving, erasing, cropping and so on. For instance, Photoshop and Adobe is the most common graphic processing softwares in nowadays life. Models and actors can use it to edit their pictures to make it more beautiful. 

Mail Merge

It is a special function that I have learnt these weeks. Mail merge consists in combining mail and letters and pre-addressed envelopes or mailing labels for mass mailings from a form letter. Mail merge is usually employed when a letter or email contains fixed contexts and variables. It is really powerful when writing a letter to many people at the same time. Batch processing is performing of an industrial process on material in batches of a limited quantity or number. According to the function of mail merge, it is obvious to know that mail merge is a means of batch processing. For example, it can be used when universities send application results to applicants. On the class, Jamie and I have done a mail merge practice, since I do not have Microsoft on my computer.

mail-merge1mail-merge2

Operating system 

Operating system (OS) is a series of software that controls the hardware resources of the computer and provides services for computer programs, which like an intermediary between software application and computer software. It allocates where an application is stored on the hard disk, calculates the RAM storage is needed for an application to run, and copy the application to RAM. However, memory leak happens when an application is used on memory places but operating system does not deallocate the last application used on the same memory place. The common function of operating systems are provides a user interface, memory management, resource monitoring and multi-tasking, peripheral management, disk access and data management, security management, and networking management. 

main-qimg-a6434a6061dce0501ae0ac2c7d2e7286

Features of Application Software

To increase the usability, GUI components are offered in application softwares: tool bars, menus, dialogue boxes, and GUI component. These GUI components make the learning process smoother. Toolbars are the place for menus, icons, buttons or other input, output elements. Menus are the commands that users can choose to perform various tasks. Dialogue boxes are used for communicating with users, providing instructions for users to follow, or providing options for users to select. Pointers are for users to find which place the user points at. Icons are the common images which users can easily understand even without teaching and these icons and these icons mark the function: cross means to close the documents or websites. A window is a basic unit that an application sets up in the GUI to deal with data. Application and data are integrated in the window. There are four types of user interfaces: Graphical Users Interfaces (GUI) have menus and icons; users need to type codes in Command Lind Interfaces (CLI); Natural Language Interface (NLI) have users speak to the interface; and Menu Based Interface (MBI) gives users options to choose. GUI is easier for users to use compared with CLI because users do not need to remember commands, icons can be used to direct users, and commands are grouped in menus and toolbars. However, there are heavier work for programmers and it requires a graphical monitor and a pointing device to use. Besides, it needs more storage compared with CLI. CLI programmers have less work. CLI needs less memory to employ and it does not need a graphical monitor. Compared with GUI, it is more suitable for experiences users to use because it is time-consuming to move the pointer and click icons rather than typing the codes. But the biggest problem for normal people is that there are specific commands need to remember when using CLI.

User Interface 

Memory Management: Operating system can manage how memory is used by applications to make sure that memory interference of one application with other applications. If an application interferes with another application, the latter one may stop functioning or its data may be overwritten which will cause data loss.Each location of memory can be read, modified and written by operating system. Memory management keeps tracks of primary memory, like what part of it are in use by whom, what part are not in use. In multiprogramming, the OS decides which process will get memory when and how much. It allocates the memory when a process requests it to do so. It deallocates the memory when a process no longer needs it or has been terminated.

Security management: The operating system uses password protection to protect user data and similar other techniques. It also prevents unauthorized access to programs and user data.

Peripheral management: All hardware components of computer system that reside outside the CPU are peripheral devices, like mouse, keyboard, monitors, printers and so on. The operating system aims to communicate directly with the peripheral devices and hardware by providing an interface between hardware devices and applications. 

Resource Monitoring and Multi-Tasking: An application takes resources when running on a computer system. The operating system is responsible for allocating the resources so that applications can run efficiently. Various application may run on a computer system at the same time. However, most computer systems have only one CPU which can only perform a single task. Multi-Tasking is that applications share the CPU time to accomplish their goals. 

Networking Management: It manages connections and interactions with networks of other computer systems to share resources. Operating system provides an intermediary between applications and networks which allows applications to connect with networks directly. 

Disk access and data management: Disk access can access to data stored in memory or disk. It needs to track these files and prevent overwriting another applications’ files. It is also responsible for transferring data from the disk files to primary memory and vice versa. 

Computer-Operating-System

In conclusion, we have learnt a lot of stuff related with operating system and application software. These knowledge are closer to our lives compared with CPU. I am really looking forward to the next week classes and network topic!

Hope you have a marvelous weekends!

Computer Science, Year 2

Data Migration, Data Loss & Change Management

Hello~ Welcome~

istockphoto-1013374106-1024x1024

Long time no see! 

How time flies! It already the last year of my high school. We have learnt new things during these three weeks. These weeks we focus on computer science topics related with business, including planning a new system, business merger, legacy system, various hosts, data migration, and data loss. These topics are closer to people’s lived compared what we have learnt before this semester. 

Planning a new system 

A new system is created usually to replace a system that is inefficient, no longer suitable for its original usage, redundant, or out-dated. The new system should increase productivity, improve quality of output, be cost-efficiency, and reduce errors of the original system. A computer system includes data, hardware, software, people using it, and immediate environment. Planning a new system is a process of considering various details and organizing the activities to achieve desired goal. Potential issues should be considered during planning: 1. Lack of guiding and business strategies 2. Lack of stakeholders and end-user anticipation 3. Lack of training 4. Lack of design of jobs and tasks… The function of a system should be aware before planning a system. System analysts can assist to find what need to be improved through observation which could be done through survey, interviews, and direct observation. The questions can be correlated with ethical issues, training, software, hardware, and existing infrastructure. Feasibility report can help analysts evaluate and analyze a proposed program, through technical, economical, legal, operational, and schedule aspects.   

TELOS

Change management 

Change management, a structured approach, is to shift stakeholders and organizations from present state to desired state which focuses on the wider impacts on people. The goal of change management is to minimize negative effects on individuals and maximize benefits. 

The reason why people need for change management is in case that without a proper plan the change from present system to a new system will not be successful, or even have negative impacts on stakeholders and organizations. Change management involves devising an effective training system, providing personal counselor, monitoring the change and the process, and reducing counter resistance of employees. These are the factors need to be considered: time frame, testing, training, how new system will be implemented, and determination of change-over. 

Types of change-over (a graph below to help explain the terms): 

– direct change-over: 

Pros — less time and effort; new system is available immediately 

Cons — no back-up system 

– parallel change-over: 

Pros — old system runs as back-up; do comparison of two systems

Cons — cost-inefficiency

– pilot change-over

Pros — all feature can be completely experimented; small part suffer if failed; it is much easier for pilot staff to train 

Cons — no back-up system 

– phased change-over:

Pros — allow users to get used to new system; gradually training 

Cons — no back-up system 

change-over

Take nuclear system as an example, the nuclear system has a high automated control system and the company want to install a new system. The best choice of changeover is parallel changeover since it has back-up system, if the new system failed. However, other changeovers do not have back-up system. However, nuclear system is an industry required highly control. It is not controlled properly, the damage to the environment and whole human is huge. So parallel system is the best choice since it is the only has back-up system which reduces the damage to environment and human, if the new system is failed. 

Legacy system & business merger 

Legacy system is computer system, method, hardware, program, or technology that is old or may not be available to purchase any more. However some of them play an important role in many companies.  Maintenance of legacy system might lead to various problems. Legacy system is hard to change, expensive to maintain, and unreliable. Maintaining legacy systems but not updating might lead to compatibility and security issues. However, if updates, documents might loss. It is hard for companies to hard employees who are familiar with old language or legacy system. For example, S390 of IBM is a legacy system. 

Merger means that a combination of two things, usually companies, mainly due to reducing costs. However, the companies need to make sure that all subsystems are compatible. For example, 饿了么 mergers with 百度外卖.

business merger

Four Strategies for Integration & Issues in Business Merger 

Here are four possible strategies for integration: 

  1. Keep both: keep both information systems and develop them to the same functions, but it is cost-inefficient. 
  2. Replace both information systems with a totally new system. It needs higher initial cost. 
  3. Choose the better information system from each company and combine them, but it adds the difficulty for employees. 
  4. Select one information system randomly which might lead to policy problems. 

Issues in business merger: 

  • Different languages cause incompatibility 
  • Different software environments 
  • Unit system 
  • Data system 

SaaS vs. on-premises 

There are two kinds of services which are remotely host and locally host. Locally host is server set up in current machine, while remotely host is server established in remote area. SaaS is short for Software as a Service, which is also known as “On-demand Software”. It is a contemporary deliver method that allows software and data to be hosted and managed centrally on a remote data center. On-premise software is installed and runs on computers on the premises of the person or organization using the software, rather than at a remote facility such as a server farm or cloud, like Office 365. On-premises software and SaaS have both advantages and disadvantages, such as Sharepoint 2013. SaaS has lower costs. It needs less technological knowledge. However, stakeholders can have full control over on-premises software. It has higher security and customization. 

Assignment

Data migration 

Data migration means transfer of data between different formats, storage types, and computer system. It usually takes place in an automatic manner to achieve efficient use of human resources. It often occurs when an organization changes, updates, or merges its information system. There are three steps involving in data migration: planning, migration, and validation. Planning is to find out the needs of migration from identifying future environment to documentation of migration. Migration is a long process, from communicate with migration plan, install necessary software and hardware, to the final step of data migration. Validation is to check whether the state of data after migration is the same with the one before migration. 

Data validation vs. data verification

Data validation is more focus on evaluation which means that this process is to check whether data input follows appropriate specifications and it is within endurable limits. For example, when the program ask for age, it should be required to type in integer from 0 to 120. Data verification more lies on checking. The process is to check whether the data input after migration is the same as the original data source. 

There are issues of data migration when implementing a new system. When a British company and an American company merges, a new system is required. However, the unit is different. In American, people uses feet as the standard unit. In England, people uses inch as the standard unit. When the companies merge, due to different units, it needs more time and efforts to migrate data. When a company records data by weeks; while the other company records data by months. When these two companies merge, the different way of recordings, an immediate step is needed to convert one type to another, such as changing by weeks to by months. However, there might be errors in calculations and converting. Data migration to a new system can lead to incomplete data transfer which means that the organization will lose data during the transfer. Data incompatibility is a most common problem which means that the data format is incompatible in the new system. The data formats of the original system need to be updated to a new format which is compatible with the new system. 

Data Loss & Examples

Data loss refers to an error condition where data is lost or destroyed due to various reasons from human to nature, like system failure, storage negligence, wrong processing, and defect hard-drives. The cost of data loss depends on how costly it may be to go on without the data, recreate the data, and notify users of the data. 

1. Building fires: 

E.g.  Big building fire in Kyoto Animation building destroyed valuable manuscripts.

Destruction of hardware (storage, irreversible data loss if no backup, increased cost to rebuild buildings and purchase new equipment, lost of consumer loyalty, generation of low profits during reinstallation periods, cost of time to fix the situation

Backup data in a device which is stored in different areas, better fire protection system with fireproof equipment used for storage, portable storage devices

2. Computer viruses: 

E.g. CIH, Trojan, Hack, Happy 99

Leak, steal, or permanent deletion/loss of data, lost of customer loyalty and increased costs to repair systems and recreate data, cost of time to reinforce the safety of the system.

A strong firewall and virus killing software that prevents virus hacking, a backup in another device which is hard to hack

3.Data corruption: Refers to error/deterioration of data due to software or hardware issues

E.g. Running error in software

Loss of essential information that is non-rewritable, causes panic in the customers which causes loss of consumer loyalty. Higher costs to repair software and hardware, new data system needs to be developed and invested in.

A constant check on the software and hardware devices to make sure that they are normally functioning, if not immediately repair. Apologize to the customers and promise to them that similar situations would not happen. 

4.Firmware corruption:

Firmware is a specific class of computer software that provides the low-level control for the device’s specific hardware. Firmware corruption would cause users to be unable to access certain data or control the hard drive.

A periodical check is done so that the machinery is in the right condition. Replace old devices frequently, and provide a backup in other areas , use cloud SaaS as backup.

5.Natural disasters: 

E.g. Tornados, Tsunamis, Earthquakes

destruction of hardware, irreversible data loss if no back-up system, costs to repair;

natural disasters can’t be predicted and inevitable, store in SaaS (iCloud)

6.Physical damage of the storage devices: 

E.g. Breaking the computer when it falls on the ground

loss of data, costs to purchase new storage devices;

store data in portable storage devices  

7.Power failure: 

E.g. Tripped on the power cable

loss documents that have not been saved, no access to documents saved on the computer without back-up; 

store all documents in SaaS

8.Accidental deletion

The data will not be found when you need it. If your customer knows that you deleted your own data, they will think you are untrustworthy. which may cause potential decrease of customer loyalty

To prevent this, a “recent delete” function is recommended, which can temporarily held the deleted data, and you can retrieve it whenever you want before it is being automatically deleted. Also, you need to increase your intelligence level to a relatively high degree, so that the possibility of such situation will decrease.

9.Administrative error

Data lost will definitely happen in such condition, because of the information obstacle. Since it is possible for the administration department not aware of the real-time changed happening in the execution and operation side. Such error are not negligible because this condition may happen again, for an administrative error actually implies that there are significant difficult issue in such layer. However, because of it is not an urgent drawback, you may evaluate the pros and cons and then began to make a change.

To prevent this, ensure that the administration department and the execution department are communicated efficiently and effectively. This can be done by sending checking messages or instructions to test the effectiveness of information communication. Also, reduce the paper work is rather effective in order to prevent administrative error, for it is somewhat redundant and useless. Apart from that, one can install a special technological consultant in the administration department, that might be rather useful. 

10.Poor data storage organization system

In this case, data may not be actually lost, but it is vary hard to be find. If the naming system is not unified and the folders are not well interlocked, it may take ages to track down the specific documentation you need, which will drastically decrease your efficiency and increase cost. Also, you may create different files with the same name, and it can be accidentally overwrites, and that can really trigger data loss, and you may not be able to realize the reason of the data loss.

To prevent this, organize the file name sophistically and longitudinally. Also the administrator should always be the same person or the same group of people who are clear about the naming rule and inner logic between the folders.

11.closing the system without saving the file

Only the newly edited data will be lost, but it is still harmful to your reputation and efficiency. You need to waste a lot of time to redo something you already done recently, which may result in a lower quality of work and strong desire of procrastination.

To prevent this, you need to get use to the saving procedure and the key combination of quick saving which is common + s for mac or MacBook, and control + s for all the windows system computers. This habit can not only help you to save the files, but also increase your efficiency by reducing the time of clicking the save button. Also you may implement a spontaneous online storage system, which will continuously store your data on a remote server. Similarly, the original softwares on mac OS X such as pages numbers and keynotes are all capable with auto saving function in real time, however, the Microsoft softwares such as words, excel and powerpoint do not have this kind of function. Thus we recommend you use apple product to have a safer documentation environment.

12.continues use after signs of failure

The failure sighs, are deigned to warn the user that the system have the risk of crashing. However, when neglect and continue using, additional damage to the system may appears, and that can not only make the file your are currently editing damaged, but also make your whole system collapse. If this happens, the time lost and money lost and information lost will be inevitably large, because the vandalism may go beyond the information level, and harm the software and operating system aspect.

To prevent this, just stop using the system, and find the special technological consultant to help you solve the problem and minimize the negative impact. Apart from this, a strict training lecture should be given to the operators thus it might prevent them to do such thing. Lastly, a special rechecking program should be installed so that when the operator is insisting of the operation, it will let them reexamine their malicious behavior.

13.outsiders wanting to delete, alter or steal the information

The alternation behavior by the outsiders may result in unawareness of changing of important documents, which may endanger the procedure and schedule of the business. Because of data leaking, your market share and business advantage will decrease, and the customer loyalty will be reduced.

To prevent this, the company should install fire walls and upgrade their log in system. They can also hire white hats, people who hacks into a computer network in order to test or evaluate its security systems, to authenticate the security validity before the fire wall is hacked by the despicable outsider. Also, one might store their backup files in a safer and harder to get access place in order to prevent possible stealings.

The method to prevent data loss is to store all data and information in both portable storage devices and SaaS. People should work with appropriate steps, save documents before close them. People should be aware of their actions when inputing data. 

backup-1

In conclusion, these weeks are wonderful. We have learnt a lot things that connected computer science with business which are closer to our lives. It is really interesting to learn about business perspective of computer science. I am looking forward to the next week! I hope we all have a great weekend! 

Computer Science, Year 1

#Week 14 Polymorphism, Associations, and UML Class Diagram

polymorphism

Welcome!

It has been long time we have met again! Time flies, it is nearly to the end of this semester. We are going to have our final exams next week. Recently, we have learnt about inheritance, UML class diagram, polymorphism, and associations. In order to be familiar with the knowledge, we have practiced after classes. Whatever, these weeks are enjoyable. 

Process of Decomposition

Decomposition is a significant step in Computer Science. When facing a problem, decomposing the problem into small pieces and comprehending the relationships between these pieces are of importance in attaining efficient solution. Objects assist people to describe these pieces and find the connections between them. Decomposition can reduce the complexity of a problem which makes it easier for people to deal with problem. People can continue decomposing a problem until objects are stripped down to small-and-easy pieces. 

As a question illustrated in the textbook, how a calendar object could be decomposed into several related objects. It is known to us all that there are years, months, dates, and hours in a calendar. So calendar object can be decomposed into year, month, day, and hour. The UML Class diagram is shown below. 

process of decomposition example

List four OOP fundamentals (APIE)

OOP, abbreviated to object-oriented programming, is a programming paradigm based on concept of “objects”, which can contain data, in the form of fields, and code, in the form of procedures. Class, a template, is used to create specific fields. When creating an object, there are three steps which are declaration, instantiation, initialization. These three terms are easily to be confused. Declaration refers to a variable is named with an object type. The keyword ‘new’ is used when create a new object which is called instantiation. After keyword ‘new’, it is a call to constructor. This step is called initialization. 

Methods are the action that an object follow. Four OOP fundamentals are abstraction, polymorphism, inheritance, and encapsulation. Abstraction is to remove complicated details and only leave necessary information in order to accomplish goals. Encapsulation is the process of enclosing both data and actions in a set of codes. In java, encapsulation is the process of accessing fields that are made in a private class through public methods. It can be illustrated as a protection for the codes that avoid these codes are used by other code outside the class. Here are three characteristics of encapsulation: maintainability, flexibility and extensibility to codes. The main advantage of encapsulation is that users can modify implemented code without destroying the code. Inheritance is an imperative characteristics of OOP which is of great use. Inheritance is the process that one subclass can extend all characteristics of its parent class. Polymorphism is a quite new word to me. ‘Poly’ means many, while morphism means form. So it refers to the ability to have many different forms. 

Advantage of Inheritance and polymorphism 

For inheritance, one main advantage is that it save space of a program because it can reduce a large amount of repeated code in a program because they can share totally the same codes with other subclasses. Because of the characteristics of inheritance, when there are equivalent codes in two related classes, the hierarchy can be refactored to move the equivalent codes to a mutual parent class. As a result, it will lead to a better organization of code in the term of smaller, simpler compilation codes. In addition, the codes are more flexible to change with inheritance, because classes that extend from a common superclass can be used interchangeably. Inheritance have several characteristics which are reusability, extensibility, information hiding, and overriding. Reusability means that programmers can reuse the common code in the base class without rewriting the same code. Extensibility refers to that child classes can inherit the base logic of parent classes. Information hiding indicates that parent classes can determine which part of codes are available to child classes. Overriding means that subclasses can improve superclasses to implement meaningful actions according to their needs. These are the advantages of inheritance. 

For polymorphism, it has the ability to treat an objects of a subclass as if it were an object of parent class. Object can have same name but different parameter processes to show the various forms. Polymorphism also has the characteristics of overriding. Subclasses can have their own unique codes, to improve their parent classes. Reusability is one of feature of polymorphism, which means that subclasses inherit all parent data and actions, without rewriting code. Polymorphism also provides a high degree of decoupling which means the implementation behind is hidden. It involves overriding and overloading. Overloading means that subclasses have same method name but they can have different parameters. Overriding means that subclasses can have their own unique codes by improving the parent classes. 

Associations, Multiplicity, Dependency, Aggregation, and Inheritance in UML Class diagram

UML class diagram, Unified Modeling Language, is a type of static structure diagram that describes the structure of a system by showing the system’s classes, their attributes, methods, and the relationships among objects. This blog will introduce five type of relationships: associations, multiplicity, dependency, aggregation, and inheritance. 

Association relationship can be present among two or more than two objects. A line connecting two the two classes presents association. The arrow will point from class A1(driver) to class B1(provider). However, class B1 does not know the existence of class A1. 

association

Multiplicity defines the relationship between classes that was created previously with associations. In other words, multiplicity uses particular symbols and methods illustrate the association relationships more detailed. Here are the symbols: 1 (exactly one), 0…1 (zero or one), * (many), 0…*( zero or many), 1…*(one or many). For example, the graph shown below describes role of car and customer. One customer can purchase zero or many cars, while zero or many cars can be purchased by one customer. 

Multiplicity

Dependency relationship is just as the name said: implementation of one object is dependent on one or more objects. This relationship is represented by a dashed arrow in UML class diagram. It could be said that dependency relationship is a “uses” relationship. For example, a client class can use a supplier class. 

dependency

Aggregation, “has a” relationship, means that one object belongs to another object or none other. The child class can be belonged to only one parent class. A hollow diamond and a line represents aggregation relationship. For example, a department has one to many teachers. 

aggregation

Inheritance means that a subclass is specialized from a parent class. Inheritance is represented by a hollow triangle with a line. It is a “is a” relationship. For instance, both Student and Professor inherit data and actions from Person class. Both Student and Professor class can use the data String: name, int: age, and walk(int d). Besides these functions, there is an additional function. For Student class, it also has a data of overall grade, int: overallGrade. For Professor class, it also has a data of the amount of students, int: numberOfStudents. 

inheritance

The need to reduce dependencies between objects

One significant problem is that dependencies decrease the reusability of a program and increase maintenance overheads. Dependencies always occur in object-oriented programming. When dependencies increasing, it decreases reusability of codes. Because of the characteristics that implementation of one object is dependent on one or more objects, these codes can not be used again. When any of provider classes changes how it interacts with other objects, the driver class will need to be updated. There are extra maintenance work are needed to enable the programs run smoothly. These are the reasons why reduce dependencies between objects are needed. 

UML Class diagram of IA Solution

In order to be more familiar with theses concepts, we drew UML class diagram of our IA. The picture shown below is the abstract UML class diagram of my IA solution. Because there are still a lot of things needed to be considered. So the UML class diagram might not be that perfect. 

UML

In conclusion, I have learnt a lot of basic knowledge theses weeks. I know more about IA and relationships in OOP, like associations, inheritance, multiplication, dependency and so on. It is almost final exams. I am looking forward to the next class! I hope you enjoy the blogpost. 

Group 4 Project

Reflection#4

Self-motivation and perseverance are imperative in a team setting. Teamwork, as the name suggests,  is an activity in a team. All work should be exhibited in a team. Each individual represents the group.  

Self motivation is key

Both self-motivation and perseverance will promote progress. Chloe and I were responsible for making a poster. However, it was done on my computer and we had not finished before Friday. There was still a question left which is needed to be answered at the weekend. I had asked my group mates to finish the question as soon as possible. On Friday night, Kate and Chloe sent the link of reflection on Action Day 2 and the answer to that question to me. I thought I could not drag our group down, so I accomplished the reflection and answered the question as soon as possible. However, one of my group mates sent the answer until Saturday midnight which influenced the progress of the poster. Responsibility increases my self-motivation and keeps my perseverance. Because of responsibility, all of us persist in the experiment from the beginning to the end. I always believe that we can accomplish it which might help build my perseverance. 

Teamwork_01

All adults emphasize that teamwork and collaboration skills are significant in the future, especially when we start to work. Teamwork and collaboration are imperative to all individuals. Without collaboration, I might not finish all experiment, even poster, and video in only 4 days. For example, on the first Action Day, we faced some problems. It is almost impossible to squeeze an apple evenly. There will be only a few drops of apple juice. Be a team, we have more ideas and solutions. By discussion, we eventually found an appropriate means to get apple juice. We determined to use blender by mixing apple and water in one to one ratio. Teamwork and collaboration help people to solve problems more quickly. However, there might be problems when doing teamwork. There might be quarrels. During the experiment, when we decided whether to control the mass of apple or control the mass of water. However, one of my group mates decided to control the mass of apple. According to abstraction, it is easier to control the water. Eventually, I illustrate my method by computational thinking. Nevertheless, well collaboration can urge the progress of the project. 

Writing reflection made me recall the memory of what we have done the whole day. Reflecting encourages people to realize their problems which could help people to improve next time. For example, our group’s final video was not exported before the presentation. Actually, three of us were responsible for either poster or video, but one group mate did not do anything without saying any explanation. It might be one of the factors why we did not export the final video successfully. Work should be divided equally when doing teamwork. When there was a problem, we should not blame one student. All of us should be responsible for the mistake or the problem.

In conclusion, the group 4 project was a treasurable memory in my life. This might be the only opportunity that I could work with students of different subjects. Even though there were some regrets, I will remember the experience forever and remember the lessons I learned during the project. 

poster

Group 4 Project

Reflection 3

title

I did not reach my personal target for today. Yesterday, my own personal goal for Action Day 2 was finishing recording all my video parts and accomplishing the poster. I only finished recording all my video parts but we have not finished the poster. We only accomplished most of it. During the afternoon, one of our group mate left which might drag down the overall process. Responsibility helped me to continue the work. The personal goal urged me to work harder. 

Of course, there are some interpersonal conflicts over last 2 days because this is a teamwork. The quarrel was to decide how to make apple juice when we found the original method did not work. Some suggested to squeeze apples with mortar. Eventually, we borrowed a blender and make the apple juice. We had conflicts when redesigning the procedures. Turvey thought we should control the mass of apples. However, I thought we should control the mass of water. Because it was more difficult to control mass of apples than water. We had a little quarrels. Even though the theory was the same, the methods might cause greater uncertainties. Eventually, we chose to control the mass of water. We also had a little conflict when recording the video. When recording the beginning of the video which was a group part, the only male in our group was not satisfied with the video only because he was not satisfied with his appearance. So we spent more time to do relatively useless work.

However, we had overcame all difficulties. Some conflicts were solved by discussion. Some conflicts are solved by the rule of the majority obeying the minority. I believe we could present a beautiful video and poster on Monday!

就不给你看全图

Group 4 Project

Reflection 2

My contributions were using computational thinking to improve our procedures, doing the experiment, accomplishing part of the video and making an electronic flowchart. During the morning, our group divided into two groups: Kate and Chloe; Turvey and me. Kate and Chloe examined the colorless of apples by Photoshop. Turvey and I were doing the experiment: measure the sweetness of the whole apple. Originally, our group decided to make apple juice directly. Nevertheless, when we actually did it, we found it was really difficult because there is very little juice by squeezing apples. Then we changed our method, we use a blender to make apple juice. There is another problem that water must be added when using the blender. Considering that the weight of each apple is different, I suggest adding the same ratio of water to control the variable. We had a little quarrel when deciding to control the water or control the weight of apple flesh. Eventually, we determined to control the mass of water. I used computational thinking to make the procedures more logical. When Chloe and Kate were determining RGB of apples, I peeled apples, cut apples, weighed water added to make apple juice.  

13

My energy level was at the top during the morning. As time passed, my energy level reduced. When the day ended, I felt really tired. The most motivated area was doing the experiment because it felt like I was involved and I have made some contributions to our group. Besides, I really liked to do experiments. The least motivated part might be making electronic flowchart because I was not familiar with the online application to make a flowchart. So I spent some time to learn how to use it. Because of unfamiliarity, I have done a simple thing for a long time which wasted time. However, I persevered by our group cohesive force. Because I did not want to do it tomorrow, this belief makes me persist in accomplishing making an electronic flowchart. I had a belief that I could finish it today which also helped me. My own personal goal for Action Day 2 is finishing recording all my video parts and accomplishing the poster. 

24