Any company that develops and distributes software for profit must deal with the issues revolving around software theft. When software is stolen, it is known as piracy. To legally guard against piracy, software developers include with their software a licensing agreement, which states under which circumstances a person is allowed to use, copy and/or redistribute their software (Cashman, Shelly, & Vermaat, 2004, p. 359). There are different licensing models available from which developers can choose.
Some of the different licensing models include single-user licensing, multi-user licensing and on-demand licensing. A single-user license is commonly used when distributing desktop software such as word processing and graphics applications. A single-user licensing agreement typically states that the software may be installed on one computer only and that one backup copy of the software can be made. If the software is removed from the computer, it may be sold or given to someone else. The software may not be installed on a network server or on multiple computers (Cashman et al., 2004, p. 360). To install software on a network or on multiple computers, software distributors will often require the purchase of a multi-user license (EditPad Pro, 2005). Often times, a software company will offer multi-user licenses at somewhat of a bulk discount price however it is up to the company to determine the overall cost. Another type of licensing agreement that is gaining popularity is known as on-demand licensing, or subscription based licensing (CNET, 2005). In the on-demand licensing model, a user purchases the right to use a company’s software on a limited time basis. For instance, a company might agree to allow the user to access their software for a 12-month period, after which time the user may purchase another license or discontinue use of the software. In an on-demand hosted environment, the software is actually located at the software vendor’s location but can be accessed by the customer during their subscription period (Sand Hill, 2005). This type of licensing model offers the most benefit to the actual software developer because it provides them with more control over how the customer uses their software. They are able to cut off access to their software as needed which reduces the risk of unauthorized access and virtually eliminates the possibility of illegal redistribution.
I would recommend that any software development company if possible, adopt the on-demand hosted licensing model, as it will provide the most security when dealing with issues revolving around software piracy.
References
Cash Cashman, T.J., Shelly, G.B, & Vermaat, M. E. (2004). Discovering Computers: Fundamentals editions. Boston: Course Technology
EditPad Pro. (2005). Retrieved December 15, 2005 from
http://www.editpadpro.com/multiuser.html
CNET. (2005). Retrieved December 15, 2005 from
http://news.com.com/Software+No+longer+business+as+usual/2100-1012_3-5958760.html?tag=html.alert
Sand Hill. (2005). Retrieved December 15, 2005 from http://www.sandhill.com/opinion/editorial.php?id=56
Many people today may be aware of the fact that there are risks involved in making purchases online but unfortunately, they may not be as educated on the types of precautions that companies take to protect their customers against these risks. Without being informed on how they are protected, people will continue to be leery of making purchases online. Some of the risks involved in purchasing products and services online include: information theft, identify theft, and credit card fraud.
Information theft occurs when someone’s personal information is obtained through unlawful activities (Cashman, Shelly, & Vermaat, 2004, p. 360). Stealing confidential information is another form of information theft. Identify theft is another risk involved in making purchases online. When someone uses another person’s confidential and personal information to impersonate them, this is known as identity theft (Identity Theft, 2005). The impersonator may use their false identity to obtain credit cards, property, or other items of which the person with the true identity becomes liable. When a person uses stolen credit card information, this is known as credit card fraud (Credit Card Fraud, 2005).
To guard against information theft, many Internet companies employ the use of data encryption (Cashman et al., 2004, p. 361). When data is encrypted, it is converted into an unreadable format and must be decrypted before it can be read or understood. To encrypt data, an encryption key is used which is similar to a password. The encryption key must be provided to decrypt the data before it can be read (Cashman et al., 2004, p. 361). When information is transmitted over the Internet, it becomes extremely vulnerable to security risks (Cashman et al., 2004, p. 363). Most browsers are capable of using encryption to help secure data transmission. A website that uses encryption to secure data while being transmitted is known as a secure site (Cashman et al., 2004, p. 364). Some sites use digital certificates to validate the authenticity of a user or website. Occasionally websites will use SET encryption to secure financial transactions. SET is the Secure Electronics Transactions specification (Cashman et al., 2004, p. 364).
It is common for companies to collect information about their customers; however this can become a privacy concern. To ensure that customers are aware of how an organization protects their privacy, many Internet companies provide an online privacy policy which explains the type of information collected by the customer as well as how their information is used (Cashman et al., 2004, p. 367). It is recommended for customers to read a company’s privacy policy before purchasing their products or services online.
References:
Cashman, T.J., Shelly, G.B, & Vermaat, M. E. (2004). Discovering Computers: Fundamentals editions. Boston: Course Technology
Identity Theft (2005). Retrieved December 13, 2005 from http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci801871,00.html
Credit Card Fraud. (2005). Retrieved December 13, 2005 from http://retailindustry.about.com/od/lp/g/credit_fraud.htm
Filed under: Networking
There are three types of computer networks: LANs, MANs, and WANs (Cashman, Shelly, & Vermaat, 2004, p. 290). A LAN is a Local Area Network and typically described as a network that exists in a single location, such as an office building or house. A MAN is a Metropolitan Area Network, which is a network that connects LANs across a metropolitan area such as a city or county. A WAN is a Wide Area Network and connects multiple networks over a large geographical area such as states or countries. The Internet is the largest Wide Area Network in existence (Cashman et al., 2004, p. 290).
There are two types of network architectures widely used: client/server and peer-to-peer (Cashman et al., 2004, p. 291). A client/server network can accommodate more than 10 computers whereas a peer-to-peer network is recommended when the network consists of 10 or less computers. A client/server network is the most common type of network used in businesses today. The peer-to-peer architecture is often used for small home networks (Creating a Home Network, 2005).
There are three basic network topologies: Bus, Ring and Star (Cashman et al., 2004, pp. 292 – 293). Bus networks are typically easy to install and inexpensive however a significant drawback being, if the bus cable fails, the entire network fails (Network Topologies, 2005). A Ring network is not as easy to install as a Bus network although if one device fails, not all devices fail as well. Only the devices located after the failed device on the ring will fail (Cashman et al., 2004, p. 293). On a Star network, if one device fails all other devices remain connected and unaffected. A Star network is also considerably easier to install and maintain in comparison to Bus and Ring networks (Cashman et al., 2004, p. 293). Another topology is known as a Mesh network. A Mesh network consists of multiple Star networks that are connected to each other.
There are many different types of communication technologies. Some of those technologies include Token Ring, Bluetooth, IrDA, Ethernet and TCP/IP (Cashman et al., 2004, p. 294). These technologies can also be referred to as protocols. Ethernet can be used on a Star network topology and is commonly used on LANs. TCP/IP is a protocol that is used for Internet data transmissions (Cashman et al., 2004, p. 294).
Any type of network will require certain pieces of hardware. Some of the hardware required may consist of network cards, cabling, hubs/switches, and routers (Cashman et al., 2004, pp. 300 – 301). The type of hardware needed will depend on the type of network and the topology used. The most commonly used network card type is an Ethernet card (Cashman et al., 2004, p. 300). A network card can be installed in almost any type of computer including servers, desktops, and laptops. Any computer that is to be connected to the network will require a network card. Having a router connected will allow several computers on the network to share one connection to the Internet (Cashman et al., 2004, p. 301). Some routers have built in firewall protection.
I recommend for a small organization with multiple locations to implement a LAN at each of their branch offices and then connect their LANs to each other via a MAN. Each office location will have a router installed, which provides them with a WAN connection to the Internet. All devices connected to the LAN at each office will share the same Internet connection. I recommend that the organization use a client/server architecture versus a peer-to-peer because it will allow them much room from growth if the company expands and they need to add more computers to the network (Cashman et al., 2004, p. 291). I will also recommend that the organization use a Star topology when designing their network. A Star network will be more reliable than other types of networks in that, if a device fails it will not bring the entire network down. It will also be easy to install and will allow for much growth and expansion (Cashman et al., 2004, p. 293). The organization should use the Ethernet protocol in their Star topology network.
I would also suggest a T1 line be installed at each office location. A T1 is the most popular type of line used to connect businesses to the Internet (Cashman et al., 2004, p. 298). A T1 line is reasonably priced and can provide simultaneous high-speed connections to the Internet for multiple users via a router.
References:
Cashman, T.J., Shelly, G.B, & Vermaat, M. E. (2004). Discovering Computers: Fundamentals editions. Boston: Course Technology
Network Topologies. (2005). Retrieved December 9, 2005, from
http://compnetworking.about.com/od/networkdesign/l/aa041601a.htm
Creating a Home Network. (2005). Retrieved December 9, 2005 from http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fen-gb%2Fhnetwork.asp
Nearly all businesses today have some sort of presence on the Internet. Even if the only information they have available on their website is a phone number and address, most companies have something on the Internet with their name on it (Cashman, Shelly, & Vermaat, 2004, p. 58). Many of these companies even offer their products or services for purchase through their websites. This type of business is called e-commerce (Cashman et al., 2004, p. 62). E-commerce is a type of business transaction that takes places over a secure internet connection (Cashman et al., 2004, p. 63). Typically, the customer selects the items they would like to purchase and then places them into an online shopping cart (Cashman et al., 2004, p. 63). They then provide a username and password, along with their payment method and billing information (Cashman et al., 2004, p. 356). This information is usually encrypted as it is sent over the Internet (Cashman et al., 2004, p. 361). Almost all businesses that accept online payments offer these types of secure transactions (Cashman et al., 2004, p. 364).
Data encryption and secure transactions are used to protect customers and their privacy (Cashman et al., 2004, p. 367). As a result of things like identity theft and consumer fraud, customers are becoming more concerned about their privacy when doing business online. Any company that offers their products or services for purchase online should be aware of how to take the necessary precautions to protect their customer’s privacy. Using encryption and secured transactions will allow the company to provide their customers with protection against identity theft and consumer fraud (Federal Trade Commission, 2005).
Some of the other concerns a company might have when they choose to do business online include data storage and integrity as well as system installation and maintenance. If the company chooses to host their website in-house, they will have to set up a system that will be used for online transactions. This system will be vulnerable to various types of security breaches. Some security concerns include attacks by hackers and crackers (Cashman et al., 2004, p. 354). They will also need to protect themselves and their customers against system failure and data loss (Cashman et al., 2004, p. 361). However, if the company were to outsource the system, they will likely have to be less concerned with these areas as the company that hosts the website will be responsible for system availability and maintenance.
References:
Cashman, T.J., Shelly, G.B, & Vermaat, M. E. (2004). Discovering Computers: Fundamentals editions. Boston: Course Technology
Federal Trade Commission (2005). Retrieved December 8, 2005 from http://www.consumer.gov/idtheft/con_minimize.htm
There are advantages as well as disadvantages to using either structured programming languages or object-oriented languages when developing an application. One of the more popular structured programming languages is known as Pascal (Wikipedia – Structured Programming, 2005). Pascal is often used to help teach programming to students in an educational format (Wikipedia – Pascal, 2005). In general terms, a structured programming language is laid out in a series of explicit statements and does not generally contain commands which redirect the execution of statements to other areas of the program (Wikipedia – Pascal, 2005). In comparison, object-oriented languages often contain a set of reusable modular components, which can be called to execute at various points throughout the program, without having to be completely rewritten. Some of the more popular object-oriented languages include Java and C++ (Wikipedia – Object-oriented Programming, 2005).
There is an advantage to using structured programming when writing classes and complex functions are not necessary. It can take up more time and energy to develop classes rather than simply write a straightforward piece of code, which executes a specific set of commands. It depends on what the overall purpose of the program is. One of the main disadvantages to using a structured programming language versus an object-oriented language is that it is not ‘modular’. In other words, the code is not split up into reusable sections. The code is written and executed sequentially; therefore you may have redundant code. It may take longer to develop programs using structured language (What Is Object-oriented Programming?, 2000).
One of the advantages to using object-oriented programming languages is that it is modular. It is possible to write a reusable piece of code, such as a function or a class, which can be used multiple times throughout a program without having to rewrite it (Cashman, Shelly, & Vermaat, 2004, p. 405). This can save the developer much time and effort in the development process. One of the possible disadvantages to using an object-oriented programming language is its sheer complexity. It is not typically recommended to use object-oriented languages when developing smaller, less complex programs or programs that are built to run on low powered computers (What Is Object-oriented Programming?, 2000).
Considering the potential complexity of a filing system application, it would probably be recommended to use object-oriented technology. Also, being that application development using object-oriented languages can be done faster, this might save the developer’s time so that they could deliver the program to the client sooner (Cashman et al., 2004, p. 405).
References:
Cashman, T.J., Shelly, G.B, & Vermaat, M. E. (2004). Discovering Computers: Fundamentals editions. Boston: Course Technology
What Is Object-oriented Programming?. (2000). Retrieved December 2, 2005 from http://duramecho.com/ComputerInformation/WhatIsObjectOrientedProgramming.html
Wikipedia – Object-oriented Programming. (2005) Retrieved December 2, 2005 from http://en.wikipedia.org/wiki/Object-oriented_programming
Wikipedia – Pascal. (2005) Retrieved December 2, 2005 from http://en.wikipedia.org/wiki/Pascal_programming_language
Wikipedia – Structured Programming. (2005) Retrieved December 2, 2005 from http://en.wikipedia.org/wiki/Structured_programming