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...
Sunday, September 30, 2007
First round of my presentation
Panick..... Sweaty palm.....
This is my first presentation of java design pattern - prototype. Everyone of us is holding a peer review paper and is told to grade our classmates. How low mark will i get graded from them (Shiver).
This is the design patterns that I had gathered in our last presentation.
First presenter: Facade design pattern
This is my first presentation of java design pattern - prototype. Everyone of us is holding a peer review paper and is told to grade our classmates. How low mark will i get graded from them (Shiver).
This is the design patterns that I had gathered in our last presentation.
First presenter: Facade design pattern
- The Facade pattern is used to make a single class represent an entire subsystem.
- The Façade pattern allows you to simplify this complexity by
providing a simplified interface to these subsystems.
- Uses the instrinsic properties to create a pool of objects that would be created once rather than being created each time the same object is needed.
- It also takes the extrinsic properties away from objects and finds a common instrinsic state among them.
- Advantage: When hundreds or thousands of similar objects need to be created, it will be taxing on the system but not so when using this pattern as it cuts the creation of the same object by creating it only once and the clients can just retrieve it from a pool of others.
Third presenter: Prototype design pattern (Me)
- The Protoype pattern is used when creating an instance of a class is very
time-consuming or complex in some way. Then, rather than creating more
instances, you make copies of the original instance, modifying them as
appropriate. - Prototypes can also be used whenever you need classes that differ only in the
type of processing they offer. - Shallow and Deep prototype design pattern
- The aim of a decorator is to extend the functionality of a core class without modifying the class so as to make code maintenance easier.
- It uses a class that takes in an original object and adds new methods or stuff to it, to obtain a desired outcome.
- Advantage: while most classes does a certain function or presentation, new functions to be added into the class need to be recoded, compiled and run while using this pattern, the object just needs to be passed into the decorator class to obtain the much need functionality
- The Chain of responsibility allows an even further decoupling between classes, by passing a request between classes until it is recognized.
- Helps to provides a class of which there can be no more than instance, and provides a single global point of access to that instance.
The presentation had given me a brief idea of what indiviual pattern is. However ,i think i have to read up more in order to catch up with my classmate. More patterns are coming next week....
Friday, September 28, 2007
Java Beans (Continue...) Part II
Begining of the lesson, we need to choose the desire pattern for our presentation. Each of us need to choose 3 design patterns and present to our classmates. I had chosen template , bridge and prototype for my java pattern design. At first i thought java will be java , but after attending this module i just need to scratch my head.... Java itself there are 23 types of main design pattern.
To catch up with all the pattern , i think i need to have sleepless night to read all the related material up ...esp. Gang of Four.
What are Java pattern?
Design patterns form a cohesive language that helps to describe classic solutions to common object oriented design problems. These patterns enable the user to discuss systems of objects as quasi-encapsulated entities. By using design patterns, it helps to solve programming problems and the proper perspective on the design process can be maintained.
Last lesson , we had briefly understand the definination and concept of Java beans. It is a concept and software component model , that when java classes adheres to , will be known as a Bean. In the 4th lesson of CBSE , the course had brought up the conventions of Java Bean.
1) Classes must be serializable or externalizable (for perisitency)
2) Need default constructor (constructir with no arguements)
3) Get and set methods for each property.
4) Requires event listeners in each class that interfaces with on another.
The aim of Java beans is to allows us to have a portable , reuseable and platform independent advantages. It also allow us to have an interface driven as well as highly customizable.Hence , user may take shorter working time to process as not much coding is to be done.
Next , how events is related to beans?
The events are related to link components.For a Bean to be the source of an event,it must implement methods that add and remove listener objects for the type of event.Hence , it helps a source Bean know where to fire events.
To catch up with all the pattern , i think i need to have sleepless night to read all the related material up ...esp. Gang of Four.
What are Java pattern?
Design patterns form a cohesive language that helps to describe classic solutions to common object oriented design problems. These patterns enable the user to discuss systems of objects as quasi-encapsulated entities. By using design patterns, it helps to solve programming problems and the proper perspective on the design process can be maintained.
Last lesson , we had briefly understand the definination and concept of Java beans. It is a concept and software component model , that when java classes adheres to , will be known as a Bean. In the 4th lesson of CBSE , the course had brought up the conventions of Java Bean.
1) Classes must be serializable or externalizable (for perisitency)
2) Need default constructor (constructir with no arguements)
3) Get and set methods for each property.
4) Requires event listeners in each class that interfaces with on another.
The aim of Java beans is to allows us to have a portable , reuseable and platform independent advantages. It also allow us to have an interface driven as well as highly customizable.Hence , user may take shorter working time to process as not much coding is to be done.
Next , how events is related to beans?
The events are related to link components.For a Bean to be the source of an event,it must implement methods that add and remove listener objects for the type of event.Hence , it helps a source Bean know where to fire events.
Tuesday, September 18, 2007
"SOAP up the Bean"
XML
The lesson begins with the understanding of XML (extensible Markup Language). It is basically a markup language for documents containing structured information. XML is different from HTML. In HTML , both the tag semantics and the tag set are fixed.An h1 is always a first level heading and the tag ati.product.code is meaningless. The W3C, in conjunction with browser vendors and the WWW community, is constantly working to extend the definition of HTML to allow new tags to keep pace with changing technology and to bring variations in presentation (stylesheets) to the Web.
In XML, it specifies neither semantics nor a tag set. In fact XML is defined as a meta-language for describing markup languages. On other words, XML provides a facility to define tags and the structural relationships between them. Since there's no predefined tag set, there can't be any preconceived semantics. All of the semantics of an XML document will either be defined by the applications that process them or by stylesheets.
To apprecitate XML, it is important to understand the way it is created. It was created so that richly structured document could be used over the web.On the other hand,XML is not designed to replace SGML. XML is designed to deliver structured content over the web , some of the very features it lack to make this practical , make SGML a more satisfactory solution for the creation and long time storage of complex documents. Hence, most organization had filtered SGML to XML to produce a standard procedure for web delivery.
SOAP - Simple Object Acess Protocol
It is a protocal for exchanging XML-based messages over computer networks normally using HTTP/HTTPS.It forms the foundation layer of the web services stack , providing a basic messaging framework that more abstract layers can build on.
Advantages:
1) Using SOAP over HTTP allows for easier communication behind proxies and firewalls than previous remote execution technology. This is because the common port-80 is opened. SOAP is versatile to allow the use of different transport protocols.
Weaknesses
1) When relying on HTTP as a transport protocol and not using WS-addressing or an ESB the roles of the interacting parties are fixed. Only one party (the client) can use the services of the other. Developers must use polling instead of notification in these common cases.
2) Many SOAP implementations limit the amount of data that can be sent.
JAVA BEAN
It is a portable, platform-independent software component model that allows developers to wrote reusable components once and run them in anywhere. Beans are Java classes that can be manipulated in a visual builder tools and view as a component. When any Java class that adheres to property and event interface conventions, it is known as a Bean.
The lesson begins with the understanding of XML (extensible Markup Language). It is basically a markup language for documents containing structured information. XML is different from HTML. In HTML , both the tag semantics and the tag set are fixed.An h1 is always a first level heading and the tag ati.product.code is meaningless. The W3C, in conjunction with browser vendors and the WWW community, is constantly working to extend the definition of HTML to allow new tags to keep pace with changing technology and to bring variations in presentation (stylesheets) to the Web.
In XML, it specifies neither semantics nor a tag set. In fact XML is defined as a meta-language for describing markup languages. On other words, XML provides a facility to define tags and the structural relationships between them. Since there's no predefined tag set, there can't be any preconceived semantics. All of the semantics of an XML document will either be defined by the applications that process them or by stylesheets.
To apprecitate XML, it is important to understand the way it is created. It was created so that richly structured document could be used over the web.On the other hand,XML is not designed to replace SGML. XML is designed to deliver structured content over the web , some of the very features it lack to make this practical , make SGML a more satisfactory solution for the creation and long time storage of complex documents. Hence, most organization had filtered SGML to XML to produce a standard procedure for web delivery.
SOAP - Simple Object Acess Protocol
It is a protocal for exchanging XML-based messages over computer networks normally using HTTP/HTTPS.It forms the foundation layer of the web services stack , providing a basic messaging framework that more abstract layers can build on.
Advantages:
1) Using SOAP over HTTP allows for easier communication behind proxies and firewalls than previous remote execution technology. This is because the common port-80 is opened. SOAP is versatile to allow the use of different transport protocols.
Weaknesses
1) When relying on HTTP as a transport protocol and not using WS-addressing or an ESB the roles of the interacting parties are fixed. Only one party (the client) can use the services of the other. Developers must use polling instead of notification in these common cases.
2) Many SOAP implementations limit the amount of data that can be sent.
JAVA BEAN
It is a portable, platform-independent software component model that allows developers to wrote reusable components once and run them in anywhere. Beans are Java classes that can be manipulated in a visual builder tools and view as a component. When any Java class that adheres to property and event interface conventions, it is known as a Bean.
Tuesday, September 11, 2007
~The Methodology of Extreme Programming~
The second lesson of CBSE:
A Brief idea of Extreme programming:
1)Extreme programming is a deliberate and disciplined approach to software development.
2)It is more effective to use in risky projects with dynmaic requirements.
3)Work best in small teams that consists of less than 10 developers
4)Handle small to medium size of in house information system projects in short duration.
Advantages of Extreme programming:
1)The lightweight approach bring together and interrlates existing development best practise.
2)Enhance knowlege management among the employees
3)Better team work and communication
4)Documentation is minimal as the time is well spent on working for solutions.
5)Able to redesign and refactor in the mid-stage of the project.
Disadvantages of Extreme programming:
1)As XP approach is fragile,it may fail if the project environment had change or a change in team member.
2)Lack of design documentation
3)Is code centred rather than design-centered development (was neglected)
4)Does not provide any training or guidances
5)Narrow segment of software work
For a XP team to get together , we need to extremely look into the following practices:
1) The planning game
2) Small releases
3) On site Customer
4) Continuous integration
5) Simple Design
6) Merciless refactoring
7) Relentless testing
8) Collective code ownership
9) Sustainable pace
10)Pair programming
....Second half of the lesson....
Client-Server Models , Components acress the internet and next Generation Web services
The primary objective of this topic focus on the primer of distributed systems.
The discussion involve the following:
1) One-Tier Model (Expensive , custom application)
2) Two-Tier Model (Potential for thin client)
3) Multi-Tier /N-Tier Model (Decouples client from server)
~~Component Object Model Technologies~~
Component object modek technology enables software components to communicate. It is use by developers to create re-useable software components, link components together to build applications and take advantages of windows services. COM is used in applications such as Microsoft office products(MS words,excel,etc).Eg. COM OLE technology allows Word documents to dynmically link to data in Excel spreadsheets and COM Automation allows user to build scripts in their applications to perform repetitive tasks or control one application from another.
A Brief idea of Extreme programming:
1)Extreme programming is a deliberate and disciplined approach to software development.
2)It is more effective to use in risky projects with dynmaic requirements.
3)Work best in small teams that consists of less than 10 developers
4)Handle small to medium size of in house information system projects in short duration.
Advantages of Extreme programming:
1)The lightweight approach bring together and interrlates existing development best practise.
2)Enhance knowlege management among the employees
3)Better team work and communication
4)Documentation is minimal as the time is well spent on working for solutions.
5)Able to redesign and refactor in the mid-stage of the project.
Disadvantages of Extreme programming:
1)As XP approach is fragile,it may fail if the project environment had change or a change in team member.
2)Lack of design documentation
3)Is code centred rather than design-centered development (was neglected)
4)Does not provide any training or guidances
5)Narrow segment of software work
For a XP team to get together , we need to extremely look into the following practices:
1) The planning game
2) Small releases
3) On site Customer
4) Continuous integration
5) Simple Design
6) Merciless refactoring
7) Relentless testing
8) Collective code ownership
9) Sustainable pace
10)Pair programming
....Second half of the lesson....
Client-Server Models , Components acress the internet and next Generation Web services
The primary objective of this topic focus on the primer of distributed systems.
The discussion involve the following:
1) One-Tier Model (Expensive , custom application)
2) Two-Tier Model (Potential for thin client)
3) Multi-Tier /N-Tier Model (Decouples client from server)
~~Component Object Model Technologies~~
Component object modek technology enables software components to communicate. It is use by developers to create re-useable software components, link components together to build applications and take advantages of windows services. COM is used in applications such as Microsoft office products(MS words,excel,etc).Eg. COM OLE technology allows Word documents to dynmically link to data in Excel spreadsheets and COM Automation allows user to build scripts in their applications to perform repetitive tasks or control one application from another.
Tuesday, September 4, 2007
Introduction of Component-Based Software Engineering
After attending the first lesson with Mr. Mok, I think this module - CSI3303 Component-Based Software Engineering will be a tough journey for me in the coming semester. With extremely low java programming knowledge, the tension begins to arise and a voice begins to encourage me to work harder for this module.
The first half of lesson, Mr. Mok had briefly run through the teaching and learning process for this module. He had introduced two textbooks : Java design patterns: a tutorial by Cooper,J.W. and design patterns elements of reusable object-oriented software by Gamma , E. He had also assigned the first assignment to us and explain what we should write on our weekly learning journal for this module and research on the 23 object oriented pattern.
The lecture begins with the introduction of component-based development of software engineering. In depth, CBSE is a reusable based approach to define and assist in implementing loosely coupled components into the systems. As single object classes are too detailed and specific, CBSE has emerged from the failure of object-oriented development to support effective reuse. Hence, it is more independent and eases to use when developing.
The component is defined as a software unit whose functionality and dependencies are completely defined by its interfaces. It comes with a set of standard that allow to facilitate component integration .Through components, we are able to lead software engineering to a well engineering discipline.
CBSE Process:
(1) Identify the outline system requirements
(2) Identify candidate components
(3) Modify requirements according to discovered components
(4) Architectural design
(5) Identify candidate components
(6) Compose components to create system
The process of CBSE: Issue and Challenge. By Gerald Kotonya, Computing Department, Lancaster University, UK.
URL Link : miro.sztaki.hu/projects/cbsenet/budapest/presentation/Gerald-CBSEProcess.ppt
In this module, it had highlighted the highly iterative process of CBSE and the component of identification issues(trust,requirement and validation).
The first half of lesson, Mr. Mok had briefly run through the teaching and learning process for this module. He had introduced two textbooks : Java design patterns: a tutorial by Cooper,J.W. and design patterns elements of reusable object-oriented software by Gamma , E. He had also assigned the first assignment to us and explain what we should write on our weekly learning journal for this module and research on the 23 object oriented pattern.
The lecture begins with the introduction of component-based development of software engineering. In depth, CBSE is a reusable based approach to define and assist in implementing loosely coupled components into the systems. As single object classes are too detailed and specific, CBSE has emerged from the failure of object-oriented development to support effective reuse. Hence, it is more independent and eases to use when developing.
The component is defined as a software unit whose functionality and dependencies are completely defined by its interfaces. It comes with a set of standard that allow to facilitate component integration .Through components, we are able to lead software engineering to a well engineering discipline.
CBSE Process:
(1) Identify the outline system requirements
(2) Identify candidate components
(3) Modify requirements according to discovered components
(4) Architectural design
(5) Identify candidate components
(6) Compose components to create system
The process of CBSE: Issue and Challenge. By Gerald Kotonya, Computing Department, Lancaster University, UK.
URL Link : miro.sztaki.hu/projects/cbsenet/budapest/presentation/Gerald-CBSEProcess.ppt
In this module, it had highlighted the highly iterative process of CBSE and the component of identification issues(trust,requirement and validation).
Subscribe to:
Posts (Atom)