Sunday, May 11, 2008
Saturday, November 10, 2007
Friday, November 9, 2007
Legal and Ethical Issue in CBSE
The goals of this lesson is to gain an appreciation of the difficulties involved in considering the legal and ethical implementations of using component- based system. In this topic , i shows 2 example : The complaint made by Netscape communications corporation to Microsoft corporation. Personally, i feel that though Netscape has play a great part in bringing communication to the peoples , they did not meets the customers requirements which Microsoft has all along did. The birth of Microsoft is the death of Netscape. In the market , we can see similar product on the shelves but branding is stated differently. Same case apply to Netscape and Microsoft. If so , both this company may make a complaint and points towards Mozilla Firefox. Microsoft has posed a great threat to Netscape monopoly power as well as economic. Sony also posted the same way that they faced. Hence , patents, trademark and copyrights are important issue to the society . With appropriate usage , company can protect their rights from hurting themselves as well as the customer. It is reasonable to assume that manufacturers of software product should ensure the reliability of their products. As manufacturer enable to predict the purpose for which software will be used , where it will be installed , how it will be installed . Therefore , it impossible for the manufacturers to warrant software for fitness for use.
During the lesson , Mr Mok had brought up the UCITA - Uniform Computer Information Transaction. It is a proposed state contract law developed to regulate transactions in computer information products such as computer software, online databases . software access contracts or e-book. UCITA is destined for consideration by all fifty state legislatures. UCITA has become one of the more controversial uniform commercial laws . Since 2000 libraries have joined with a diverse coalition of patterns including retail and manufacturing concerns , consumer advocates , insurances and financial institutions and other non profits in mounting strong opposition whenever UCITA had been considered. UCITA was banned by the consumer due to poorly drafted , biased in favor of the software industry , increases the cost of doing business for organizations that make significant use of software and other technologies , UCITA also upsets the copyright law's careful balance between the interest of the public in the free flow of information and the protection of the rights of creators of software programs and other computer information.
During the lesson , Mr Mok had brought up the UCITA - Uniform Computer Information Transaction. It is a proposed state contract law developed to regulate transactions in computer information products such as computer software, online databases . software access contracts or e-book. UCITA is destined for consideration by all fifty state legislatures. UCITA has become one of the more controversial uniform commercial laws . Since 2000 libraries have joined with a diverse coalition of patterns including retail and manufacturing concerns , consumer advocates , insurances and financial institutions and other non profits in mounting strong opposition whenever UCITA had been considered. UCITA was banned by the consumer due to poorly drafted , biased in favor of the software industry , increases the cost of doing business for organizations that make significant use of software and other technologies , UCITA also upsets the copyright law's careful balance between the interest of the public in the free flow of information and the protection of the rights of creators of software programs and other computer information.
Final Presentation
This will be our final presentation for design patterns. 2 of our classmates are going to present the 6 usages , functionality and advantages of their design patterns.
Senthuran had presented :Observer Pattern, Builder Pattern & Command Pattern. During his presentation , I hardly hear his voice (too soft spoken). To able to understand the design pattern more deeply, i have to do some reading at home.
Observer design pattern : It is a behavioural pattern.In our new windowing world, we often would ike to display data in more than one form at the same time and have all of the displays reflect any changes in that data. For example, you might represent stock price changes both as a graph and as a table or list box. Each time the price changes, we’d expect both representations to change at once without any action on our part.We expect this sort of behavior because there are any number of Windows applications, like Excel, where we see that behavior.In Java, we can easily make use of the Observer Design Pattern to cause our program to behave in this way.
The Observer pattern assumes that the object containing the data is separate from the objects that display the data, and that these display objects observe changes in that data.
Builder Pattern is one of the creational pattern. A typical example is :
Your E-mail address book. You probably have both people and groups of people in your address book, and you would expect the display for the address book to change so that the People screen has places for first and last name, company, E-mail address and phone number. On the other hand if you were displaying a group address page, you’d like to see the name of the group, its purpose, and a list of members and their E-mail addresses. You click on a person and get one display and on a group and get the other display. Let’s assume that all E-mail addresses are kept in an object called an Address and that people and groups are derived from this base class.
The Builder Pattern assembles a number of objects, such as display widgets, in various ways depending on the data. Furthermore, since Java is one of the few languages where we can cleanly separate the data from the display methods into simple objects, Java is the ideal language to implement Builder patterns. Eg. CheckBox and ListBox Builder.
Command Pattern : In Chain of Responsibility forwards requests along a chain of classes, but the Command pattern forwards a request only to a specific module. It encloses a request for a specific action inside an object and gives it a known public interface. It lets you give the client the ability to make requests without knowing anything about the actual action that will be
performed, and allows you to change that action without affecting the client program in any way.
Lesson resume after the break. Mr Mok had discuss the topic on "Design patterns Introduction" . This topic let us to gain an appreciation of the potential uses of design pattern in software development and to examin a common patterns in details.Design patterns are difficult to learn or implement without a great deal of oo experience or a strong working team. Design patterns is known as a useful tool , However this is not the only one. There are other kinds of patterns apart from design pattern , there are , analysis pattern , workflow pattern and anti-pattern (software development , software architecture and software project management). To know more about desing pattern , I had also read up the "Building Flexible Components Based on Design Patterns" by Thomas Larsson and Mikael Snadberg. It talk about what is the exact relationship between design patterns and software components ? What benefits might design pattern bring to CBSE?Is there a set of design patterns defining software component?
Design pattern are important to CBD, even if they are a panacea. When developing components , one very obvious goal is to make them as usable as possible.Design pattern are very good tools to capture the pros and cons of different solutions.
Senthuran had presented :Observer Pattern, Builder Pattern & Command Pattern. During his presentation , I hardly hear his voice (too soft spoken). To able to understand the design pattern more deeply, i have to do some reading at home.
Observer design pattern : It is a behavioural pattern.In our new windowing world, we often would ike to display data in more than one form at the same time and have all of the displays reflect any changes in that data. For example, you might represent stock price changes both as a graph and as a table or list box. Each time the price changes, we’d expect both representations to change at once without any action on our part.We expect this sort of behavior because there are any number of Windows applications, like Excel, where we see that behavior.In Java, we can easily make use of the Observer Design Pattern to cause our program to behave in this way.
The Observer pattern assumes that the object containing the data is separate from the objects that display the data, and that these display objects observe changes in that data.
Builder Pattern is one of the creational pattern. A typical example is :
Your E-mail address book. You probably have both people and groups of people in your address book, and you would expect the display for the address book to change so that the People screen has places for first and last name, company, E-mail address and phone number. On the other hand if you were displaying a group address page, you’d like to see the name of the group, its purpose, and a list of members and their E-mail addresses. You click on a person and get one display and on a group and get the other display. Let’s assume that all E-mail addresses are kept in an object called an Address and that people and groups are derived from this base class.
The Builder Pattern assembles a number of objects, such as display widgets, in various ways depending on the data. Furthermore, since Java is one of the few languages where we can cleanly separate the data from the display methods into simple objects, Java is the ideal language to implement Builder patterns. Eg. CheckBox and ListBox Builder.
Command Pattern : In Chain of Responsibility forwards requests along a chain of classes, but the Command pattern forwards a request only to a specific module. It encloses a request for a specific action inside an object and gives it a known public interface. It lets you give the client the ability to make requests without knowing anything about the actual action that will be
performed, and allows you to change that action without affecting the client program in any way.
Lesson resume after the break. Mr Mok had discuss the topic on "Design patterns Introduction" . This topic let us to gain an appreciation of the potential uses of design pattern in software development and to examin a common patterns in details.Design patterns are difficult to learn or implement without a great deal of oo experience or a strong working team. Design patterns is known as a useful tool , However this is not the only one. There are other kinds of patterns apart from design pattern , there are , analysis pattern , workflow pattern and anti-pattern (software development , software architecture and software project management). To know more about desing pattern , I had also read up the "Building Flexible Components Based on Design Patterns" by Thomas Larsson and Mikael Snadberg. It talk about what is the exact relationship between design patterns and software components ? What benefits might design pattern bring to CBSE?Is there a set of design patterns defining software component?
Design pattern are important to CBD, even if they are a panacea. When developing components , one very obvious goal is to make them as usable as possible.Design pattern are very good tools to capture the pros and cons of different solutions.
Wednesday, October 24, 2007
JUnit Testing
As promise last week , Mr Mok would shows us more hands on example on JUnit testing. In today lesson , Mr Mok had show us where, how to install and run the JUnit program to test on our java coding. During our 2nd lessons onwards , we were told that before coding out a system , we should come out with our test classes and run it in JUnit testing. This is to ensure that the test classes are workable and there is no error occurred when the developer wants to do the next coding phase.
We had downloaded the JUnit program in our school computer. However , due to versioning (our computers in our lab are not installed with JDK 1.6) , we are unable to test our JUnit program. It was a bit disappointed but my laptop has saved me.... i had reinstalled the Junit program in my laptop and had worked from there.
By downloading to configuring the JUnit, had being a difficult process for a beginner. I think that once we get hold of the program, it will be easier for us to use it when our assignment two was assigned. We are able test our test classes using JUnit Testing.
Before the lesson end , our group had decided the location and time for our group meeting on our assignemnt 2. I hope that in this discussion , we are able to look into the requirement specification , download netbeans to our system , create grapic user interface for the system as well as coding.
We had downloaded the JUnit program in our school computer. However , due to versioning (our computers in our lab are not installed with JDK 1.6) , we are unable to test our JUnit program. It was a bit disappointed but my laptop has saved me.... i had reinstalled the Junit program in my laptop and had worked from there.
By downloading to configuring the JUnit, had being a difficult process for a beginner. I think that once we get hold of the program, it will be easier for us to use it when our assignment two was assigned. We are able test our test classes using JUnit Testing.
Before the lesson end , our group had decided the location and time for our group meeting on our assignemnt 2. I hope that in this discussion , we are able to look into the requirement specification , download netbeans to our system , create grapic user interface for the system as well as coding.
3rd Presentation: Bridge Pattern
The last presentation of CSI3303.
6 of us had presented our last design pattern. In the presentation , I had briefly introduce what is bridge pattern and how it is useful to us?
Bridge pattern is a design pattern used in software engineering .The purpose is to divide a complex component into two separate but related inheritance hierarchies. It able to make it easier to change either aspect of the component.
For example , if a user wanted to develop a ToDoList for the Personal Information Manage, a system should be flexible, able to modify and ability to choose.Thus to support this software, it is better to separe the ToDoList representation from its underlying implementation.
Benefits of this approach
Benefits of this approach is apparent when developer add capabilities to the basic behavior.
To add characters or numbering in subclass List.
To support features like grouping items sequentially : extend ListImpl.
In this presentation , one of our classmates had talk about the proxy design pattern. In proxy design pattern , it may be useful if the user have a remote object in a far away area and wants to have access to it. The proxy pattern creates a object locally which represent the remote object . Any communication with the remote object can now talk directly with the local object.There are several type of proxy deisng patterns. They are: virtual proxy, remote proxy, protective proxy and smart proxy.
I had also learn a brief idea on how the JUnit testing works as will as other 3 design patterns. Mr Mok will show us more hands on example and how to run a JUnit testing in the next coming lesson.
6 of us had presented our last design pattern. In the presentation , I had briefly introduce what is bridge pattern and how it is useful to us?
Bridge pattern is a design pattern used in software engineering .The purpose is to divide a complex component into two separate but related inheritance hierarchies. It able to make it easier to change either aspect of the component.
For example , if a user wanted to develop a ToDoList for the Personal Information Manage, a system should be flexible, able to modify and ability to choose.Thus to support this software, it is better to separe the ToDoList representation from its underlying implementation.
Benefits of this approach
Benefits of this approach is apparent when developer add capabilities to the basic behavior.
To add characters or numbering in subclass List.
To support features like grouping items sequentially : extend ListImpl.
In this presentation , one of our classmates had talk about the proxy design pattern. In proxy design pattern , it may be useful if the user have a remote object in a far away area and wants to have access to it. The proxy pattern creates a object locally which represent the remote object . Any communication with the remote object can now talk directly with the local object.There are several type of proxy deisng patterns. They are: virtual proxy, remote proxy, protective proxy and smart proxy.
I had also learn a brief idea on how the JUnit testing works as will as other 3 design patterns. Mr Mok will show us more hands on example and how to run a JUnit testing in the next coming lesson.
Tuesday, October 23, 2007
2nd Round of My Presentation
This week is my second presentation of java design pattern. I presented the template design pattern during the lesson. I had heard that the template design pattern is one of the easiest to understand of all the 24 types of design patterns that are taught in the syllabus. I am the third to present. I had given a short descriptions on the java template design pattern , follow by where does it implement, how does it benefits to the developer , the structure of the template design pattern and last but not least the coding as an example of the java design pattern.
By using Template design pattern , it helps to refactor common behaviour to simplified code however , if a beginner who is unfamiliar with coding and have little knowledge on Java programming , he might be having difficulties in writing and reading the code. Template design pattern is defined s the program skeleton of an algorithm in an operation. Template Methods lets subclasses redefine certain steps of an algorithm without changing the algorithm structure. Thus , the template methods helps to manage hte larger picture of task semantics , and more refined implementation details of selection and sequence of methods.
In total, there are 6 of us presented the design pattern. We are asked to grade our peer during the presentation. Some of the pattern i still having trouble to figure out , i will find a day to read up the methods and try it on myself.
Last but not least , Mr Mok had brought up the structure and the requirement of assignement 2. He had briefly tell us the scope and the java design methods that we are supose to use in our assignement 2. I had found my group members who are Han lin thet and John. I hope for the coming assignment , we can work and excel in a group. I am looking forward in this coming project ... learning journey of java coding is going to begin in my next phase of life..hehe...
By using Template design pattern , it helps to refactor common behaviour to simplified code however , if a beginner who is unfamiliar with coding and have little knowledge on Java programming , he might be having difficulties in writing and reading the code. Template design pattern is defined s the program skeleton of an algorithm in an operation. Template Methods lets subclasses redefine certain steps of an algorithm without changing the algorithm structure. Thus , the template methods helps to manage hte larger picture of task semantics , and more refined implementation details of selection and sequence of methods.
In total, there are 6 of us presented the design pattern. We are asked to grade our peer during the presentation. Some of the pattern i still having trouble to figure out , i will find a day to read up the methods and try it on myself.
Last but not least , Mr Mok had brought up the structure and the requirement of assignement 2. He had briefly tell us the scope and the java design methods that we are supose to use in our assignement 2. I had found my group members who are Han lin thet and John. I hope for the coming assignment , we can work and excel in a group. I am looking forward in this coming project ... learning journey of java coding is going to begin in my next phase of life..hehe...
Subscribe to:
Posts (Atom)