Saturday, August 31, 2019

Prison Term Policy Recommendation Essay

As the criminologist advisor to a member of the Pennsylvania state legislature, I have been selected to conduct research for a bill that would double the maximum prison term for anyone convicted of armed robbery. The bill is popular however it is unknown if it will do much good. It is my job to make recommendations in regards to whether the bill being voted on will be beneficial to everyone in the Commonwealth of Pennsylvania. The prison term policies are sentencing guidelines that are created by Congress and the State Legislature to provide judges with bases for sentencing those individuals found guilty of committing a crime to ensure that each person is treated equal without discrimination (sentencing guidelines, 2010). There are four offenses that make up what is known as violent crime which are murder, forcible rape, robbery, and aggravated assault. According to the Uniform Crime Reporting (UCR) Program a violent crime is any crime that involves force or threat of force to others (Department of Justice, 2006). Currently the Commonwealth of Pennsylvania’s prison terms for armed robbery are as follows: for the first offense of a violent crime a minimum of five years, for a second offense of a violent crime a minimum of 10 years, and for the third offense of a violent crime a minimum of 25 years total confinement or life imprisonment which is accordance with 42 Pa. C.S.  §9714 (Pennsylvania Commi ssion on Sentencing, 2008). Pennsylvania’s Uniform Crime Reporting tracks all forms of Robbery together. According to the Pennsylvania Uniform Crime Reporting System, in 2008 there were 18,751 reported robbery offenses which is equivalent to 51 per day or one every 28 minutes and 2 seconds (PA UCRS, 2008). These figures showed a decrease of 2.5% from 2007 which had 19,239 reported robberies (PA UCRS, 2008). Robbery made up 5.4% of the crime index and 37.2%  of the violent crime index in Pennsylvania in the year 2008 (PA UCRS, 2008). The reported robbery rates in Pennsylvania in 2008 were 150.6 per 100,000 inhabitants (PA UCRS, 2008). Recidivism is defined as a habitual relapse into crime, which is a problem that is faced within the criminal justice system. Pennsylvania tracks information on inmates released in order to find the recidivism rates. In 2002 Pennsylvania Department of Corrections released 1,711 inmates charged with robbery and within three years 46.6% returned to prison, which was a decline from 2000 when 1,776 inmates charged for robbery were released and 52.8% of the inmates returned within three years (PADOC, 2006). A study was conducted in Italy in 2006 when the Collective Clemency Bill set all inmates with less than three years remaining on their sentence free however if the inmates were convicted of another crime within the next five years, the remainder of their sentence would be added onto the new sentence. This allowed studies to be conducted to see if longer prison terms would deter criminals. Studies showed that increasing the sentence by 50% should reduce recidivism rates by about 35% in seven months (Crime/Punishment, 2010). With inmates comes a bill to cover the housing, feeding, and medical costs of each inmate. The cost to house a prisoner in the Pennsylvania Department of Corrections (PADOC) is $ 69 per day (Barnes, 2010). In July 2010 the Pennsylvania Department of Corrections housed 51,281 inmates, at $69 per day that amounts to $3,538,389 per day or $1,291,151,985 per year (PADOC, 2010). There are multiple benefits of the bill being passed to double the maximum prison term for those convicted of armed robbery. The study that was conducted in Italy shows that longer prison sentences lowers the recidivism rates among offenders, which over time would reduce the population of the already over populated prisons. The criminals would be off the streets for a longer period of time preventing them from committing future crimes. Longer prison sentences could be a deterrent for some criminals. Robbery is one of the top two violent crimes committed in Pennsylvania and the longer sentence imposed on those criminals may lower the rate of armed robbery however it could cause an increase in other crimes. If the bill were passed and new prisons built to accommodate all inmates there would be more jobs available such as corrections officers, nurses, doctors, dentists, psychologists, and office personnel. These job openings would not only assist with job market, but also with having mo re  tax payers to assist with the money needed for the Commonwealth of Pennsylvania budget. There are also multiple disadvantages to the bill being passed to double the maximum prison term for those convicted of armed robbery. Pennsylvania prisons are overpopulated as it is and by imposing longer sentences the problem is going to continue to get worse. As discussed earlier the prison population in June 2010 was 51,281 however the occupational bed capacity of the Pennsylvania Department of Corrections is only 43,872 (PADOC, 2010). The prisons are already operating at 116.9% of capacity and by passing this bill those rates are going to increase at a more rapid pace than they already are (PADOC, 2010). As discussed earlier the cost to house an inmate in Pennsylvania Department of Corrections is $69 per day which if this bill is passed a much larger budget is going to be required because inmates are going to be housed for a longer period of time. The need may arise for more prisons due to the longer prison terms which would require a much larger budget. With more prisons comes the need for more employees to operate those prisons which also is going to have an effect on the prison budget. Where is the money going to come from to meet the increase in the budget? The tax payers are the ones that are going to have to suffer to make the funding available for the prison system budget. Other crime rates may rise as a domino effect because criminals may turn to other crimes that are known to carry a lighter sentence if they are caught. If the bill is passed it is not required that judges sentence those convicted of the crime to the maximum sentence. Judges are required to look at mitigating and aggravating circumstances when sentencing individuals found guilty of committing crimes. Judges look at prior criminal history, personal life situation, was anyone hurt during the crime, or sometimes the remorse the person shows toward the crime they committed. This bill could be beneficial in the cases of habitual offenders because there would be stricter sentencing for the first offense rather than having to wait until the second or even third offense. As we all know with anything there is pros and cons. There appears to be more cons in this situation than there are pros which should make the Commonwealth of Pennsylvania legislature take a second look into whether or not passing this bill is going to be the most beneficial thing for the Commonwealth as a whole. I would find that it would not be beneficial to double the maximum sentence for those individuals  charged with committing armed robbery. The evidence shows that it would cost the Commonwealth of Pennsylvania more money to double the sentence for armed robbery. The evidence also proves that close to 50% of people convicted of armed robbery are going to reoffend which is going to bring them back to the criminal justice system and with one offense already committed they will receive a longer sentence the second time around. This also allows for those who are actually capable of being rehabilitated to have the chance to prove themselves without having to spend 10 years in pri son. References Barnes, T. (2010). Post-Gazette. Pa. sentencing guidelines eyed. Retrieved on August 31, 2010 from http://www.post-gazette.com/pg/10002/1025303-454.stm Crime/Punishment (2010). Do stiffer sentences act as a crime deterrent? Retrieved on August 31, 2010 from http://crime.about.com/od/prevent/a/deterrence.htm Department of Justice Federal Bureau of Investigation (2006). Crime in the United States 2004. Violent Crime. Retrieved on August 31, 2010 from http://www.fbi.gov/ucr/cius_04/offenses_reported/violent_crime/index.html Pennsylvania Commission on Sentencing (2008). Retrieved August 31, 2010 from http://pcs.la.psu.edu/guidelines/sentencing/sentencing-statutes-and-programs/related-statutes/mandatory-minimum-sentences/SentMandMin122008.pdf Pennsylvania Department of Corrections (2010). Monthly population report June 2010. Retrieved on August 31, 2010 from http://www.cor.state.pa.us/portal/server.pt/community/research___statistics/10669/monthly_population_reports/568195 Pennsylvania Department of Corrections (2006). Recidivism in Pennsylvania State Correctional Institutions 1999-2004. Retrieved on August 31, 2010 from http://www.cor.st ate.pa.us/portal/server.pt/community/research___statistics/10669/annual_reports/567085 Pennsylvania Uniform Crime Reporting System (2008). Annual Report Robbery. Retrieved on August 31, 2010 from http://ucr.psp.state.pa.us/UCR/Reporting/Annual/AnnualFrames.asp?year=2008 Sentencing guidelines (2010). Retrieved August 30, 2010 from http://www.willdefend.com/CM/Custom/TOCSentencingGuidelines.asp

Friday, August 30, 2019

The Effect of Part-Time Jobs on Students

Balancing a Schedule Balancing a part-time job while attending classes full-time will force a student to balance their schedule. A March 2009 study by the Bureau of Labor Statistics says students with part-time work reduce the time spent on homework, sleeping, socialization and life maintenance by 84 percent. A student employee will need to learn how to not let the decrease on time spent on studying show in her academic performance. Experiencing Workplace Culture Classroom learning is important, but the culture of workplaces and offices are hard to impart within the classroom.Holding down a regular position outside the classroom will allow students to gain firsthand experience in office culture and politics, which will be helpful upon graduation and their first full-time job. Sponsored Links University of Liverpool Boost your career with Master in Business Administration. Apply Now! www. liverpool-degrees. com It's All Who You Know In today's weak economy, it is even more crucial for students to make as many valuable connections as possible.Working part time for a campus office or off-campus organization will allow students to network outside their social circles, giving them valuable recommendations and contacts for their full-time job search. Accountability and Responsibility According to â€Å"Work on the Campus: Benefits for Student and Institution† by Mary Roark, â€Å"Values, skills, emotional maturity, personal identity and integrity are fostered through (on-campus) employment experiences. † Student-employees will learn to be accountable for their actions in a non-classroom or home environment, and experience how responsibility is delegated and evaluated in an office.Basic Skills Many on-campus part-time jobs will give students the opportunity to learn administrative skills, such as phone and email etiquette, office electronics troubleshooting, and meeting manners. Gaining such skills while in school will place a student-employee ahead of t he curve when they enter the full-time workforce. Read more: The Effect of Part-Time Jobs on Students | eHow. com http://www. ehow. com/facts_5518492_effect-parttime-jobs-students. html#ixzz2CvDLxt4w

Thursday, August 29, 2019

Buyer Decision Process And Three Time Zones Marketing Essay

Buyer Decision Process And Three Time Zones Marketing Essay Communication is not only important in our day to day life. It is very important in business situations as well. Marketing communication is an essential method when building relationships with customers. With the globalisation and many factors competition has increased. Therefore in order to attract customers communication or marketing communication is becoming one of key method and it is becoming a more important factor when deciding the success in businesses in the modern world. When analysing the provided business situation it can be clearly seen that this organisation has been considering more on communication mix strategies and decreasing the customer satisfaction or providing less attention to the satisfaction of customers for some time. Communication mix is a method which is used by all the 3 dominant business philosophies that is production philosophy, selling philosophy and marketing philosophy in order to communicate with customers. There are many methods/tools in the comm unication mix including, advertising, personal selling, sales promotions, publicity, instructional materials, etc. There are many objectives of external communications (generated inside the organisation), building awareness, communicating product benefits and advantages, providing information to assist in the decision making process of the customers, differentiate products and influence the purchase decision. But now he has realized that only concentrating on communication mix strategies is not enough. If the customers are not happy or satisfied the negative word of mouth that can spread through them not only can erode effectiveness of the communication mix but also decrease the future sales. Therefore it can be clearly seen that he has identified the communications generated outside the organisation those can be either word of mouth or other communications which can be spread using various Medias including recent electronic variations can have an influence over marketing mix strate gies. Further it has mentioned that although majority of customers are satisfied, negative word of mouth generated by dissatisfied customers can damage the effectiveness of both communication mix and positive word of mouth. When customers are buying products once or twice in their life time then the word of mouth communication is more important because although the repeat purchase is negligible they tend to spread good or bad about your products and especially when they had received poor experience from specific products or service they tend to alert and warn their associates about those products. Another important factor here is the target market of this home building organisation is first home buyers. Therefore in this business situation when someone builds their house for the first time due to this is high involvement decision (high financial risk, social risk, etc.) customers tend to take advices from their peers. Further they may expect more from their first home because it is a big investment in their life time whereas building another house is a rare situation. Today with the development of technologies the power of the word of mouth communication has increased more. Various electronic media have immerged supporting the spread of word of mouth. For an example with through Skype anyone having an internet connection can get free video or voice calls freely. With social networks like Facebook, MySpace people are always sharing and connected to each other. Another emerging communication through internet is web blogs or forums. Through those kinds of methods people share their knowledge and experiences with all most all the people connected trough internet. Therefore if someone wants to get information about particular thing they can do it immediately and without time and space barriers.

Wednesday, August 28, 2019

Discuss Marx's concept of surplus value and the exploitation of Essay

Discuss Marx's concept of surplus value and the exploitation of workers by capitalists. How convincing is his argument - Essay Example Marx also considered labor as a form of private property, classical economists, whereby considering the social labor as dead labor. Nevertheless, the main objective of the paper is to analyze various arguments by Marx concerning the concept of surplus value and exploitation of workers by capitalist, in order to determine how convincing they are. Marx redefined human being as a social being, who conceives the human generic life as a social activity of labor in a way that the concept of alienation is established with a certain meaning. On the other hand, there are consequences related to the difference of the definitions, role of the concepts of value as it is depicted in his works. The theory of labor value focuses on the scope of economic investigation, whereby even the historians of economic thought included Marx among classical economists. Therefore, Marx’s theories are depicted as radicalized versions of the classical theory of labor value. Marx’s concept of labor va lue has been inspired Neoclassical or NeoRicardian theory, which argues that labor is a unit of measure of commodities and capital, as he applies the argument to discuss the theory of capitalist exploitation (Skillman, 362). Moreover, the difference appears more relevant to remember, since the works various economists such as Torrens and Sraffa have embraced the knowledge of labor value. This is through the Ricardo’s theory, which serves as a unit of measure of capital and social products under assumptions. Moreover, the effort of assigning the role of measuring the distribution of the social products to the concept of value is a crucial role in Marx theoretical framework. The critical role refers to the specifically social and historically relative state of production mode, which depends on the exchange value. There are claims by Marx indicating that the classical economists identified labor as a source of value, and they considered the law of the capitalist mode of producti on to be natural and internal. This resulted to consideration of value form being quite indifferent or external to the nature of the commodity. There is a significant explanation of Marx perception concerning the inability to deduce more developed form of value such as money and capital or labor from economic classes. Therefore, there is a critical aspect of Marx methods, which depends on exposing the relative value of social labor in the contribution made in the first section of Book I of The Capital (Skillman, 309). Marx claimed that the reason why political economist fails to recognize the source of value in labor is due to exclusive concern on the question related to distribution of the social products, which relate to the magnitude of the value. Consequently, they consider the labor manifests in the value of commodity, hence making them unable to differentiate between labor producing use value and labor producing exchange value. Invocation of price value equivalence by Marx is considered as ideal case of the commodity exchange, which is appropriate based on pursuing the basic logic of capitalist exploitation and treatment of alternative circuit of capital that fails to account for a mode of production in which they operate. Moreover, Marx suggests that an imprecise conception of capital is a social relation of production, whereby three divergent circuits of capital that

Tuesday, August 27, 2019

Vital Signs and Nursing Procedures in Postoperative Period of Cardio Essay

Vital Signs and Nursing Procedures in Postoperative Period of Cardio Surgery - Essay Example This discussion stresses that  the abstract of the article presents a structured approach to the entire article as it presents a detailed explanation of section-by-section of the article. The article incorporates the various elements accordingly, revealing the relevant information to the reader as expected. This abstract, for instance, has the objective, in which it directly states the objective of the article as to develop a comparative analysis of the vital signs of patients after cardiac surgery, as well as, the nursing procedures. Further, the abstract follows with the method, outlining the procedures taken in the study, describing the study design and participants, data collection process and methods of analyzing and presenting the findings.This paper outlines that  in the introductory description of the study, the authors present a background of the study accordingly. They reflect on existing concern on the subject of concern, presenting the establishments from these relati onal past findings. Further, they proceed accordingly to present a justification for their study through identifying the gaps in the existing resources on the topic. Thus, from this observation, the authors evaluate the relevant basis of the study, creating the entire purpose of the study clearly. Additionally, the authors project their study through noting the existing problem, which is the existence of aspects of patient exposure after cardiac surgery.

Monday, August 26, 2019

Project Management tools Assignment Example | Topics and Well Written Essays - 1000 words

Project Management tools - Assignment Example Quantitative measures are most commonly accepted because of ease of measurement. Surprisingly, Clements and Gido (2010) make no mention of KPIs, although they mention the project objective which should be clarified at the outset and may be defined in terms of scope, schedule and cost (p.115). Cox et al’s (2003, p.148) six significant indicators are quality control; on-time completion; cost; safety; cost (in dollars) per unit placement and units completed/placed per man-hour worked. Of these, only safety is qualitative (p.144). Yuan et al (2009) investigated KPI selection in public-private partnership projects and identified the top five priorities for different stakeholders: STAKEHOLDER GROUP Academia Private Sector Public Sector General Public OBJECTIVE RANKING 1 Acceptable quality of project Acceptable quality of project Acceptable quality of project Acceptable quality of project 2 Quality public service Life cycle cost reduction Within budget or saving money in construction and operation Quality public service 3 Within budget or saving money in construction and operation On-time or earlier project completion Solving the problem of public sector budget restraint Provide timelier and more convenient service for society 4 On-time or earlier project completion Within budget or saving money in construction and operation Transferring risk to private sector Satisfying the need for public facilities 5 Satisfying the need for public facilities Quality public service Quality public service On-time or earlier project completion Table 1: Top Five Objectives in Different Stakeholder Groups (Source: Yuan et al 2009 p.263) These findings confirm those of Cox et al (2003) in terms of quality, cost and on-time completion, but safety, cost per unit placement and units completed/placed per man-hour worked are missing. In so doing, these findings also confirm the importance of the perception from which the judgment of KPI utilised is made. (250 words, excluding table) Fl exible Work Breakdown Structure for Integrated Cost and Schedule Control Youngsoo Jung and Sungkwon Woo Jung and Woo (2004) introduce the concept of a flexible work breakdown structure (WBS) with standard classification codes to reduce the amount of data requiring control. Their argument is that â€Å"integrating cost and schedule control functions provides an effective tool for monitoring the construction process† (ibid, p.616) The implication of their approach is they are using a task-driven planning process. PRINCE2 (OGC 2009) takes a product-based approach, focusing on what needs to be done, rather than the individual tasks that need to be done. The argument is that â€Å"the set of agreed products defined the scope of a project and provides the basis for planning and control† (ibid, p.14). The product-based approach is used by Rad and Cioffi (2004) in proposing the use of both work and resource breakdown structures to enable more accurate costing with task duratio ns and activity estimates. They identify the WBS as a roadmap for such things including work definition, cost estimates and expenditures and time estimates and scheduling. The ultimate goal of the WBS, for their purposes, is to â€Å"highlight[s] a logical organisation of products, parts or modules ... associated with each element of the WBS†

Reserch paper Research Example | Topics and Well Written Essays - 2000 words

Reserch - Research Paper Example The coastal periphery was habitat to some of the world's first known civilizations, every one of them rising around productive river valleys. The central plain area had for a long time been occupied by horse-mounted travelers who could reach every areas of Asia from the plains. The earliest assumed growth out of the steppe is that of the Indo-Europeans, who increased their languages to South Asia, the Middle East, and the borders of China. The northernmost division of Asia, which includes much of Siberia, was chiefly unreachable to the steppe nomads, due to the thick forests, climate as well as tundra. These regions remained very thinly populated (Randall, 2004). The middle and the borders were typically kept divided by deserts and mountains. The Himalaya Mountains and Caucasus and the Gobi and Karakum deserts formed obstacles that the steppe horsemen could only cross with trouble. As the urban city inhabitants were more superior socially and technologically, in numerous cases they c ould do little in an armed aspect to shield against the mounted gangs of the steppe. On the other hand, the lowlands did not have adequate open grasslands to sustain large horse bound strength. This made the nomads who conquered states in India, China and the Middle East to often adapt to the local, wealthier societies (Randall, 2004). The Islamic Caliphate took over Central Asia and the Middle East in the Muslim invasions of the 7th century. The Mongol Empire occupied a large fraction of Asia in the 13th century. These areas extend from China to Europe. The rule of law has been peddled repeatedly by scholars in the West as an essential modernity aspect. According to that quantification of period, the rule of law being the basis of the first merger of China in the 2nd century BC, civilization occurred in china 23 centuries ago. Researchers tip that by the conclusion of the 17th century, while the Chinese empire often emerged in English literature as a symbol for tyranny, it was also at times congratulated for its lawful code long recognized on ideals of morality, order and good government (Irina, 2005). By the close of the 19th century and during to the start of the 20th, every Asian country has had Western systems of government and law. some got this by colonial obligation, an example being India and the former East Indies, presently known as Indonesia, the Philippines, Singapore, present-day Malaysia Hong Kong, Cambodia, Vietnam and Laos. Some countries had voluntary adoption - Japan and by it Korea, Nationalist China and Formosa/Taiwan (Mark, 2002). The political and legal structures introduced various directions. The Britons brought the common Law as well as the Westminster parliamentary system; the French, dutch, Spanish and Portuguese had the Civil and Roman-Dutch Law combined with administration. Late into the second half of the 20th century, Asia witnesses the Soviet-socialist systems amid Marxism-communism. With political administration and law on one hand and culture, arts and educational progressions on the other, Asia saw an assortment of cultural situations. The past British colonies can be characterized as pragmatist, the Spanish as social hierarchical, the French as cultural selective and the Dutch as authoritarian administrative. These features delicately but significantly color the personality of each one society. This is to say that the British district officer principles and advance of Mr Lee Kuan Yew,

Sunday, August 25, 2019

What role does sexuality play in Dracula Essay Example | Topics and Well Written Essays - 750 words

What role does sexuality play in Dracula - Essay Example In the 19th century the position of women in the society left much to be desired. Women as well as sexual minorities suffered terrible discrimination as there was much prejudice around their reputation. If we try to imagine a woman of that time, our imagination will draw a rather shy, repressed creature whose head is full of rules she should follow in order to stay innocent. However, Stoker’s â€Å"Dracula† demonstrates that, despite all the prejudices, women still were curious about sex and the satisfaction of their secret desires. For example, Lucy is shown as an attractive young woman, who has a choice, because three men want to marry her. Lucy can’t choose between them as she is surprised: â€Å"Why can’t they let a girl marry three men, or as many as want her?† (Stoker 80). This phrase testifies about the difference between men and women: men had an opportunity to state their desires, but women should have kept silent about them. Lucy wanted to express her desire, but this was her fatal mistake. The character of Lucy showed that women have always had sexual desires, but in Victorian times these desires were strictly restrained and any attempts to express them were suppressed. In order to avoid humiliation and express her desire, Lucy had to transform into a vampire. This extremity testifies that it was absolutely impossible for women to show their feelings and the character of vampire transformed into the means of expressing secret emotions. The character of Mina is quite opposite to the character of Lucy, she is an innocent woman with strict principles, moreover she is a devoted wife: â€Å"I have been working very hard lately, because I want to keep up with Jonathan’s studies†¦I shall be able to be useful to [him]†. ... The character of Mina is quite opposite to the character of Lucy, she is an innocent woman with strict principles, moreover she is a devoted wife: â€Å"I have been working very hard lately, because I want to keep up with Jonathan’s studies†¦I shall be able to be useful to [him]† (Stoker 75). Women were considered weak creatures that needed protection all the time, thus it was necessary for women to be married. A man provided a woman with necessary protection, thus she had to be devoted and grateful to him for that. Needless to say that such an image of a woman is absolutely sexless, because a woman afraid of everything would never dare to express her sexual desires and if she tried to do that she would be severely punished and this attempt would turn into humiliation. The character of Dracula is very interesting in terms of sexuality, first of all because Dracula is bisexual. The sexuality of Dracula is also demonstrated through vampires’ transformations an d the rituals of blood sucking, which represent the realization of vampires’ reproductive function. â€Å"it is eminently notable, then, that male, not female vampires reproduce†¦Dracula alone reproduces his form† (Halberstam 7). Dracula is a creature without a particular gender that makes his character very interesting; he is a real embodiment of sexuality. According to Craft, Dracula’s sexuality is what the whole novel is based on: â€Å"a swooning desire for an overwhelming penetration and an intense aversion to the demonic potency empowered to gratify that desire† (Craft 109). Stoker presents us with a unique and interesting representation of human sexuality.

Saturday, August 24, 2019

Consensual Relationship Agreements Case Study Example | Topics and Well Written Essays - 1500 words

Consensual Relationship Agreements - Case Study Example This discussion stresses that there might be emails, instant messages, phone chats etc. while two people are in a workplace relationship. These things will affect the performance of the employees. Still, these might be controlled if the boss makes it clear that these things will not be appreciated in workplace but then again, there might be rebellious behavior from them. The worst nightmare, however, can be when these people breakup and end their relationship on a bad note. This might affect their performance to great extremes. For example, if one is superior in rank than the other he/she might become biased, judgmental and the other might be discriminated against. Bad words might be exchanged and gossips about them might start which will eventually affect their work. There is also a chance that sometimes on e party might claim that he/she was pressured to be in the relationship. This can bring extreme results which will immediately affect company’s rapport and performance. From this paper it is clear that in such circumstances, the company cannot just tell the employees that there will be no workplace relationships as this will cause rebellion which might bring aggressive responses and attitudes from employees which is even worse. Moreover, more people will do it just to show their adventurous and thrilling side. Also, this can cause frustration among employees. In order to avoid all of the above, an approach might be taken which is called Consensual Relationship Agreements (CRA) which is a written contract signed by two people who are involved in a romantic relationship in an organization. In such a contract, both the parties agree to certain things that mainly cover that both of them are involved in the relationship willingly, with their full consent and are not under any pressure.

Friday, August 23, 2019

Compare the housing bubble in US and in China & how can Chinese Essay

Compare the housing bubble in US and in China & how can Chinese government learn from US - Essay Example My goal in this paper is to do a comparative study of the housing bubble in both U.S and China. China has experienced extraordinary growth in the housing market in the recent past; as a result, there has been a substantial increase in residential property. Nevertheless, while accelerating house prices in china may help indicate the presence of the bubble, its existence is still very controversial. Arguably, the current housing boom can be a rational bubble arising naturally from China’s economic transition. With the $580-billion stimulus package injected in 2008, just before the financial crises hit U.S, China’s economy has been able to withstand the global economic meltdown. The stimulus led to banks loosening their lending rate; hence there was excessive lending to home purchasers and thus rapidly raising the housing prices. Unfortunately, should the prices fall, there would be an increase in nonperforming loans and this would trigger china’s housing bubble. In U.S the housing bubble is believed to have been driven mainly by historically low interest rates. However, the low-interest rates, on their own, could not have caused the bubble and these have led to formulation of so many explanations and theories to try and explain what happened. According to (Holt) the correlation between housing price growth and subprime lending across market indicated that the lender took so much risk in booming markets thus increasing to even more the market demand. The meltdown in the housing market consequently, yielded to the devastating financial crisis. Evidently, the effects are still visible and the residential market In U.S is still on the road to recovery, with home prices yet to return to their historical high. Development of housing bubbles follows irrational exuberance for continuous rise of house prices. In the development of U.S Housing bubble, there was a rapid

Thursday, August 22, 2019

Validating Hesss law Essay Example for Free

Validating Hesss law Essay Is the enthalpy change for a given chemical change the same whether the reaction takes place in a single stage or via several stages, provided the initial and final conditions are the same. Introduction: Hesss Law (1840) states that for a given chemical change the enthalpy change is the same whether the reaction takes place in a single stage or via several stages, provided the initial and final conditions are the same. We will test the validity of this law using the reaction between sodium hydroxide and hydrochloric acid. The reaction between solid sodium hydroxide and dilute hydrochloric acid can be carried out in two ways. Method 1 NaOH(s) + HCl(aq) NaCl(aq) + H2O(l) ?H?1 Method 2 NaOH(s) NaOH(aq) ?H?2 then NaOH(aq) + HCl(aq) NaCl(aq) + H2O(l) ?H?3 According to Hesss Law ?H?1 = ?H?2 + ?H?3 In calculating the enthalpy of reaction values in each of the above and following cases, it is assumed that: a. The density of the solutions is 1 gcm-3 b. The specific heat capacity of the solutions is 4.2Jg-1K-1 c. The specific heat capacity of the polystyrene cup is negligible and may be ignored. Apparatus: * Polystyrene cup * Thermometer * HCl * NaOH pellets * H2O * Digital weight reader * Measuring cylinder Method: Measurement of ?H?1 Pour 50cm3 of 1M hydrochloric acid into the polystyrene cup and record its temperature as accurately as you possibly can. Weigh out 2g of sodium hydroxide pellets and quickly add these to the acid in your polystyrene cup. Stir and record the maximum temperature reached. Calculate the enthalpy change of this reaction in kJmol-1. Measurement of ?H?2 Pour 50cm3 of water into an empty polystyrene cup and record its temperature as accurately as you possibly can. Weigh out 2g of sodium hydroxide pellets and quickly add these to the water in your polystyrene cup. Stir and record the maximum temperature reached. Calculate the enthalpy change of this process in kJmol-1. Measurement of ?H?3 Pour 50cm3 of 1M sodium hydroxide into an empty polystyrene cup and record its temperature as accurately as you possibly can. Measure out 50cm3 of 1M hydrochloric acid into a measuring cylinder and record its temperature. Calculate the average initial temperature of the acid and the alkali. Add the acid to the alkali in your polystyrene cup and record the maximum temperature reached. Calculate the enthalpy change of this reaction inkJmol-1. Data Collection: Measurement of ?H?1 Measurement of ?H?2 Measurement of ?H?3 Initial Temperature/à ¯Ã‚ ¿Ã‚ ½C ? 0.1à ¯Ã‚ ¿Ã‚ ½C The enthalpy change ?H?1 is given by multiplying the mass of HCl (m) by its specific heat capacity (Cp) and the change in temperature (?T). Since this reaction takes place in solution, which we assume to be mostly water. Hence the mass of the solution will be 50g and the specific heat capacity is given as 4.2J/g/à ¯Ã‚ ¿Ã‚ ½C. The calculation for the mass of the solution is as follows: % Error in ?T = The enthalpy change ?H?2 is given by multiplying the mass of NaOH (m) by its specific heat capacity (Cp) and the change in temperature (?T). Since this reaction takes place in solution, which we assume to be mostly water. Hence the mass of the solution will be 50g and the specific heat capacity is given as 4.2J/g/à ¯Ã‚ ¿Ã‚ ½C. The calculation for the mass of the solution is as follows: % Error in ?T = The enthalpy change ?H?3 is given by multiplying the mass of HCl (m) by its specific heat capacity (Cp) and the change in temperature (?T). Since this reaction takes place in solution, which we assume to be mostly water. Hence the mass of the solution will be 100g and the specific heat capacity is given as 4.2J/g/à ¯Ã‚ ¿Ã‚ ½C. The calculation for the mass of the solution is as follows: So using the results found above we see that: It can be seen that ?H?1 is almost equal to ?H?2 + ?H?3 but due to experimental errors such as heat being lost to the surroundings and not having exact readings they are not equal. Hesss law has therefore been validated but the results would have been much more accurate if there was an insulating capsule around the polystyrene cup so as to prevent any heat from being lost to the environment and by having more accurate apparatus in terms of measuring cylinders and thermometers.

Wednesday, August 21, 2019

Benthams Utilitarianism Essay Example for Free

Benthams Utilitarianism Essay Bentham sees that man is being governed by two feelings, this is pleasure and pain. These determine that which is good and evil for man. These are also the basis of the act of man, and these-pain and pleasure would be the fundamentals of the philosophy, utilitarianism. The principle of utility is the action that approves or disapproves an action whatsoever. By the principle of utility, it aims to help man to choose which would give him benefit. The principle of utility determines that which would give man more happiness, good, and pleasure, and negate that which would give him otherwise. The perfect example of something that executes the principle of utility is the government. Since it upholds the betterment of the many, than the pleasure of the individualthis is demonstrated in law-making. Legislators are bound to the principle of utility as they legislate, while for manhe acts with Calculus of Felicity in his mind. Considering the intensity, duration, trueness and closeness of an act. But these are only applicable for a given moment of time, but if a man has to consider a succession of events he must consider fecunditywhere he thinks that a positive act would be followed followed by a positive act, and puritywhere man thinks that an act will not be followed by a negative effect, or karma. But for Bentham he asserts that this philosophy should be placed in context. The principle utilitarianism is nor always a good basis in judging the morality of an act. But the process of utilitarianism ail always be a good determiner of pleasure, profit, and advantage and also to tell which he should avert. Bentham considers that this principle maybe useless at times but he believes in the nature of man, he is innately born with pleasures of pain and this principle would always be useful to him.

Tuesday, August 20, 2019

Concepts of Object Oriented Techniques with OO Issues

Concepts of Object Oriented Techniques with OO Issues Abstract Object-oriented frameworks offer reuse at a high design level promising several benefits to the development of complex systems. This paper sought to 1) define the concepts of object oriented techniques in addition with the OO issues, development techniques and concepts of object oriented programming, it is also introduced the UML as an ordinary and key tool for object-oriented design, additionally 2) we look further into the frameworks from the perspective of object-oriented techniques. In this section, it is aimed to define a reasonable promise between object oriented technology and frameworks. At the end, some future horizons for object oriented technology and frameworks are presented. I. Introduction Computing power and network bandwidth have increased dramatically over the past decade. However, the design and implementation of complex software remains expensive and error-prone. Much of the cost and effort stems from the continuous re-discovery and re-invention of core concepts and components across the software industry. In particular, the growing heterogeneity of hardware architectures and diversity of operating system and communication platforms makes it hard to build correct, portable, efficient, and inexpensive applications from scratch. Object-oriented (OO) techniques and frameworks are promising technologies for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software. A framework is a reusable, semi-complete application that can be specialized to produce custom applications [19]. In contrast to earlier OO reuse techniques based on class libraries, frameworks are targeted for particular business units (such as dat a processing or cellular communications[1]) and application domains (such as user interfaces or real-time avionics). Frameworks like MacApp, ET++, Interviews, ACE, Microsofts MFC and DCOM, JavaSofts RMI, and implementations of OMGs CORBA play an increasingly important role in contemporary software development. II. Object oriented concepts and techniques History The concept of objects and instances in computing had its first major breakthrough with the PDP-1 system at MIT which was probably the earliest example of capability based architecture. Another early example was Sketchpad created by Ivan Sutherland in 1963; however, this was an application and not a programming paradigm. Objects as programming entities were introduced in the 1960s in Simula 67, a programming language designed for performing simulations, created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo. (They were working on ship simulations, and were confounded by the combinatorial explosion of how the different attributes from different ships could affect one another. The idea occurred to them of grouping the different types of ships into different classes of objects; each class of objects being responsible for defining its own data and behavior.) Such an approach was a simple extrapolation of concepts earlier used in analog programming. On ana log computers, mapping from real-world phenomena/objects to analog phenomena/objects (and conversely), was (and is) called simulation. Simula not only introduced the notion of classes, but also of instances of classes, which is probably the first explicit use of those notions. The ideas of Simula 67 influenced many later languages, especially Smalltalk and derivatives of Lisp and Pascal. The Smalltalk language, which was developed at Xerox PARC[2] (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67. Smalltalk and with it OOP were introduced to a wider audience by the August 1981 issue of Byte magazine. In the 1970s, Kays Smalltalk work had influenced the Lisp community to incorporate object-based techniques which were introduced to developers via the Lisp machine. Experimentation with various extensions to Lisp (like LOOPS and Flavors introducing multiple inheritance and mixins), eventually led to the Common Lisp Object System (CLOS, a part of the first standardized object-oriented programming language, ANSI Common Lisp), which integrates functional programming and object-oriented programming and allows extension via a Meta-object protocol. In the 1980s, there were a few attempts to design processor architectures which included hardware support for objects in memory but these were not successful. Examples include the Intel iAPX 432 and the Linn Smart Rekursiv. Object-oriented programming developed as the dominant programming methodology during the mid-1990s, largely due to the influence of Visual FoxPro 3.0 or possibly C++. Its dominance was further enhanced by the rising popularity of graphical user interfaces, for which object-oriented programming seems to be well-suited. An example of a closely related dynamic GUI library and OOP language can be found in the Cocoa frameworks on Mac OS X, written in Objective-C, an object-oriented, dynamic messaging extension to C based on Smalltalk. OOP toolkits also enhanced the popularity of event-driven programming (although this concept is not limited to OOP). Some feel that association with GUIs (real or perceived) was what propelled OOP into the programming mainstream. At ETH ZÃ ¼rich, Niklaus Wirth and his colleagues had also been investigating such topics as data abstraction and modular programming (although this had been in common use in the 1960s or earlier). Modula-2 (1978) included both, and their succeeding design, Oberon, included a distinctive approach to object orientation, classes, and such. The approach is unlike Smalltalk, and very unlike C++. Object-oriented features have been added to many existing languages during that time, including Ada, BASIC, Fortran, Pascal, and others. Adding these features to languages that were not initially designed for them often led to problems with compatibility and maintainability of code. More recently, a number of languages have emerged that are primarily object-oriented yet compatible with procedural methodology, such as Python and Ruby. Probably the most commercially important recent object-oriented languages are Visual Basic.NET (VB.NET) and C#, both designed for Microsofts .NET platform, and Java, developed by Sun Microsystems. VB.NET and C# both support cross-language inheritance, allowing classes defined in one language to subclass classes defined in the other language. Just as procedural programming led to refinements of techniques such as structured programming, modern object-oriented software design methods include refinements such as the use of design patterns, design by contract, and modeling languages (such as UML). The term OOPS, which refers to an object-oriented programming system, was common in early development of object-oriented programming. III. Fundamental concepts and features Class Defines the abstract characteristics of a thing (object), including the things characteristics (its attributes, fields or properties) and the things behaviors (the things it can do, or methods, operations or features). One might say that a class is a blueprint or factory that describes the nature of something. For example, the class Dog would consist of traits shared by all dogs, such as breed and fur color (characteristics), and the ability to bark and sit (behaviors). Classes provide modularity and structure in an object-oriented computer program. A class should typically be recognizable to a non-programmer familiar with the problem domain, meaning that the characteristics of the class should make sense in context. Also, the code for a class should be relatively self-contained (generally using encapsulation). Collectively, the properties and methods defined by a class are called members. Object A pattern (exemplar) of a class. The class Dog defines all possible dogs by listing the characteristics and behaviors they can have; the object Lassie is one particular dog, with particular versions of the characteristics. A Dog has fur; Lassie has brown-and-white fur. Instance One can have an instance of a class; the instance is the actual object created at runtime. In programmer jargon, the Lassie object is an instance of the Dog class. The set of values of the attributes of a particular object is called its state. The object consists of state and the behavior thats defined in the objects class. More on Classes, Metaclasses, Parameterized Classes, and Exemplars There are two broad categories of objects: classes and instances. Users of object-oriented technology usually think of classes as containing the information necessary to create instances, i.e., the structure and capabilities of an instance is determined by its corresponding class. There are three commonly used (and different) views on the definition for class: A class is a pattern, template, or blueprint for a category of structurally identical items. The items created using the class are called instances. This is often referred to as the class as a `cookie cutter' view. As you might guess, the instances are the cookies. A class is a thing that consists of both a pattern and a mechanism for creating items based on that pattern. This is the class as an `instance factory' view; instances are the individual items that are manufactured (created) using the classs creation mechanism. A class is the set of all items created using a specific pattern. Said another way, the class is the set of all instances of that pattern. We should note that it is possible for an instance of a class to also be a class. A metaclass is a class whose instances themselves are classes. This means when we use the instance creation mechanism in a metaclass, the instance created will itself be a class. The instance creation mechanism of this class can, in turn, be used to create instances although these instances may or may not themselves be classes. A concept very similar to the metaclass is the parameterized class. A parameterized class is a template for a class wherein specific items have been identified as being required to create non-parameterized classes based on the template. In effect, a parameterized class can be viewed as a fill in the blanks version of a class. One cannot directly use the instance creation mechanism of a parameterized class. First, we must supply the required parameters, resulting in the creation of a non-parameterized class. Once we have a non-parameterized class, we can use its creation mechanisms to create instances. In this paper, we will use the term class to mean metaclass, parameterized class, or a class that is neither a metaclass nor a parameterized class. We will make a distinction only when it is necessary to do so. Further, we will occasionally refer to non-class instances. A non-class instance is an instance of a class, but is itself not a class. An instance of a metaclass, for example, would not be a non-class instance. In this paper, we will sometimes refer to instantiation. Instantiation has two common meanings: as a verb, instantiation is the process of creating an instance of a class, and as a noun, an instantiation is an instance of a class. Some people restrict the use of the term object to instances of classes. For these people, classes are not objects. However, when these people are confronted with the concepts of metaclasses and parameterized classes, they have a difficulty attempting to resolve the problems these concepts introduce. For example, is a class that is an instance of a metaclass an object even though it is itself a class? In this paper, we will use the term object to refer to both classes and their instances. We will only distinguish between the two when needed. Black Boxes and Interfaces Objects are black boxes. Specifically, the underlying implementations of objects are hidden from those that use the object. In object-oriented systems, it is only the producer (creator, designer, or builder) of an object that knows the details about the internal construction of that object. The consumers (users) of an object are denied knowledge of the inner workings of the object, and must deal with an object via one of its three distinct interfaces: The public interface. This is the interface that is open (visible) to everybody. The inheritance interface. This is the interface that is accessible only by direct specializations of the object. (We will discuss inheritance and specialization later in this chapter.) In class-based object-oriented systems, only classes can provide an inheritance interface. The parameter interface. In the case of parameterized classes, the parameter interface defines the parameters that must be supplied to create an instance of the parameterized class. Another way of saying that an item is in the public interface of an object is to say that the object exports that item. Similarly, when an object requires information from outside of itself (e.g., as with the parameters in a parameterized class), we can say that the object needs to import that information. Aggregation It is, of course, possible for objects to be composed of other objects. Aggregation is either: The process of creating a new object from two or more other objects, or An object that is composed of two or more other objects. For example, a date object could be fashioned from a month object, a day object, and a year object. A list of names object, for example, can be thought of as containing many name objects. A monolithic object is an object that has no externally-discernible structure. Said another way, a monolithic object does not appear to have been constructed from two or more other objects. Specifically, a monolithic object can only be treated as a cohesive whole. Those outside of a monolithic object cannot directly interact with any (real or imagined) objects within the monolithic object. A radio button in a graphical user interface (GUI) is an example of a monolithic object. Composite objects are objects that have an externally-discernible structure, and the structure can be addressed via the public interface of the composite object. The objects that comprise a composite object are referred to as component objects. Composite objects meet one or both of the following criteria: The state of a composite object is directly affected by the presence or absence of one or more of its component objects, and/or The component objects can be directly referenced via the public interface of their corresponding composite object. It is useful to divide composite objects into two subcategories: heterogeneous composite objects and homogeneous composite objects: A heterogeneous composite object is a composite object that is conceptually composed of component objects that are not all conceptually the same. For example, a date (made up of a month object, a day object, and a year object) is a heterogeneous composite object. A homogeneous composite object is a composite object that is conceptually composed of component objects that are all conceptually the same. For example, a list of addresses is a homogeneous composite object. The rules for designing heterogeneous composite objects are different from the rules for designing homogeneous composite objects. Specialization and Inheritance Aggregation is not the only way in which two objects can be related. One object can be a specialization of another object. Specialization is either: The process of defining a new object based on a (typically) more narrow definition of an existing object, or An object that is directly related to, and more narrowly defined than, another object. Specialization is usually associated with classes. It is usually only in the so-called classless object-oriented systems that we think of specialization for objects other than classes. Depending on their technical background, there are a number of different ways in which people express specialization. For example, those who are familiar with an object-oriented programming language called Smalltalk refer to specializations as subclasses and to the corresponding generalizations of these specializations as superclasses. Those with a background in the C++ programming language use the term derived class for specialization and base class for corresponding generalizations. It is common to say that everything that is true for a generalization is also true for its corresponding specialization. We can, for example, define checking accounts and savings accounts as specializations of bank accounts. Another way of saying this is that a checking account is a kind of bank account, and a savings account is a kind of bank account. Still another way of expressing this idea is to say that everything that was true for the bank account is also true for the savings account and the checking account. In an object-oriented context, we speak of specializations as inheriting characteristics from their corresponding generalizations. Inheritance can be defined as the process whereby one object acquires (gets, receives) characteristics from one or more other objects. Some object-oriented systems permit only single inheritance, a situation in which a specialization may only acquire characteristics from a single generalization. Many object-oriented systems, however, allow for multiple inheritance, a situation in which a specialization may acquire characteristics from two or more corresponding generalizations. Our previous discussion of the bank account, checking account, and savings account was an example of single inheritance. A telescope and a television set are both specializations of device that enables one to see things far away. A television set is also a kind of electronic device. You might say that a television set acquires characteristics from two different generalizations, device that enables one to see things far away and electronic device. Therefore, a television set is a product of multiple inheritance. Abstract Classes We usually think of classes as being complete definitions. However, there are situations where incomplete definitions are useful, and classes that represent these incomplete definitions are equally useful. For example, in everyday conversation, we might talk about such items as bank accounts, insurance policies, and houses. In object-oriented thinking, we often isolate useful, but incomplete, concepts such as these into their own special classes. Abstract classes are classes that embody coherent and cohesive, but incomplete, concepts, and in turn, make these characteristics available to their specializations via inheritance. People sometimes use the terms partial type and abstract superclass as synonyms for abstract class. While we would never create instances of abstract classes, we most certainly would make their individual characteristics available to more specialized classes via inheritance. For example, consider the concept of an automobile. On one hand, most people know what an automobile is. On the other hand, automobile is not a complete definition for any vehicle. It would be quite accurate to describe automobile as the set of characteristics that make a thing an automobile, in other words, the essence of automobile-ness. Operations The public interface of an object typically contains three different categories of items: operations (sometimes referred to as method selectors, method interfaces, messages, or methods), constants, and exceptions. An operation in the public interface of an object advertises a functional capability of that object. For example, deposit would be an operation in the public interface of a bank account object, what is current temperature would be an operation in the public interface of a temperature sensor object, and increment would be an operation in the public interface of a counter object. The actual algorithm for accomplishing an operation is referred to as a method. Unlike operations, methods are not in the public interface for an object. Rather, methods are hidden on the inside of an object. So, while users of bank account objects would know that they could make a deposit into a bank account, they would be unaware of the details as to how that deposit actually got credited to the bank account. We refer to the operations in the public interface of an object as suffered operations. Suffered operations are operations that meet two criteria: they are things that happen to an object, and they are in the public interface of that object. For example, we can say that a bank account suffers the operation of having a deposit made into it. The bank account can also suffer the operation of being queried as to its current balance. Some people also refer to suffered operations as exported operations. There are three broad categories of suffered operations, i.e.: A selector is an operation that tells us something about the state of an object, but cannot, by definition, change the state of the object. An operation that tells us the current balance of a bank account is an example of a selector operation. A constructor is an operation that has the ability to change the state of an object. For example, an operation in the public interface to a mailbox object that added a message to the mailbox would be a constructor operation. (Please note that some people restrict the definition of the term constructor to those operations that cause instances of a class to come into existence.) In the context of a homogeneous composite object, an iterator is an operation that allows its users to visit (access) each of the component objects that make up the homogeneous composite object. If we have a list of addresses, for example, and we wish to print the entire list, an iterator would allow us to visit each address object within the list and then, in turn, to print each address. Iterators can be further divided into two broad categories: active (open) iterators and passive (closed) iterators. Active iterators are objects in their own right. Passive iterators are implemented as operations in the interface of the object over which they allow iteration. Passive iterators are further broken down into selective iterators and constructive iterators. Passive selective iterators do not allow their users to change the object over which the iteration takes place. Passive constructive iterators do allow users to change the object over which iteration takes place. We can also describe suffered operations as primitive or composite. A primitive operation is an operation that cannot be accomplished simply, efficiently, and reliably without direct knowledge of the underlying (hidden) implementation of the object. As an example, we could argue that an operation that added an item to a list object, or an operation that deleted an item from a list object were primitive operations with respect to the list object. Suppose that we wanted to create a swap operation, an operation that would swap in a new item in a list, while at the same time swapping out an old item in the same list. This is not a primitive operation since we can accomplish this with a simple combination of the delete operation (deleting the old item) followed by the add operation (adding the new item). The swap operation is an example of a composite operation. A composite operation is any operation that is composed, or can be composed, of two or more primitive operations. Sometimes objects need help in maintaining their characteristics. Suppose, for example, that we wanted to create a generic ordered list object. An ordered list is a list that must order its contents from the smallest to the largest. Specifically, every time we add an item to our ordered list, that item would have to be placed in its proper position with respect to all the other items already in the list. By generic, we mean a template that can be instantiated with the category (class) of items we wish to place in the ordered list. It would not be unreasonable to implement this object as a parameterized class. Obviously, one of the parameters would be the category of items (e.g., class) that we desired to place in the list. For example, could instantiate (make an instance) the generic ordered list with a name class resulting in the creation of an ordered list of names class. There is a problem, however. Given that we could instantiate the generic ordered list with just about any category of items, how can we be sure that the ordered lists will know how to properly maintain order no matter what we use to instantiate the generic ordered list? Suppose, for example, that we wanted an ordered list of fazoomas. How could the generic list class tell if one fazooma was greater than or less than another fazooma? A solution would be for the generic ordered list to require a second parameter, a parameter over and above the category of items (class) that we desired to place in the list. This second parameter would be a The Constants In addition to suffered operations, the public interface of an object can also contain constants. Constants are objects of constant state. Imagine that we want to create a bounded list of addresses class. A bounded list is a list that has a fixed maximum number of elements. A bounded list can be empty, and it can contain fewer than the maximum number of elements. It can even contain the maximum number of elements, but it can never contain more than the defined maximum number of elements. Assume that we place a constant in the public interface of our bounded list of addresses. This constant represents the maximum number of elements that can be placed in the bounded list. Assume also that there is a suffered operation that will tell us how many elements (addresses, in our example) are currently in the bounded list. We can now determine how much room is available in the bounded list by inquiring how many addresses are already in the list, and then subtracting this from the previously-defined constant. In some cases, as with the bounded list example above, constants are provided more for convenience than necessity. In other cases, such as in the case of encryption algorithms needing a seed value, constants are an absolute requirement. Exceptions A third category of items that can be found in the public interface of objects is exceptions. Exceptions have two different definitions: an event that causes suspension of normal application execution, and a set of information directly relating to the event that caused suspension of normal application execution. Exceptions can be contrasted with an older, less reliable technology: error codes. The idea behind error codes was fairly simple. You would request that an application, or part of an application, accomplish some work. One of the pieces of information that would be returned to the requester would be an error code. If all had gone well, the error code would typically have a value of zero. If any problems had occurred, the error code would have a non-zero value. It was also quite common to associate different non-zero values of an error code with specific errors. Error codes suffered from two major problems: No one was forced to actually check the value of returned error codes. Changes (additions, deletions, and modifications) in the meanings of the special values assigned to error codes were not automatically passed on to interested parties. Tracking the effects of a changed error code value often consumed a significant amount of resources. To understand how exceptions directly address both of these issues, we first need to understand how exceptions typically work: Exceptions may be defined by the environment or by the user. When an exceptional (but not unforeseen) condition occurs, an appropriate exception is activated. (People use different terms to express the activation of an exception. The most common is raise. Less commonly, people use the terms throw or activate.) This activation may be automatic (controlled by the environment) or may be expressly requested by the designer of the object or application. Examples of exceptional conditions include trying to remove something from an empty container, directing an elevator on the top floor to go up, and attempting to cause a date to take on an invalid value like February 31, 1993. Once the exception is activated, normal application execution stops and control is transferred to a locally defined exception handler, if one is present. If no locally defined exception handler is present or if the exception handler is not equipped to handle the exception, the exception is propagated to the next higher level of the application. Exceptions cannot be ignored. An exception will continue to be sent to higher levels of the application until it is either turned off or the application ceases to function. An exception handler checks to see what type of exception has been activated. If the exception is one that the handler recognizes, a specific set of actions is taken. Executing a set of actions in response to an exception is known as handling the exception. Handling an exception deactivates the exception; the exception will not be propagated any further. Unlike error codes, exceptions cannot be ignored. Once an exception has been activated, it demands attention. In object-oriented systems, exceptions are placed in the public interfaces of objects. Changes in the public interfaces of objects very often require an automatic rechecking of all other objects that invoke operations in the changed objects. Thus, changes in exceptions result in at least a partially automated propagation of change information. Object Coupling and Object Cohesion Engineers have known for centuries that the less any one part of a system knows about any other part of that same system, the better the overall system. Systems whose components are highly independent of each other are easier to fix and enhance than systems where there are strong interdependencies among some or all of the components. Highly independent system components are possible when there is minimal coupling among the components, and each component is highly cohesive. Coupling is a measure of the strength of the connection between any two system components. The more any one component knows about another component, the tighter (worse) the coupling is between those two components. Cohesion is a measure of how logically related the parts of an individual component are to each o Concepts of Object Oriented Techniques with OO Issues Concepts of Object Oriented Techniques with OO Issues Abstract Object-oriented frameworks offer reuse at a high design level promising several benefits to the development of complex systems. This paper sought to 1) define the concepts of object oriented techniques in addition with the OO issues, development techniques and concepts of object oriented programming, it is also introduced the UML as an ordinary and key tool for object-oriented design, additionally 2) we look further into the frameworks from the perspective of object-oriented techniques. In this section, it is aimed to define a reasonable promise between object oriented technology and frameworks. At the end, some future horizons for object oriented technology and frameworks are presented. I. Introduction Computing power and network bandwidth have increased dramatically over the past decade. However, the design and implementation of complex software remains expensive and error-prone. Much of the cost and effort stems from the continuous re-discovery and re-invention of core concepts and components across the software industry. In particular, the growing heterogeneity of hardware architectures and diversity of operating system and communication platforms makes it hard to build correct, portable, efficient, and inexpensive applications from scratch. Object-oriented (OO) techniques and frameworks are promising technologies for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software. A framework is a reusable, semi-complete application that can be specialized to produce custom applications [19]. In contrast to earlier OO reuse techniques based on class libraries, frameworks are targeted for particular business units (such as dat a processing or cellular communications[1]) and application domains (such as user interfaces or real-time avionics). Frameworks like MacApp, ET++, Interviews, ACE, Microsofts MFC and DCOM, JavaSofts RMI, and implementations of OMGs CORBA play an increasingly important role in contemporary software development. II. Object oriented concepts and techniques History The concept of objects and instances in computing had its first major breakthrough with the PDP-1 system at MIT which was probably the earliest example of capability based architecture. Another early example was Sketchpad created by Ivan Sutherland in 1963; however, this was an application and not a programming paradigm. Objects as programming entities were introduced in the 1960s in Simula 67, a programming language designed for performing simulations, created by Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo. (They were working on ship simulations, and were confounded by the combinatorial explosion of how the different attributes from different ships could affect one another. The idea occurred to them of grouping the different types of ships into different classes of objects; each class of objects being responsible for defining its own data and behavior.) Such an approach was a simple extrapolation of concepts earlier used in analog programming. On ana log computers, mapping from real-world phenomena/objects to analog phenomena/objects (and conversely), was (and is) called simulation. Simula not only introduced the notion of classes, but also of instances of classes, which is probably the first explicit use of those notions. The ideas of Simula 67 influenced many later languages, especially Smalltalk and derivatives of Lisp and Pascal. The Smalltalk language, which was developed at Xerox PARC[2] (by Alan Kay and others) in the 1970s, introduced the term object-oriented programming to represent the pervasive use of objects and messages as the basis for computation. Smalltalk creators were influenced by the ideas introduced in Simula 67, but Smalltalk was designed to be a fully dynamic system in which classes could be created and modified dynamically rather than statically as in Simula 67. Smalltalk and with it OOP were introduced to a wider audience by the August 1981 issue of Byte magazine. In the 1970s, Kays Smalltalk work had influenced the Lisp community to incorporate object-based techniques which were introduced to developers via the Lisp machine. Experimentation with various extensions to Lisp (like LOOPS and Flavors introducing multiple inheritance and mixins), eventually led to the Common Lisp Object System (CLOS, a part of the first standardized object-oriented programming language, ANSI Common Lisp), which integrates functional programming and object-oriented programming and allows extension via a Meta-object protocol. In the 1980s, there were a few attempts to design processor architectures which included hardware support for objects in memory but these were not successful. Examples include the Intel iAPX 432 and the Linn Smart Rekursiv. Object-oriented programming developed as the dominant programming methodology during the mid-1990s, largely due to the influence of Visual FoxPro 3.0 or possibly C++. Its dominance was further enhanced by the rising popularity of graphical user interfaces, for which object-oriented programming seems to be well-suited. An example of a closely related dynamic GUI library and OOP language can be found in the Cocoa frameworks on Mac OS X, written in Objective-C, an object-oriented, dynamic messaging extension to C based on Smalltalk. OOP toolkits also enhanced the popularity of event-driven programming (although this concept is not limited to OOP). Some feel that association with GUIs (real or perceived) was what propelled OOP into the programming mainstream. At ETH ZÃ ¼rich, Niklaus Wirth and his colleagues had also been investigating such topics as data abstraction and modular programming (although this had been in common use in the 1960s or earlier). Modula-2 (1978) included both, and their succeeding design, Oberon, included a distinctive approach to object orientation, classes, and such. The approach is unlike Smalltalk, and very unlike C++. Object-oriented features have been added to many existing languages during that time, including Ada, BASIC, Fortran, Pascal, and others. Adding these features to languages that were not initially designed for them often led to problems with compatibility and maintainability of code. More recently, a number of languages have emerged that are primarily object-oriented yet compatible with procedural methodology, such as Python and Ruby. Probably the most commercially important recent object-oriented languages are Visual Basic.NET (VB.NET) and C#, both designed for Microsofts .NET platform, and Java, developed by Sun Microsystems. VB.NET and C# both support cross-language inheritance, allowing classes defined in one language to subclass classes defined in the other language. Just as procedural programming led to refinements of techniques such as structured programming, modern object-oriented software design methods include refinements such as the use of design patterns, design by contract, and modeling languages (such as UML). The term OOPS, which refers to an object-oriented programming system, was common in early development of object-oriented programming. III. Fundamental concepts and features Class Defines the abstract characteristics of a thing (object), including the things characteristics (its attributes, fields or properties) and the things behaviors (the things it can do, or methods, operations or features). One might say that a class is a blueprint or factory that describes the nature of something. For example, the class Dog would consist of traits shared by all dogs, such as breed and fur color (characteristics), and the ability to bark and sit (behaviors). Classes provide modularity and structure in an object-oriented computer program. A class should typically be recognizable to a non-programmer familiar with the problem domain, meaning that the characteristics of the class should make sense in context. Also, the code for a class should be relatively self-contained (generally using encapsulation). Collectively, the properties and methods defined by a class are called members. Object A pattern (exemplar) of a class. The class Dog defines all possible dogs by listing the characteristics and behaviors they can have; the object Lassie is one particular dog, with particular versions of the characteristics. A Dog has fur; Lassie has brown-and-white fur. Instance One can have an instance of a class; the instance is the actual object created at runtime. In programmer jargon, the Lassie object is an instance of the Dog class. The set of values of the attributes of a particular object is called its state. The object consists of state and the behavior thats defined in the objects class. More on Classes, Metaclasses, Parameterized Classes, and Exemplars There are two broad categories of objects: classes and instances. Users of object-oriented technology usually think of classes as containing the information necessary to create instances, i.e., the structure and capabilities of an instance is determined by its corresponding class. There are three commonly used (and different) views on the definition for class: A class is a pattern, template, or blueprint for a category of structurally identical items. The items created using the class are called instances. This is often referred to as the class as a `cookie cutter' view. As you might guess, the instances are the cookies. A class is a thing that consists of both a pattern and a mechanism for creating items based on that pattern. This is the class as an `instance factory' view; instances are the individual items that are manufactured (created) using the classs creation mechanism. A class is the set of all items created using a specific pattern. Said another way, the class is the set of all instances of that pattern. We should note that it is possible for an instance of a class to also be a class. A metaclass is a class whose instances themselves are classes. This means when we use the instance creation mechanism in a metaclass, the instance created will itself be a class. The instance creation mechanism of this class can, in turn, be used to create instances although these instances may or may not themselves be classes. A concept very similar to the metaclass is the parameterized class. A parameterized class is a template for a class wherein specific items have been identified as being required to create non-parameterized classes based on the template. In effect, a parameterized class can be viewed as a fill in the blanks version of a class. One cannot directly use the instance creation mechanism of a parameterized class. First, we must supply the required parameters, resulting in the creation of a non-parameterized class. Once we have a non-parameterized class, we can use its creation mechanisms to create instances. In this paper, we will use the term class to mean metaclass, parameterized class, or a class that is neither a metaclass nor a parameterized class. We will make a distinction only when it is necessary to do so. Further, we will occasionally refer to non-class instances. A non-class instance is an instance of a class, but is itself not a class. An instance of a metaclass, for example, would not be a non-class instance. In this paper, we will sometimes refer to instantiation. Instantiation has two common meanings: as a verb, instantiation is the process of creating an instance of a class, and as a noun, an instantiation is an instance of a class. Some people restrict the use of the term object to instances of classes. For these people, classes are not objects. However, when these people are confronted with the concepts of metaclasses and parameterized classes, they have a difficulty attempting to resolve the problems these concepts introduce. For example, is a class that is an instance of a metaclass an object even though it is itself a class? In this paper, we will use the term object to refer to both classes and their instances. We will only distinguish between the two when needed. Black Boxes and Interfaces Objects are black boxes. Specifically, the underlying implementations of objects are hidden from those that use the object. In object-oriented systems, it is only the producer (creator, designer, or builder) of an object that knows the details about the internal construction of that object. The consumers (users) of an object are denied knowledge of the inner workings of the object, and must deal with an object via one of its three distinct interfaces: The public interface. This is the interface that is open (visible) to everybody. The inheritance interface. This is the interface that is accessible only by direct specializations of the object. (We will discuss inheritance and specialization later in this chapter.) In class-based object-oriented systems, only classes can provide an inheritance interface. The parameter interface. In the case of parameterized classes, the parameter interface defines the parameters that must be supplied to create an instance of the parameterized class. Another way of saying that an item is in the public interface of an object is to say that the object exports that item. Similarly, when an object requires information from outside of itself (e.g., as with the parameters in a parameterized class), we can say that the object needs to import that information. Aggregation It is, of course, possible for objects to be composed of other objects. Aggregation is either: The process of creating a new object from two or more other objects, or An object that is composed of two or more other objects. For example, a date object could be fashioned from a month object, a day object, and a year object. A list of names object, for example, can be thought of as containing many name objects. A monolithic object is an object that has no externally-discernible structure. Said another way, a monolithic object does not appear to have been constructed from two or more other objects. Specifically, a monolithic object can only be treated as a cohesive whole. Those outside of a monolithic object cannot directly interact with any (real or imagined) objects within the monolithic object. A radio button in a graphical user interface (GUI) is an example of a monolithic object. Composite objects are objects that have an externally-discernible structure, and the structure can be addressed via the public interface of the composite object. The objects that comprise a composite object are referred to as component objects. Composite objects meet one or both of the following criteria: The state of a composite object is directly affected by the presence or absence of one or more of its component objects, and/or The component objects can be directly referenced via the public interface of their corresponding composite object. It is useful to divide composite objects into two subcategories: heterogeneous composite objects and homogeneous composite objects: A heterogeneous composite object is a composite object that is conceptually composed of component objects that are not all conceptually the same. For example, a date (made up of a month object, a day object, and a year object) is a heterogeneous composite object. A homogeneous composite object is a composite object that is conceptually composed of component objects that are all conceptually the same. For example, a list of addresses is a homogeneous composite object. The rules for designing heterogeneous composite objects are different from the rules for designing homogeneous composite objects. Specialization and Inheritance Aggregation is not the only way in which two objects can be related. One object can be a specialization of another object. Specialization is either: The process of defining a new object based on a (typically) more narrow definition of an existing object, or An object that is directly related to, and more narrowly defined than, another object. Specialization is usually associated with classes. It is usually only in the so-called classless object-oriented systems that we think of specialization for objects other than classes. Depending on their technical background, there are a number of different ways in which people express specialization. For example, those who are familiar with an object-oriented programming language called Smalltalk refer to specializations as subclasses and to the corresponding generalizations of these specializations as superclasses. Those with a background in the C++ programming language use the term derived class for specialization and base class for corresponding generalizations. It is common to say that everything that is true for a generalization is also true for its corresponding specialization. We can, for example, define checking accounts and savings accounts as specializations of bank accounts. Another way of saying this is that a checking account is a kind of bank account, and a savings account is a kind of bank account. Still another way of expressing this idea is to say that everything that was true for the bank account is also true for the savings account and the checking account. In an object-oriented context, we speak of specializations as inheriting characteristics from their corresponding generalizations. Inheritance can be defined as the process whereby one object acquires (gets, receives) characteristics from one or more other objects. Some object-oriented systems permit only single inheritance, a situation in which a specialization may only acquire characteristics from a single generalization. Many object-oriented systems, however, allow for multiple inheritance, a situation in which a specialization may acquire characteristics from two or more corresponding generalizations. Our previous discussion of the bank account, checking account, and savings account was an example of single inheritance. A telescope and a television set are both specializations of device that enables one to see things far away. A television set is also a kind of electronic device. You might say that a television set acquires characteristics from two different generalizations, device that enables one to see things far away and electronic device. Therefore, a television set is a product of multiple inheritance. Abstract Classes We usually think of classes as being complete definitions. However, there are situations where incomplete definitions are useful, and classes that represent these incomplete definitions are equally useful. For example, in everyday conversation, we might talk about such items as bank accounts, insurance policies, and houses. In object-oriented thinking, we often isolate useful, but incomplete, concepts such as these into their own special classes. Abstract classes are classes that embody coherent and cohesive, but incomplete, concepts, and in turn, make these characteristics available to their specializations via inheritance. People sometimes use the terms partial type and abstract superclass as synonyms for abstract class. While we would never create instances of abstract classes, we most certainly would make their individual characteristics available to more specialized classes via inheritance. For example, consider the concept of an automobile. On one hand, most people know what an automobile is. On the other hand, automobile is not a complete definition for any vehicle. It would be quite accurate to describe automobile as the set of characteristics that make a thing an automobile, in other words, the essence of automobile-ness. Operations The public interface of an object typically contains three different categories of items: operations (sometimes referred to as method selectors, method interfaces, messages, or methods), constants, and exceptions. An operation in the public interface of an object advertises a functional capability of that object. For example, deposit would be an operation in the public interface of a bank account object, what is current temperature would be an operation in the public interface of a temperature sensor object, and increment would be an operation in the public interface of a counter object. The actual algorithm for accomplishing an operation is referred to as a method. Unlike operations, methods are not in the public interface for an object. Rather, methods are hidden on the inside of an object. So, while users of bank account objects would know that they could make a deposit into a bank account, they would be unaware of the details as to how that deposit actually got credited to the bank account. We refer to the operations in the public interface of an object as suffered operations. Suffered operations are operations that meet two criteria: they are things that happen to an object, and they are in the public interface of that object. For example, we can say that a bank account suffers the operation of having a deposit made into it. The bank account can also suffer the operation of being queried as to its current balance. Some people also refer to suffered operations as exported operations. There are three broad categories of suffered operations, i.e.: A selector is an operation that tells us something about the state of an object, but cannot, by definition, change the state of the object. An operation that tells us the current balance of a bank account is an example of a selector operation. A constructor is an operation that has the ability to change the state of an object. For example, an operation in the public interface to a mailbox object that added a message to the mailbox would be a constructor operation. (Please note that some people restrict the definition of the term constructor to those operations that cause instances of a class to come into existence.) In the context of a homogeneous composite object, an iterator is an operation that allows its users to visit (access) each of the component objects that make up the homogeneous composite object. If we have a list of addresses, for example, and we wish to print the entire list, an iterator would allow us to visit each address object within the list and then, in turn, to print each address. Iterators can be further divided into two broad categories: active (open) iterators and passive (closed) iterators. Active iterators are objects in their own right. Passive iterators are implemented as operations in the interface of the object over which they allow iteration. Passive iterators are further broken down into selective iterators and constructive iterators. Passive selective iterators do not allow their users to change the object over which the iteration takes place. Passive constructive iterators do allow users to change the object over which iteration takes place. We can also describe suffered operations as primitive or composite. A primitive operation is an operation that cannot be accomplished simply, efficiently, and reliably without direct knowledge of the underlying (hidden) implementation of the object. As an example, we could argue that an operation that added an item to a list object, or an operation that deleted an item from a list object were primitive operations with respect to the list object. Suppose that we wanted to create a swap operation, an operation that would swap in a new item in a list, while at the same time swapping out an old item in the same list. This is not a primitive operation since we can accomplish this with a simple combination of the delete operation (deleting the old item) followed by the add operation (adding the new item). The swap operation is an example of a composite operation. A composite operation is any operation that is composed, or can be composed, of two or more primitive operations. Sometimes objects need help in maintaining their characteristics. Suppose, for example, that we wanted to create a generic ordered list object. An ordered list is a list that must order its contents from the smallest to the largest. Specifically, every time we add an item to our ordered list, that item would have to be placed in its proper position with respect to all the other items already in the list. By generic, we mean a template that can be instantiated with the category (class) of items we wish to place in the ordered list. It would not be unreasonable to implement this object as a parameterized class. Obviously, one of the parameters would be the category of items (e.g., class) that we desired to place in the list. For example, could instantiate (make an instance) the generic ordered list with a name class resulting in the creation of an ordered list of names class. There is a problem, however. Given that we could instantiate the generic ordered list with just about any category of items, how can we be sure that the ordered lists will know how to properly maintain order no matter what we use to instantiate the generic ordered list? Suppose, for example, that we wanted an ordered list of fazoomas. How could the generic list class tell if one fazooma was greater than or less than another fazooma? A solution would be for the generic ordered list to require a second parameter, a parameter over and above the category of items (class) that we desired to place in the list. This second parameter would be a The Constants In addition to suffered operations, the public interface of an object can also contain constants. Constants are objects of constant state. Imagine that we want to create a bounded list of addresses class. A bounded list is a list that has a fixed maximum number of elements. A bounded list can be empty, and it can contain fewer than the maximum number of elements. It can even contain the maximum number of elements, but it can never contain more than the defined maximum number of elements. Assume that we place a constant in the public interface of our bounded list of addresses. This constant represents the maximum number of elements that can be placed in the bounded list. Assume also that there is a suffered operation that will tell us how many elements (addresses, in our example) are currently in the bounded list. We can now determine how much room is available in the bounded list by inquiring how many addresses are already in the list, and then subtracting this from the previously-defined constant. In some cases, as with the bounded list example above, constants are provided more for convenience than necessity. In other cases, such as in the case of encryption algorithms needing a seed value, constants are an absolute requirement. Exceptions A third category of items that can be found in the public interface of objects is exceptions. Exceptions have two different definitions: an event that causes suspension of normal application execution, and a set of information directly relating to the event that caused suspension of normal application execution. Exceptions can be contrasted with an older, less reliable technology: error codes. The idea behind error codes was fairly simple. You would request that an application, or part of an application, accomplish some work. One of the pieces of information that would be returned to the requester would be an error code. If all had gone well, the error code would typically have a value of zero. If any problems had occurred, the error code would have a non-zero value. It was also quite common to associate different non-zero values of an error code with specific errors. Error codes suffered from two major problems: No one was forced to actually check the value of returned error codes. Changes (additions, deletions, and modifications) in the meanings of the special values assigned to error codes were not automatically passed on to interested parties. Tracking the effects of a changed error code value often consumed a significant amount of resources. To understand how exceptions directly address both of these issues, we first need to understand how exceptions typically work: Exceptions may be defined by the environment or by the user. When an exceptional (but not unforeseen) condition occurs, an appropriate exception is activated. (People use different terms to express the activation of an exception. The most common is raise. Less commonly, people use the terms throw or activate.) This activation may be automatic (controlled by the environment) or may be expressly requested by the designer of the object or application. Examples of exceptional conditions include trying to remove something from an empty container, directing an elevator on the top floor to go up, and attempting to cause a date to take on an invalid value like February 31, 1993. Once the exception is activated, normal application execution stops and control is transferred to a locally defined exception handler, if one is present. If no locally defined exception handler is present or if the exception handler is not equipped to handle the exception, the exception is propagated to the next higher level of the application. Exceptions cannot be ignored. An exception will continue to be sent to higher levels of the application until it is either turned off or the application ceases to function. An exception handler checks to see what type of exception has been activated. If the exception is one that the handler recognizes, a specific set of actions is taken. Executing a set of actions in response to an exception is known as handling the exception. Handling an exception deactivates the exception; the exception will not be propagated any further. Unlike error codes, exceptions cannot be ignored. Once an exception has been activated, it demands attention. In object-oriented systems, exceptions are placed in the public interfaces of objects. Changes in the public interfaces of objects very often require an automatic rechecking of all other objects that invoke operations in the changed objects. Thus, changes in exceptions result in at least a partially automated propagation of change information. Object Coupling and Object Cohesion Engineers have known for centuries that the less any one part of a system knows about any other part of that same system, the better the overall system. Systems whose components are highly independent of each other are easier to fix and enhance than systems where there are strong interdependencies among some or all of the components. Highly independent system components are possible when there is minimal coupling among the components, and each component is highly cohesive. Coupling is a measure of the strength of the connection between any two system components. The more any one component knows about another component, the tighter (worse) the coupling is between those two components. Cohesion is a measure of how logically related the parts of an individual component are to each o