Saturday, January 19, 2013

Feasibility Study

When determining the feasibility of a software product, we take into account such system elements as hardware, software, and people. Discuss some other elements that need to be taken into account in a computer-based systems. 

Computer-Based Systems Essential Elements

There are six basic components of a computer-based system. These are the hardware, software, people used to run the system, the data that is the heart of the system and the procedures that run the system. The final component is communication.
Hardware is the physical component of a computer system. This includes the hard drive, motherboard, the additional drives and the components that actually make the system run. Software is the instructions given to a computer- based information system that tells the hardware how to perform.

People are required to operate the system, create and use the software, choose how to apply the software and physically develop the computer based system. Without people there would be no need for a computer-based system.
Data is the reason for the software and hardware configurations. Data can be read, understood, imputed and retrieved by the user of the computer based system. Information that is produced in report forms, tables and or summaries is the data lifeblood of a computer based system. Data is not to be confused with knowledge; it is simply the information.

Procedures in a computer-based information system are the ways in which the tasks are accomplished. User manuals and documentation materials make it possible for the system to run, the data to be explored, and the reports to be produced.
Communication is the connectivity. When a computer-based information system is setup it is designed to share data and information in one form or another. This is the basis network of a computer based system (Blurtit, 2012).

One example of a software computer- based system is the information structure for public health. In this system, the main basis is data. Computer-based medical systems include the systematic collection, analysis, consolidation plus the dissemination of data or information. 
This information is given to those who have a need. Data is vital to diagnose, and create medical and therapy plans for patients. The steps for data collection and retrieval include case notification and detections, collection and consolidation of patient data, investigation and confirmation. Additionally those people who use computer-based medical systems need data to analyze, report, provide feedback and give conclusions.

Procedures are the instructions and policies that govern the operation of a computer-based system. According to blurtit.com the best definition of procedures states, “Procedures are to people what software is to hardware.” Procedures are directions on how an end-user actually uses the system.

Procedures and processes are also important safety management strategies used to cope with normal and abnormal situations (Lee, 2012). Procedures are the instructions that are used to guide, monitor, and provide operations for a computer-based system. As elementary as it may seem, procedures must be written down and documented. These instructions should include the simplest function of turning on the computer itself to following software instructions to saving and closing (Blurtit, 2012).

Without all the six integral elements of a computer based system, nothing would work. You need hardware and software to run the hardware. People are essential to manage and run the software and organize the hardware.  Data input and retrieval is the reason to use a computer-based system.  Procedures are needed to provide instructions to operate the hardware and software. Communications between people is the reason for a computer-based system. 

References:
Blurtit.com. (2012) Elements of computer based information system? [Online] Available at: http://www.blurtit.com/q2805372.html [Accessed 19 January 2013].

Lee, Ying-Lien. (2005) International Journal of Human-Computer Studies, [Online] 63 (6) 587-606 Available from: http://www.sciencedirect.com/science/journal/10715819 [Accessed 18 January 2013].

World Health Organization. (1998) Global Program for Vaccines and Immunization Expanded Program on Immunization. [Online] Available at: http://www2.inbox.com/search/results.aspx?tp=pts&src=pts&tbid=80311&q=complete+computer+based+system+elements [Accessed 18 January 2013].


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

Protecting Personal Data


Protecting personal data can be overwhelming, but it is not impossible. There are highly secure tools both online and offline to protect personal data. Shielding personal data can be logical, highly secure as well as inexpensive.

Protecting Personal Data Offline 
Physically lock your financial records and personal documents in a safe place in your home. Purchase an inexpensive fire-proof safe that can be stored in a secure closet, built in your floor or wall.  A good fireproof safe costs from $100 to $3000 (Sears, 2013). Protect your wallet and or purse in a desk drawer at work. Limit what you carry when you go out. Never keep your social security card in your wallet; lock it up.

When filling out forms in the workplace, the doctor’s office, or your child’s school ask how your information will be safeguarded. If you do not have to fill out every little detail of your life, leave that portion blank. Ask for the consequences of not providing specific information.

Shred old receipts, insurance forms and credit card statements. Checks, bank statements, credit card solidification should be destroyed by shredding or burning. Demolish the labels on prescription medications before throwing bottles away. Never share medical or car insurance information to sales or research people.

Invest in a locked mail box and take your mail directly to the post office. Never have blank checks sent to your home; pick them up at the bank.

Offline security does not have to cost money. All it takes is logic, organization and a little care. If you file and secure your hard data as you manage household accounts, you will find it takes very little time and money.

Protecting Online Information

Always know when you share information. Make sure you store and dispose of personal information securely. Do remember that all information remains in a partition on your hard drive and a competent hacker can access this information.

Be highly alert to whom you pass on your financial information. Never issue information over the phone and avoid giving any personal statistics via the internet.
If you receive emails requesting financial or personal information, immediately delete those communications. Type the requesting name of the company into your web browser, research their site, and contact them through customer service. Question everything and everyone who requests your personal information (Porter, 2012).

Before disposing of a computer use utility program that will overwrite the entire hard drive. Never just dispose of a mobile device. If you check your owner’s manual you will find the service provider’s website or the owner’s manual describing in detail how to dispose of personal information.

Keep all data encrypted. This will guard your online transactions. Encryption software will scramble information that you send over the internet. Use a “lock” icon on the status bar of your internet browser. This ensures that your information is safe when transmitted.
Use strong passwords with any password protected site. Never give passwords to family members or well-meaning friends.

On today’s information and social networking sites avoid posting too much information. Do not write exactly where you or how long you will be away. Better yet, wait until you return before bragging about your awesome vacation.
Maintain a watchful eye on your social security number and your children’s social security numbers. There are identity thieves who specifically target children (Porter, 2012).

Public Wi-Fi is a personal data nightmare. Never give personal information over your laptop, smartphone or on a public wireless network. If you must send information on public Wi-Fi, make sure the website is encrypted.
The rich are not the only ones who can afford protection. Never reply on businesses or websites to protect your personal data; use logic, inexpensive systems already in place, and due diligence.

References:
Federal Trade Commission. (2012) How to Keep your Personal Information Safe [Online] http://www.consumer.ftc.gov/articles/0272-how-keep-your-personal-information-secure [Accessed on 18 January 2013]
Porter, Julie. (2012) Keeping Your Information Private; Tips and Tricks for Data Privacy [Online] Available at: https://cyberexhage ISC2.org  [Accessed on 18 January 2013]
Sears. (2012) Pricing for Home Safe [Online]. Available at: http://sears.com/tools-house-security-safes/ [Accessed on 18 January 2013]


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

Privacy Laws The United States and Globally

Research laws regarding privacy and data protection in your country and tell us about them. How do they compare to those in other parts of the world?
 

Privacy Laws: The United States and Globally
The protection of personal information has become increasingly important due to internet use that enables personal data to be distributed instantaneously. If you are conducting business in global jurisdictions you do need to be aware that privacy laws are not equal in every country. Use the most restrictive regulatory regimes to avoid difficulties (Carron, 2009).
The United States is a leader in developing new technologies to support internet infrastructure and electronic commerce. As this commerce becomes more global there are concerns about new business models and the technologies that may compromise privacy interests of consumers. Advocates for privacy protections argue that privacy issues need more laws.
The Federal Trade Commission Act was enacted to prevent unfair competition and deceptive acts and practices in national and global commerce. The FTC will take action against companies that fail to comply with privacy policies or misrepresent their information (Standler, 1997).
Title V of The Gramm-Leach-Bliley Act states that privacy relating to personal financial information is essential.  Financial institutions may disclose a consumer’s personal financial information only when subpoenaed by a court of law. Privacy policies must be written and given to every customer of any financial institution. Consumers may opt-out or stop financial institutions from disclosing their account numbers to third parties for use in product promoting.
The Identify Theft and Assumption Deterrence Act of 1998 deem identity theft a federal crime to use without permission or lawful power someone else's identification intending to commit any unlawful activity. The FBI has an entire department dedicated to finding and punishing those who commit identity theft.
The Health Insurance Portability and Accountability Act of 1996 was enacted to protect the privacy of personal health information. These regulations apply mainly to health insurance and clearinghouses as well as health care providers who send out health information via electronic transactions.
Canadian privacy laws are confined in the Personal Information Protection and Electronic Documents Act of 2004. Public health information cannot be transmitted in the provinces of Ontario, Alberta, British Columbia or Quebec. All financial or health information is protected from crossing the border or being used in marketing activities. Privacy of individual consumers is protected in the course of commercial activity.
In 2006 the Privacy Commissioner of Canada decreed that Facebook was in violation of privacy laws in respect to consent and disclosure of personal information to third party developers. Retaining personal information after a subscriber closes their Facebook account, by the social network, constitutes a violation of Canadian law. This same law applies to all social networking sites.
European countries have very sophisticated personal information protections laws. Consent is the lynchpin of most privacy laws in Europe. European laws specify that data collected from individuals must have irrevocable consent before private data is mined. The purpose for data collecting must be stated in writing.
Privacy laws in many other world countries are generally a sub-set of constitutional law. Countries with privacy laws in regards to international trade include Australia, Japan and New Zealand.
Privacy laws in Israeli are legislated by the Information and Technology Authority. This is the body that is in charge of enforcing confidentiality laws in Israel and has in print guidelines on using individual Israeli private information. The one privacy rule indicates that a contract between outsourcing personal data and the individual must be in force. This includes how the information is gathered to the processing of information. All reasons that private information is needed must be documented. To determine when the privacy laws take over, contact the ITA for exact information.
References
·         Racine-Netser, Maya  (2012). Israel: Privacy Protection In Outsourcing Services [Online]. Available: http://www.mondaq.com/x/171764/Outsourcing+Contracting/Privacy+Protection+In+Outsourcing+Services [Accessed on 19 January 2013].

·         Standler, Ronald B. (1997). Privacy Laws: A Report [Online]. Available: http://www.rbs2.com/privacy.htm [Accessed 17 January 2013].

·         United States Privacy Laws (2012). United States Privacy Laws [Online]. Available: http://www.informationshield.com/usprivacylaws.html [Accessed 17 January 2013].

 

These are articles from my masters in software engineering classes. 
Elad Shalom,
CTO at ITweetLive.com

Thursday, January 17, 2013

Electronic Monitoring to Measure Employee Productivity

Imagine that you are an IT consultant who has been given the task of preparing a report for the management board of a software house that is currently thinking of implementing electronic monitoring throughout its operations. Your task is to prepare a concise report (800–1,000 words, not counting title page and references) that considers the relevant issues in electronic monitoring and makes recommendations. Your report should include:
  • A discussion of the current trend to use electronic monitoring to measure employee productivity, bearing in mind the theories of Taylor and McGregor
  • The key ethical issues and the stakeholders involved
  • A recommendation to the management board about what it should do
You must justify your ideas and recommendations.


Please download my article from Google Drive:


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

Tuesday, January 15, 2013

Future of Software Engineering in the 21st Century

Mini-Research project:  Write a 1-11/2 page (500-750 words) paper on the future of Software Engineering in the 21st century.

To complete this assignment, you must use and cite from at least two references obtained from an academic electronic journal, located from the UoL academic electronic journal database system.  (the ACM Portal and IEEE journals may be a good start)  This is to be written as if it was a research white paper.  


This means that you will have a title and byline.  
The paper must conform to Harvard style of citing references.    


Please download my article from Google Drive:
 

These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

New Capabilities of Computing Technology

The creation and use of computing technology enables new capabilities.
For example, information and decision rules can be captured and copied more easily; individuals can be monitored, tracked, and evaluated at increasingly short intervals and at finer levels of detail. Thus, new computing capabilities strain our current norms, rules and laws. This problem will only worsen as technology becomes even more capable.
Because computing involves a relatively new and continually changing set of technology capabilities, professionals face some additional complexities beyond the typical questions of rights and fairness (to employees, stockholders, consumers, vendors, community); honesty; responsibility to do no harm; and so forth. 

For this assignment:

1. Identify and describe 5 specific capabilities of computing (e.g., speed, permanence/storage) made possible or enhanced by computing technology.

2. Select one of the capabilities you identified and discuss its relationship to the following issues raised by the application of the technology:

  • Privacy
  • Ownership
  • Control
  • Accuracy
  • Security

3. Describe the areas of potential IT policy decisions that may be triggered by your selected capability.


Please download my article from Google Drive:

These are articles from my masters in software engineering classes. 
Elad Shalom,
CTO at ITweetLive.com

Emerging Trends in Software Development

University of Liverpool - Masters in Software Engineering

Choose an emerging trend in Software Development (you can use one from the text, the lecture, or some other trend you know about). Analyze its impact on software development in particular and society in general. What are challenges to existing systems?


Software development is constantly evolving and changing, with more and more trends emerging every year. Amongst this multitude of software trends, there are some which stand out, such as cloud computing. Although this software trend has been around for a while and it has been actively debated, there is still not one single definition experts can agree on (Knorr and Gruman, 2011).

Conceptually, however, cloud computing can be seen as a set of online virtual servers, which can host applications and can be used by an unlimited number of Internet users at the same time (Soliman, 2011). Even though the concept of cloud computing can be traced as early as the 1950s, it is only in recent years that it has emerged as a powerful trend in software development and that experts have started taking notice of it (Stratchey, 1959).

To analyze the impact cloud computing has had on software development, one must understand what this concept brings to the table. Its biggest role in Information Technology (IT) is that it offers a means to extend capacity and capability, without the need for new infrastructure, additional personnel, or the development of new software. It basically makes both the posting and accessing of information a lot faster and easier.

A number of other positive aspects can be attributed to cloud computing. For one, cloud computing helps reduce the environmental load by diminishing the need for physical servers. This leads both to a reduction in energy use and decreased costs for the company that is implementing them. Using virtual servers will also reduce any costs involved in infrastructure and manual labor expenses (Arimura and Masako, 2011), as they do not take up any space and they require less maintenance services.

Cloud computing, by centralizing, sharing, and taking servers from physical to virtual, can also increase productivity and enhance the software development process. It makes the entire process of transmitting and accessing information more automated, by reducing the need for manual intervention on the system.  

In order to analyze the impact of cloud computing on society in general, the matter has to be viewed from two angles. On the one side, there is the issue of how the general public is affected by this software trend. On the other hand, there is also the aspect of how businesses and organizations make use of the concept of cloud computing.

Cloud computing has allowed moguls such as Amazon or Google to provide Internet services to users worldwide (Arimura and Masako, 2011). From this perspective alone, it is clear that this software trend has proven advantageous for both parties. Nonetheless, cloud computing has come a long way since its inception. Nowadays, more and more private businesses use it to consolidate their IT department. When it comes to emerging trends, it would appear that cloud computing has made quite a big entrance and that it is here to stay. 

There is, undoubtedly, always room for bigger and better and it is certain that the future of software development will grow even brighter. However, so far, cloud computing has managed to put its mark both on society, in general, and on software development, in particular. Its undeniable benefits, which include costs reduction, environment production, and easier access to information, make it one of the most important emerging trends in software development.

References

·         Arimura, Y and Masako, I . (2011). Cloud Computing for Software Development Environment. Fujitsu Sci. Tech Journal . 47 (3), p 325-330
·         Knorr, E and Gruman, G. (2011). What cloud computing really means. Available: http://www.infoworld.com/d/cloud-computing/what-cloud-computing-really-means-031. Last [Accessed on 13th January 2013].
·         Soliman, B. (2011). Emerging Trends in Software Development.Available: http://bryansoliman.wordpress.com/2011/05/09/emerging-trends-in-software-development/. [Accessed on 13th January 2013]
·         Strachey, C. (1959). "Time Sharing in Large Fast Computers". Proceedings of the International Conference on Information processing, UNESCO. paper B.2.19: 336–341


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

Inevitability of Change in Complex Systems

University of Liverpool - Masters in Software Engineering

Discuss why change is inevitable in complex systems and give examples of software process activities that help predict changes and build software to be more resilient to change.
 
Complex systems are comprised of interconnected parts, which as a whole exhibit one or more properties, not evident from the specific properties of the individual parts (Rocha, 1999).  However, as complex systems are studied by quite an impressive number of fields, including ecology, cybernetics, business, and economy, their definition is subject to the particular context in which they are used (Collier, 2005). 
 
Although the definition and interpretation of a complex system is subject to many variables and to the field that is studying it, there is one aspect regarding this matter which most experts tend to agree with; that change is innate to any complex system. Complex systems are dynamic and thus, they are prone to transformation from their very inception.
 
A complex system is subject to change for a number of reasons. Firstly, these types of systems are installed in an environment which instantly adapts to the complex system and starts generating new requirements from the very moment it starts using it. These new requirements may occur because only after a process of trial and error can one truly see what functions with a system and what does not; and these things may not have been evident before the installment of the complex system.

As a part of evolution, the user’s own requirements will also change and, in a way, become more demanding. As business policies and goals evolve and transform, new requirements will be generated for complex systems as well. It is this evolution and demand that will prompt the changes that also have to affect the complex system for it to match with what is being asked and expected of it. 

Change is essential for a complex system to preserve its usefulness. As long as a system is in accordance with the definition of “complex”, change will occur naturally and automatically in order to increase efficiency and effectiveness (Kirshbaum, 2002). Although change is accepted as a natural occurrence in complex systems, there are certain ways in which this change can be predicted.
Software process activities that help predict change and that build software to be more resilient to it include: design modeling that documents the software’s structure; recording requirements rationale in order to know why a certain requirement is present; tracing requirements to demonstrate the dependent relationship between one requirement and another, and between requirements and the software’s design.  

Another process activity useful for the prediction of changes is requirements-driven impact analysis or RIDA, for short. This analysis is used to pinpoint which software entities need to be altered in order to be able to implement a certain requirement (Lindvall, 1998). RIDA, which is conducted during the release planning phase, takes two variables into consideration. Firstly, there is the input, which refers to the existing complex system and the set of requirements. Secondly, there is the output, which represents the specific software entities that have to be changed to meet each requirement.  

The main idea one has to understand is that change is not an exception, but rather, the only constant in life (Brooks, 1975). To some extent, changes in complex systems can be predicted and the system can be altered in such a way that it becomes resilient to these transformations. Nonetheless, change in complex systems has to be accepted as an invariable constant and a natural component in evolution. 

References

·         Brooks, F (1995). The Mythical Man-Month: Essays on Software Engineering. 2nd ed. US: Addison-Wesley Pub. Co. 15
·         Cumming, G. S., and J. Collier. 2005. Change and identity in complex systems. Ecology and Society. Available: http://www.ecologyandsociety.org/vol10/iss1/art29/ [Accessed on 13th January 2013]

·         Kirshbaum, D. (2002). Introduction to Complex Systems. Available: http://www.calresco.org/intro.htm [Accessed on 12th January 2013]

Lindvall, M. and Sandahl, K., "How Well do Experienced Software Developers Predict Software Change?," Journal of Systems and Software, vol. 43, no. 1, pp. 19-27, 1998.

·         Rocha, L.M. (1999). Complex Systems Modeling: Using Metaphors From Nature in Simulation and Scientific Models. Los Alamos : Los Alamos National Laboratory . 70
  


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com

Slang And Icons In Text Messaging

University of Liverpool - Masters in Software Engineering

Does the use of contractions, slang and icons in text messaging and email signal the development of a new communication style, or just the death of appreciation of written language? Do the same or similar things happen with your language if it’s other than English? Please provide examples.

The beauty and appeal of the English language lies in its adaptability. It has come a long way since the Roman era when Latin words were incorporated with Gaelic and Germanic dialects to form what we call today the Old English. It has evolved almost beyond recognition and the advancement in technology has been responsible for it to a large extent. The printing press gave it a more standardized form and more recently the internet and the mobile phones have turned it upside down and inside out engendering an altogether different form that has English teachers and grammarians tearing out their hair in frustration. Doom-laden prophesies have predicted disaster, if not complete annihilation or mutation of the language as we know and use it. 

With the usage of electronic mail system, the practice of letter writing underwent a sea change. The format, delivery and even the usage of language needed alteration. It is now possible to send the same mail to numerous persons at the same time so the writer needed to exercise some caution. ‘Yours sincerely/ affectionately’ has replaced by ‘cheers/ regards/ love’ and the place and date details have been excluded. The important point is that the body of the letter has remained essentially the same. Similarly slangs, contractions, abbreviations and acronyms are an integral part of a language and they play an important role beyond crossword puzzles. They add rather than detract from it. 

John Humphrys calls texters vandals who are doing to our language what Genghis Khan did to his neighbors eight hundred years ago. He inveighs against them for destroying it by pillaging punctuation, savaging sentences and raping the vocabulary; proclaiming that they must be stopped. (Humphrys, 2007). 

But even he concedes that it is a tall order. There are hundreds others who agree with him to some degree.

It is true that the rules are changing and they are doing so fast but if we look at the modern version as a form of dialect we would be able to understand the phenomenon of this change better. Just like any other dialect of English it is used by a group of speakers. One thing that differs, though, is that others were spoken first and written down later.

Netspeak, on the other hand, was written first and spoken second, if at all. The fact that it has developed and evolved since its inception is only indicative of the very nature of instant written communication between people. But the written word does not replace speech, any more than speech replaces gesture (Goody, 2007). Have you ever heard anyone speak out,” LOL!”? 

It is a sign of changing times that to rejoice World Poetry day in 2007, T-Mobile tried to discover the UK's first "Txt laureate" in a contest for the best romantic poem in SMS and the winner was Ben Ziman-Bright, a sixty-plus grandma and far away in India a film with the name KLPD -Kismet Love Paisa Dilli is released. 

The day is not far when the moviemakers would not need the tagline anymore.
For conclusion, I agree with Humphrys about text vandalism.

In addition, I have referenced to a video made about two of my favorite writers.  I think you will find it amusing as well as serious (Nicepeter, 2011). 


References:  

Nicepeter, 2011. Dr Seuss VS Shakespeare. Epic Rap Battles of History #12.[Online]. Available at:  http://www.youtube.com/watch?v=l3w2MTXBebg [Accessed on 12 January 2013].
 
Humphrys, John. 2007, ‘I h8 txt msgs: How texting is wrecking our language’ Mail Online, 24 September. Available from http://www.dailymail.co.uk/news/article-483511/I-h8-txt-msgs-How-texting-wrecking-language.html  [Accessed on 12 January 2013]
 
Goody, Jack, 1977. The Domestication of the Savage Mind. Cambridge: Cambridge University Press

Ervin Hoxhaj, 2012. Book of Proceedings, The Influence of Instant Messaging Communication on Standard Written Language and Social Communication [Online]. Faculty of Foreign Languages, Tirana University.  Available at: <http://www.mcser.org/images/stories/4_conferences/ICHSS_2012/volume%207.pdf> [Accessed on 1 January 2013] p. 107-112.


These are articles from my masters in software engineering classes.
Elad Shalom,
CTO at ITweetLive.com