Monday, September 28, 2009


1.1: The potential risk that may happen during system development and how to resolve the risk
Upon we want to create the software we will facing the a few risk. Risk are certain events or conditions that, if they occur, have a positive or negative effect on the project objectives. And have another opinion from Carnegie Mellon University Pittsburgh, Pennsylvania 15213 about risk, he used this definition “If you don’t actively attack the risks, they will actively attack you”. From my research by website, we should know what does it mean to actively attack risks? The answered is by examining the problems that exist in software development today and presenting the SEI Risk Program approach to turning risk into opportunity.

To resolve the risk, we must identifying risk first, assessing risk, responding to risk. Each from this resolving have own major categories of risk. In system developing, we must have knows to identify the potential risk events such technical risk example new breakthroughs, design errors or omissions. Administrative risk example in processing, procedures, changes in roles or responsibilities. Environmental example the culture of the organization, change in management or priorities, office politics and etc. all the risk events will change during the course of the project that may be bring to light additional sources of risk. And for risk identification should firstly be accomplished at the outset of the project and then should be updated on a regular basis throughout the life of the project.

In part of the assessing risk mainly focused on prioritising risks that’s why an effective risk strategy can be formulated. Otherwise, have two basic approaches to analyzing and assessing project risk. In the first approach is have more qualitative and it includes subjective assessments based on experience or intuition. Each approach has its own strengths and weekness when dealing with uncertainly, therefore combination of both qualitative and also the quantitative methods provides valuable technique when conducting risk assessment, for qualitative approaches will focuses on a subjective analyzing of risk based upon a project stakeholder’s by experience or judgement. It can be conducted by individual stakeholder. Among the techniques that fall in this category expected value, decision tress, risk tress and etc. in quantitative approaches to project analyzing including mathematical or statistical techniques and that will be allow the team to model a particular risk situation. As usually, including discrete probability distribution and etc.

The most important resolving in this risk is always responding to risk such as planning responses, possible responses, avoiding, transferring, mitigating, accepting and the last stage is response plan outcomes.

1.2: Chart uses-cases and uses-class Institute Of Business HI

2,1: Criticism Object Oriented Approach In Software Development.
As we known, the object oriented approach is the latest system development strategy in information technology and it is a programming paradigm that use object and also their interactions to design applications and the computer programs. The meaning of the approach is a continuation of the object oriented analysis strategy with emphasis to integrate data and also some process. an object is an item in the computer system, which is capable of giving a reaction to a message but by using different approach in looking at object, this technique requires a different approach during system analysis, system design an also the programming.
The object oriented analysis and design needs to define all types of the object that are required to communicate with human beings and also the devices in the system. A programmer must know used programming language and the environment. Otherwise, the programmer should to more study about new software in oriented object. Have main advantages of using the object oriented approach are the naturalness and re-usability of the object. The natural part, the users are more inclined to think better about their business in the natural form of objects. The re-usability was involves the object class and the same object can be re-used over and over again if required.
Meanwhile, the object-oriented approach is quite difficult to understand for these who are new in the field of system development. Example most of the information system today combine the traditional features and the object-oriented technology. The programmer should have own creativity to create some programming.
However, they should know the meaning each use case diagram, the class diagram and the oriented object model. Refer the history of oriented object approach, have many programmer try to upgrade the uses of it. Ivan Sutherland was early created Sketchpad in 1963. These Sketchpad also in category of the oriented object. However, this was an application and not a paradigm. 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.
Meanwhile, object-oriented features have been added to many existing languages during that time, including Ada, BASIC, Fortran, Pascal, and others. While adding these features to languages that were not initially designed for them often led to problems with compatibility and maintainability of code.
In other problem is there are a number of the programming challenges which a developer encounter regularly object oriented design. There are also widely accepted solutions to these problems. The best known are the design patterns codified by Gamma et al, but in a broader sense the term "design patterns" can be used to refer to any general, repeatable solution to a commonly occurring problem in software design. Some of these commonly occurring problems have implications and solutions particular to object-oriented development.
As the student of information technology, we must to know a few criticisms about the IT programming such as oriented object. Have a few writer whom expert in IT was wrote the article such as Luca Cardelli was wrote titled ‘Bad Engineering Properties of object oriented languages. Richard Stallman wrote in 1995, Adding object oriented programmed to Emacs is not clearly an improvement, he used the object oriented programmed and when it’s working on the Lisp machine window and he disagree with the usual view that it is a superior way program. Other criticism is Christopher J.Date stated that critical comparison of object oriented programmed to other technologies, relational in particular, is difficult because of lack of an agreed-upon and rigorous definition of object oriented programmed. And Alexander Stepanov suggested that object oriented programmed provides a mathematically-limited viewpoint and called it, "almost as much of a hoax as Artificial Intelligence" (possibly referring to the Artificial Intelligence projects and marketing of the 1980s that are sometimes viewed as overzealous in retrospect).


2.2: The differences between uses cases “include” and “Extend”.
2.2.1: The Include Relationship
The include relationship is typically where a set of use cases each includes some common functionality that is expressed in one shared sub-use cases. Example while writing use cases, we may find that sections of some use cases occur in multiple use cases.
Meanwhile, have e few uses case most important for this process such as maintain members use case, inclusion a sub-use case, a sub-use case and etc. Each from this use case have own their process to possible the process have smooth processing in oriented approach in software development. Otherwise, we can describe it as doing something common to several uses cases.
2.2.2: The Extend Relationship
The extend relationship is another type of relationship between use cases. In definition, the extend relationship is doing something extra in use cases.
Example we can add methods to a class by declaring them in an interface file under a category name and also defining them in an implementation file under same name. Meanwhile, the category name indicates that the methods are additions to a class declared elsewhere, not a new class. As our information, a category can be an alternative to a subclass. Rather than define a subclass to extend an existing class, through a category you can add methods to the class directly.
Have a few methods most important in this relationship. It is NSArray and OPENSTEP. It is for can do anything that methods defined in the class proper can do. A very common use of the extend relationship is for some action that can be taken at any time and also ability to print the information on the screen at any time.
2.3: What is inheritance and multiple inheritance? Explain the criticism and also the benefits.
Inheritance is a vital aspect of object-orientation and also it is relationship between object. This contrasts with an association relationship and which is the ‘has-a’ relationship. It’s can be shown on both conceptual class diagram and design class diagram to let the programmer easy to build the system. For examples you were writing a system department of polis Diraja Malaysia. This system has to handle many other units like Criminals Unit, Traffic Unit, Communication Unit, and etc. and in this system have different position and also each from them have different qualification. All these have some things in common and some things different. If we to draw the classes we might have following


For the multiple refer to a features of some object oriented programming language in which class can inherit. Meanwhile, most one superclass, languages that will support multiple inheritance include example Eiffel, C++, Python, Perl, Curl, common Lisp(via lisp) and TCL (via incremental TCL). The benefits of this part is allow a class to take an functionality from multiple other classes such as allowing a class named student musician to inherit from a class named person and a class named musician and also have a class named worker.
Worker: Person
Musician: Person Worker
Student Musician: person, musician worker.

Every system have own weakness to implemented the programming. Including this multiple inheritance, not implemented in many language to manage the system and create the new system through this system. The increased complexity will be obvious in development the new system. The other aspect, the semantic ambiguity after summarized as the diamond problem. Otherwise, it is not being able to explicitly inherit multiple times from a single class and order of inheritance changing class semantics.
In for using the language to create the system through it, in languages with C++/Java style constructors exacerbates the inheritance problem of constructor chaining, thereby creating maintenance and also the extensibility problems in these languages.

^ A Theory of Objects, Martin Abadi and Luca Cardelli
^ "Mode inheritance, cloning, hooks & OOP (Google Groups Discussion)". ^

No comments: