OOM Victor

Assignment #1 Knowledge Sharing Weblog (10%) Tasks: Each student should keep a weekly weblog (blog) to document their learning experience and what they learned. The main purpose of the weblog is to encourage you to learn independently as well as a way to share what you learned with others in the class. Each student is required to give a short 5-minute talk on your blog in class.

Saturday, January 22, 2005

Week 2 - Development Process Model of OOS

Software development: Open-source for you?

http://www.sdmagazine.com/documents/s=731/sdm0105a/0105a.htm?temp=VbkuXK04JH

Open-source Software (OSS) is a hot topic in the recent years. Linux, Apache, Samba and OpenOffice.org are some of the successful case. According to the article, there were 16,500s open source projects undergoing in 2001. The latest statistics must much more than that today. The number is rising greatly, too.

What is the Software development methodology that? It depends on its popularity. More people get attention on the software, more developers join the development, so called “inspired hacking" to "software engineering.". In short, the development of the software depends greatly on its popularity and finally it gets more resources and more likely to be success to launch into the “market”.

The development procedures or the methodology of OSS is greatly different from the ordinary software development methodology. The development of software depends on the developers who need to act as developer, programmer, tester and analyst! In addition, most of the developers are hired in the in-house software development company. They use their own time to develop, monitor and debug the software.

One interesting example from the Borland, the software vendor company of Turbo Pascal and Turbo C in the good old days, find the open-source community to help them to develop a database system called the Interbase. They are surprised by the efficient and the profession. The software were found the security risks while the whole in-house developers can’t find any.

The other benefit gain from the OOS community is the ultimate man-power. As Borland's Shelton says: "We talk about them as wild-eyed, hairy independents, but a lot of developers have corporate jobs during the day, and do open source on their own time. Corporate developer by day, Spider-Man by night."

Is OOS is the utopia for the whole industry? Well, for the computer game developer it may not a potential market since the market share is small. Small profit for the big investment business is a risk to keep their development.

The impact to the in-house software company is great too. We can imagine that the traditional development of software may last for 8 months by RAD. the OOS community may finish the similar product within 3 months. How can the traditional software house earn the profits?

I think the software vendors should no longer be the software manufactories. They should also be the service providers to the clients beside the problem-solution providers. The add-on values can make money nowadays, as we can see the successful story from Red-Hat and Mandrake.

Remark:
http://www.apple.com/opensource/

Monday, January 17, 2005

Week 1 - OOAD

http://www.cetus-links.org/oo_ooa_ood_methods.html

Cetus Links: Link on Objects and Components/Object Oriented Analysis and Design : Methods

This site provides a list of material and book list that help student to learn the Object-Oriented analysis, design and methodology.

Redirected-site

http://www.sei.cmu.edu/str/descriptions/oodesign.html

As I can find in the article said that, the cost and limitations of OOD is really upon the training of the team and the management between the Project manager and Team leader during the design process. “Project realize that the benefit of this technology depend upon the training and experience levels of their result.”

Redirected-site:

http://www.excelsoftware.com/models.html

Here show a lot of example on Class model, Data model, Object model, Process model, State model, Structure model, Task Model, Specification, Code, Test, HTML, Dictionary, Requirement and Team Dictionary, Team requirement as well. Through this page we can get quick help and handy example of the model and software that we can use.

Tuesday, January 11, 2005

Great Started!

Welcome!
This is my first OOM WeBlog.


Here is the informal aims in the course ...

Informal Aims and Objectives
The aims and objectives of this course is simply to:
Teach How Software Is Made
What are the different approaches people take for software development?
In particular we will focus on the following methodologies:
eXtreme Programmng (XP) Methodology
Test-Driven Development (TDD) Methodology
Personal Software Process (PSP) Methodology
Rational Unified Process (RUP) Methodology
In addition, we will focus on a few of the key steps:
Requirements
Design
Implementation
Testing
A Practical Approach
My first teaching objective is to provide practical skills that you can use in real projects. Hence, there will be some case studies, state-of-the art tools, as well as implementation skills.
My second teaching objective is to make sure you "learn how to learn." Computer science is a difficult discipline as new technologies are invented each week. To be a successful computer scientist, you must get into the habit of constantly reading and studying; even after you graduate. In fact, you will need to read and study a lot more after you graduate. To get you started into this habit, you will need to keep a "diary" of what you learn to share with other students.
Can You Answer These Questions?
Hopefully, after you finish this course, you will know how to answer each and every one of these questions.
What are the key steps in developing software systems?
What are the most popular approaches to software development?
Is there more to software development besides programming?
Why draw design diagrams when we can be coding?
How do we get and document requirements?
What are test cases? When do we define them?
How can you tell if a software is good quality or not?
What are the most popular tools for development?