Sunday, December 19, 2010

Task 4

The word “myth” based from Wikipedia is a word that is often used colloquially to refer to a false story, however in terms of academic, the word generally means does not pass judgment on truth or falsity. Therefore in my opinion, the word “myth” simply means something that is assumed exists but there is no proof about its existence.

Software myths on the other hand are erroneous beliefs about software and the process that is used to build it, which can be traced to the earliest days of computing. The myth refers to the misleading attitudes that have caused serious troubles for managers and practitioners when building software.

Software myths can be classified to 3 (THREE) which are:
1. Management myths
2. Customer myths
3. Practitioner myths

In order for us to be clear about why the myths occur in the first place, I will give an explanation about the complexity of software development requirement analysis first.



From the image above, it clearly states that without good understanding from all of the developer team and the customer, different solution is produced at the end of the development process. Therefore it is really important to do the requirement analysis properly to evade any problems in later stages as there will be more harmful effects.


The first myth that I will tackled is the management myth.

Managers particularly manager of the software department often pressured with constraints such as budgets, staffing and scheduling. Managers often treat the software myth as if by believing the myths will lessen their pressure.
Some common managerial myths stated by Rogher Pressman are:

Myth: We have the state-of-the-art software development tools; after all we buy the latest computers.

Reality: A high tech software development tools does not really help in developing software if the developer team does not know how to operate it and utilize the tools to its full potential. In the end, they might end up spend more time in figuring how to use the tools rather than spending time developing software.

Myth: If we are behind schedule, we can add more programmers to catch up.

Reality: This act might seems promising in the first glance but actually after a while, it does not really help because current programmers will need to spend some time to educate the new programmers about the project and thus reduce the time needed for productive development.

Myth: A good manager can manage any project.

Reality: In a high stake project especially a software project that costs a lot of money, an expert is needed to manage it carefully. To ensure a good project management, developer’s company will need a manager that can manage one thing that he can do adeptly, not a manager that can manage MANY things but he cannot do it adeptly.

By any means, good managers should not be ignorance of the fact that they are the one who manage the project. Therefore they must know all the process of developing the software comprehensively rather than depending on the team members to sort it themselves.


The second myth that I will tackled is the customer myth.

Customer believes myths about software because software managers and practitioners are not very helpful when it comes to correcting misinformation. Customer marvels with their imagination of the desired software but when the outcome is produced, what the customer gets is not what the one they want. Myths led to false expectation and in the end the dissatisfaction always goes to the developer.
Common myths of the customers are:

Myth: A general statement of objectives is sufficient to begin writing programs – we can fill in the details later.

Reality: Having ambiguous statement of objectives in developing software would always results in a very serious problem though getting a very comprehensive and detailed statement of objectives is impossible. Clear-cut statements of objectives are obtained through an effective and continuous communication between customer and developer.

Myth: I know what my problem is; therefore I know how to solve it.

Reality: Customer may know how to solve it. However from developer’s point of view, the way customer wants to solve it may not be as same as the way the developer wants to solve it. Therefore by maintaining good communication between both parties can guarantee that the needs can be met.

This can be seen apparently because the customer does not know the in-depth of software development and they think that it is an easy process.


The third myth which is the last is practitioner myth or others called developer myth.

Myths that are still believed between the software practitioners have span for over 50 years in the programming culture. Negligence seen in developers is that they think they know everything and neglect the irregular of each problem.
Myths that existed in practitioner or developer are:

Myth: If I miss something now, I can fix it later.

Reality: Whenever something is missed, especially in earlier development stage, we should immediately get it done because if one thing is missed and we only notice it in later stage, a very major modification needs to be done and it will consume much time and will become a big problem to the team.

Myth: Until a program is running, there is no way of assessing its quality.

Reality: The myth is very not true because if software is being build using process model called incremental model, the software quality can be assess by checking each completed functionality. This is due to the fact that the development of the software is broken down to increments and each increment is delivering part of the required functionality.

There are also some assumptions that make the myth become more strengthen:
1. All requirements can be pre-specified.
2. Customers are experts at specification of their needs.
3. Customers and developers are both good at visualization.
4. The project team is capable of unambiguous communication.

To wrap this up, we all should know that realities differ from myths. Therefore the myths should be molded into something more solid and has bases. This could be done by working in a more systematic way. Besides, the developer does not only require hard skills like managing and programming skills but they also need soft skills like a good communication skills in order to ensure the success of developing a software system.

References:

1. Geshan Manandhar, SPM student, Prime College
2. Wiki answers
3. Wikipedia


“In the absence of meaningful standards, a new industry like software comes to depend instead on folklore."
Tom DeMarco

Tun Dr.Mahathir Lecturer Series Photos

These are few photos during the Tun Mahathir Lecturer Series




“A computer once beat me at chess, but it was no match for me at kick boxing.”
Emo Philips

GLOBALIZING MALAYSIANS IN 2020

December 13th 2010 marked the second time Tun Mahathir attended UNITEN and gave a speech for the Tun Mahathir Lecture Series. On the red-letter day, his title of speech was "Globalizing Malaysians in 2020". This post is created solely to inform you guys about the gist of his speech.

Globalization describes the process by which regional economies, societies, and cultures have become integrated through a global network of political ideas through communication, transportation, and trade [source: wikipedia].

Based from Oxford English Dictionary, ‘globalization’ refers to holistic view of human experience in education. History shows that in 1492, Christopher Columbus, a man that many claimed as the first explorer to reach America from Europe, crossing the Atlantic Ocean seeking wealth from the trade routes and colonies. His act was considered the initial start of globalization.

Preceding that, the world start to globalize and the main focus was given particularly at Europe as at the moment, Europe was facing the time of imperialism and economic competition. By obtaining more land, one kingdom is said to be more powerful and have influence or domination not only in territorial aspect but also in economy and military. To give more insight, we should recalled our history book specifically saying that the reasons why Europeans wants to conquer Asia was to gain power, wealth, control of spices and to spread their religious belief.

Globalization in Malaysia starts as early as 15th century which is the prime time of the Malacca Sultanate. As traders from various countries come and go, many cultures have been intertwined and that is where the first globalization has come into Malaysia. The mixture of cultures has not stopped, yet they are expanding as far as they can. However not all cultures are deemed good. Therefore before accepting the cultures, we need to think what can it influenced us. Is it in a good way or is it in a bad way.

The world, particularly high developed countries have their own interpretation of globalization. As Tun had claimed, their idea or interpretation of globalization could just be to “enriched the rich”. Their idea of globalization when sowed to the less rich countries might become beneficial for them and thus that is where “the rich” (high developed countries) becomes richer. Therefore to ensure that we fully utilize the course of globalization in our country, we must have a good understanding of what globalization is. We cannot blindly accept their ideas completely; we have to assess and then make our own interpretation according to our preferences.

If we think that by not accepting globalization we can be as good as others, what we thought are totally wrong. We cannot be so independent and isolate ourselves from the rest of the world. Every development and upgrades available to the world should not be wasted; we have to incorporate it to ensure that our country development is not lagging behind.

But there are also bad impacts if full globalization is trained on us because as there are many positives outcome of globalization, there are also the negatives, for an instance, the disintegration of morality value. Often globalization creates more impacts on young people because young people like atypical things. Sometimes these atypical things are what causing young people to exhibit immoral attitude.

In conclusion, we cannot fully reject the course of globalization in our country; as whether we like it or not, we are part of the world. We have our own roles to play and we should not be trapped with “games” that are played by some irresponsible people. There are some things that are useful and beneficial for us and there are also negative things that could destroy us. In this case, those positives things are the things that we should accept. By understanding the true meaning of globalization can we achieved the objectives of Malaysia 2020.


"Contagion has become very much a phenomenon, and it's a phenomenon of globalization."
Lawrence Summers

Task 3 (Review)

For this task, i have searched the jobs with locations within Selangor, Putrajaya & Kuala Lumpur and specialize in IT-Software. There over 50 jobs that has been advertised and the selected are in the table which can be downloaded at the previous entry. These are the summary.

Job Frequency – Divided by 4 four types which are Programmer, Developer, Analyst and Engineer of course. Engineer recorded most frequent job advertised which is 23 times, followed by developer (20),then programmer (12) and finally analyst with 5 times. This showed that software engineer is wanted and desired by the market.

Advertisers – Over the 3 days, the job advertisements are quite encouraging. There are lots of companies are advertising jobs with so many positions with specialities. Most of the companies are listed in MSC company. Hence, sstudents will have the chance to work with great companies and experienced the feel working in an environment which required them to stay focus and comfortable at the same time.

Job Responsibilities – Jobs advertised has their own responsibilities based on the job requirements. Each specialities has their own responsibilities, so applicants should know where they good at before apply for a job. For instance, for a programmer, they have to be farmiliar with certain areas in software engineering such as Software Development Cycle (SDLC) to be able to perform well in their respective job.

Job Requirements – For any kind of job, applicants should be able to fulfill companies’ requirement including educational, skills (interpersonal,physical & technical) and working experience. The jobs is applicable to fresh graduates to 5 years working experience. There are stages in the positions based on your working experience. Educationally, you must have at least Bachelor’s Degree in Information Technology/Computer Science. If the applicants have lots of skills, it would be an advantage. This is because a job would require at least 2 or 3 preferred skills such as PHP, MySQL, JavaScript, CSS, AJAX and Socket Programming. The applicants should able to work with certain software according to the job.

Salary Range – Software Engineering professionals are well paid. Anyhow, it doesn’t come cheap. The greater your salary is, the greater the responsibles are. The minimum salary is RM 2000 and it can get as high as RM 10000 plus allowances and incentives. It also depends on the level of the positions itself.

Overall, SE professionals are still highly demanded in the market. There lots of available jobs offered by great companies with tremendous achievements with them. Hence, headhunters are required to prepare themselves well for the market and able to select the right to ensure a bright future. Begin from the root as u may gain as many lessons and experiences along the way. Working experience is vital in determining the number in the paycheck. Another thing is learn lots of skills no matter what the skills are. It will help in finding jobs. Ultimately, you need to have a strong will and determination in finding and surviving in the industry. Keep faith in yourself and you will succeed in whatever you involved in.


"Experience is the child of thought, and thought is the child of action."
Benjamin Disraeli

Task 3 (Final Result)


Task 3 has been completed. The table can be downloaded by clicking here.

The summary is in the next entry.


"Success is the sum of small efforts, repeated day in and day out."
Robert Collier

Wednesday, December 15, 2010

Finally.

The job hunting part is DONE! pheww. there are more than 50 jobs related to Software Engineering in that 3 days. However, i'll narrow it down to the suitable amount. Consultation with Mdm. Badariah is needed. URGENT! Hope she's not busy today and available for me.

With YTAR's English Camp this weekend, i hope i manage to complete the task in time.

Wish me luck guys!

p/s : Congratulations to Malaysia's Football team because came out victorious in a clash with Vietnam in AFF Suzuki Cup. Tanah Tumpahnya Darahku all the way. :)


"Do what you can, with what you have, where you are."
Theodore Roosevelt

Wednesday, December 8, 2010

Task 3 (Preview)

I am Mohd Asyraf and i am responsible to complete Task 3 in Assignment 1. Basically this task is about jobs as Software Engineering (SE) professionals. As we know, SE provide us with wide range of jobs' choice. Programmer, software engineer & software developer to name a few.

As introduction, there are some facts I would like to share about SE professionals. Based on research, computer software engineers is expected to be one of the fastest growing job from 2002 until 2012. Employers also tend to find computer professionals with strong programming, system analysis, interpersonal and business skills.

Usually, computer programmers and engineers will work at a clean, comfortable offices or laboratories in which computer equipments are located. This is to ensure the program that will be produce in a great condition and can operate as it wish to be.

This discussion is not complete without discussing about earnings from the job. In 2002, full time computer software engineers will earn around $70,900 annually. However, in 2003, software engineers in software development reportedly received starting offers between $64,250 to 97,000. It is reported by a survey conducted by Robert Half International salary survey. The statistics showed that becoming computer professionals is the right occupation to ensure a bright future, at least in financial aspect.

Click here and here for more information.

Back to the task.

In specific, this task requires me to search all related software engineering professionals using a job search engine called JobStreet. According to the website, JobStreet.com is a leading online recruitment organization in Asia. With our state-of-the art technology in the recruitment market, JobStreet.com offers a comprehensive suite of interactive recruitment services. Today, we have more than 16 offices in seven countries (Malaysia, Singapore, the Philippines, India, Indonesia, Thailand and Japan).

I have to select jobs that has been published from 9 to 11 December. Since i have the account for myself, i hope it will give me advantage in choosing the right jobs. It will help me with summary and report that i have to complete in the the end.

Wish me luck guys!

“The computer was born to solve problems that did not exist before.”
– Bill Gates

Introducing Our Members



Add ImageFrom left, Fikri Rahmat, Amir Ariff, Muhd Asyraf And Ateeka

Name: Nur Ateeka bt Rasid
ID: SN081872
Course: Bachelor In C.S(System & Networking) Hons
Advisor: Azimah Abdul Ghapar
Goal: To get full acknowledgment of fundamentals of software engineering
& scoring an A in the subject

Name: Fikri Rahmat bin Mohammed Fauzi
ID: IS084487
Course: Bachelor In I.T(Information System) Hons
Advisor: Shahrul Shahidan
Goal: To score A

Name: Amir Ariff Amir Amran
ID: IS084484
Course: Bachelor In I.T(Information System) Hons
Advisor: Azimah Abdul Ghapar
Goal: I want deanlist. Just for once. Maybe I want to spend more of my time at Library.

Name: Mohd Asyraf bin Nasir
ID: IS084494
Course: Bachelor In I.T(Information System) Hons
Advisor: Mdm. Faridah Hani bt. Mohamed Salleh
Goal: With giving full commitment to the class, I hope that i will learn a lot from Mdm. Badariah
regarding anything related to Software Engineering and be prepare for the reality
of job field in future.

Monday, December 6, 2010

Task 2

Software Application Domain Matrix


Domain

Characteristic

Example Software



Engineering / Scienctific Software

Has been characterized by “number” crunching algorithms. Such as application range from astronomy to volcanology, from molecular biology to automated manufacturing. However, modern applications within the engineering/scienctific area are moving from conventional numerical algorithm.



1. Medical device control

2. Data acquisition and data handling.

3. ROTAS - Rapid On-line Soil Analysis.

4. Telecommunications control software.

5. Conference calling control software (MultiVoice).



Embedded Software

Used to implement and control features and functions for the end user and for the system itself. Embedded software can peform limited and esoteric functions or provide significant function and control capibility. Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Embedded systems are not always standalone devices



1. ADSL modem/router

2. Air traffic control

3. Fuel Control

4. Gibson Robot Guitar

5. Keypad control for Microwave oven.


Production-line Software

Design to provide a specific capability for use by many differrent customers. Product-line software can focus on a limited and esoteric marketplace.The characteristic that distinguishes software product lines from previous efforts is predictive versus opportunistic software reuse. Rather than put general software components into a library in the hope that opportunities for reuse will arise, software product lines only call for software artifacts to be created when reuse is predicted in one or more products in a well defined product line.



1. Word Processing

2. Automotive System Engineering

3. Mobile Software Development

4. Bussiness Financial Applications

5. Database Management


WebApps

Web applications typically have some form of programmatic control, either on the client, on the server or a combination of both. This workshop addresses client-side Web applications only.



1. Facebook

2. Library Online System

3. Ebay

4. MyEg

5. Mudah.my



AI Software

Make use of nonnumerical algorithms to solve complex problems that are not amenable to computation or straightfoward analysis. The core idea of A.I. is making individual software components, such as speech synthesizers, interoperable with other components, such as common sense knowledgebases, in order to create larger, broader and more capable A.I. systems. The main methods that have been proposed for integration are message routing, or communication protocols that the software components use to communicate with each other, often through a middleware blackboard system.



1. Nuclear war simulator

2. AI program which accepts natural language sentences as input.

3. Hybrid database server with a kernel for semantic computing.

4. Framework for writing and running simulators.

5. Sony's robot dog integrates vision, hearing and motorskills.




"Computing is not about computers any more. It is about living."

Nicholas Negroponte


Wednesday, December 1, 2010

Life Of A Software Engineer





"I put all my genius in my life, I put all my talent in my work"

Oscar Wilde

Introduction.

In speaking of software engineering, there are so much talk and discuss about. Requirement Engineering, Software Design and Software Quality Management to name a few. Hence, do not be surprise if this blog has it all because it is just AWESOME.

Basically, this blog is providing you with all the information about Software Engineering (SE) throughout our semester. We're going to put down the necessary materials involved in SE and what we have learned in the class with extra essence of excitement to make it interesting.

Wait for our next post, which is going to be Legend-wait for it-Daryyyy. :)


"I do not fear computers. I fear the lack of them."
Isaac Asimov

Welcome!

Welcome To Software In-Genius blog. Where all the genius programmers and engineers collides. We will provide you with tonnes of brilliant and exquisite information about software engineering.


Tired of lame blogs? Software In-Genius is your place to be to feel the excitement of amazing adventure through IT's perspective. This is going to be EPIC!



"The first epics were intended for recitation; the literary epic is meant to be read"
Lascelles Abercrombie