Systems Development Life Cycle

Sunday, April 03, 2005

Web Services

Web services are internet applications that allow the displaying of any information on any operating system. Web services include Simple Object Access Protocol(SOAP), Web Services Description Language(WSDL), Universal Description, Discovery and Integration(UDDI) and Web Services Security(WSS or WS-Security). All the applications need to process Extensible Markup Language (XML).

In order to implement Web services, two things are needed: an environment to develop the Web services, and a platform to deploy the Web services (MacVittie, 2003).

REFERENCES

(6 Mar. 2005). OASIS. 3 April 2005. open.org/committees/tc_home.php?wg_abbrev=wss>

MacVittie, L. "Serving Up SOAP." Network Computing 14.6 (3 Apr. 2003):11. Online.
EBSCO. Cal State Univ, Sacramento, CA. 3 April 2005.

Systinet. Web Services: A Practical Introduction. Systinet. (2003):21. 3 April 2005.

Sunday, March 27, 2005

GIS

Geographic Information Systems, otherwise known as GIS, is a method of analyzing the earth and using the information for people to apply to their everyday lives.

More to come....

References

http://gis.iit.edu/labinfo/why.htm

http://gislounge.com/library/introgis.shtml

http://www.gis.com/whatisgis/whatisgis.html

http://www.olemiss.edu/depts/geology/courses/ge470/gistop_2.htm

http://www.science.uwaterloo.ca/research_groups/african_lakes/GISproject.html

http://www.seminolecountyfl.gov/it/programming/gis/why_gis.asp

Sunday, March 13, 2005

Test First

Test-First is a programming concept from the Extreme Programming guideline. Test-First is where tests are conducted before coding even takes place. A test is written assuming that a program already works. Then the test is run, and based off of the debugging errors, that will determine what variables, methods, and functions are needed to make the test pass. Only when the test passes does the person write the next test to determine what other factors are needed. In this way, coding is kept precise to prevent unnecessary extra codes (2000). As Sean Shubin put it, “The tests should drive you to write the code, the reason you write code is to get a test to succeed, and you should only write the minimal code to do so.” Test-first is helpful when requirements are already gathered. This keeps a person focused on what the whole program eventually will do. Without the requirements of what a program is supposed to do already, test-first can end up taking a long time (Beck, 2000).
Here is a partial sample of how test-first is done to make a program that converts numbers to roman numerals from Differentpla.net:
“/* toroman.cpp - convert decimal to Roman numerals.
* Roman numerals are I=1; V=5; X=10; L=50; C=100; D=500; M=1000
*/
int main(void)
{
assert(toRoman(1) == "I");
return 0;
}

Not surprisingly, this piece of code doesn't compile. The compiler doesn't know what assert or toRoman are. We'll add some code to fix this.

/* toroman.cpp - convert decimal to Roman numerals.
* Roman numerals are I=1; V=5; X=10; L=50; C=100; D=500; M=1000
*/
#include
std::string toRoman(int n);

int main(void)
{
assert(toRoman(1) == "I");
return 0;
}

This doesn't compile either. I forgot to include the header file. Better fix that...
#include
#include

This time it compiles, but fails to link. I don't actually have a function called toRoman()
std::string toRoman(int n)
{
return "I";
}

This passes the first test case, despite the code being as simple as you like. We'd better add another test case.
int main(void)
{
assert(toRoman(1) == "I");
assert(toRoman(2) == "II");
return 0;
}

This fails the second test case, so we'll add some code to handle this.
int main(void)
{
assert(toRoman(0) == "");
assert(toRoman(1) == "I");
assert(toRoman(2) == "II");
return 0;
}
std::string toRoman(int n)
{
if (n == 1)
return "I";
else if (n == 2)
return "II";
return "";
}

This passes all the test cases. Because I added some code rather than have a dangling if/else, I added a test case for it. Since it passes, it's time to add another test.
assert(toRoman(0) == "");
assert(toRoman(1) == "I");
assert(toRoman(2) == "II");
assert(toRoman(3) == "III");

Unsurprisingly this fails. We'll add some code to handle it.
std::string toRoman(int n)
{
if (n == 1)
return "I";
else if (n == 2)
return "II";
else if (n == 3)
return "III";

return "";
}

All of the tests pass, so we'll try a little refactoring:
std::string toRoman(int n)
{
std::string r;
while (n--)
r += "I";
return r;
}

To check that we've not broken anything, we run the tests again. Since they all pass, we know that we've not broken anything. So we'll add another test case....”


References

Beck, Kent. “Testing First Makes the Code Testable.” 2000. First Class Software. 12 Mar 2005

“Code the Unit Test First.” 2000. 12 Mar 2005

Shubin, Sean. “Test First Guidelines.” 25 Jan 2002. XProgramming. 12 Mar. 2005

Test First: Roman Numeral Conversion. Differentpla.net. 12 Mar. 2005

Thursday, March 03, 2005

Pair Programming

Pair programming is where two programmers work together on a software on one terminal. Pair programming is sometimes referred to as collaborative programming, and also extreme programming. The concept is that having two people working on the same thing can have a more quality product. The concept of working in pairs has been around since 1995 (Williams). With pair programming, progress is faster and quality is higher.


References
Jeffries, Ronald, “Here’s an example of how pair programming works.” XProgramming. 06 Mar. 2005 < http://www.xprogramming.com/Practices/PracPairs.html>

Jeffries, Ronald. “Pair Programming.” 1998. XProgramming. 06 Mar. 2005

Kerievsky, Joshua. “PairDraw.” 2004. Industrial Logic. 06 Mar. 2005


Cockburn, Alistair and Williams, Laurie. “The Costs and Benefits of Pair Programming.” 2004.
NCSU. 06 Mar. 2005

Sunday, February 27, 2005

MS Project

MS Project is a project management software that helps a person manage a project at hand. MS Project lets a person put specific tasks and deadlines to give a timeline of when a project will be finished. Unlike creating schedules in a spreadsheet that are static, schedules in MS Project are dynamic, enabling users to update the schedule to reflect the project at hand (Microsoft 2004).

MS Project takes the guesswork out for anybody that wants an overview of how long a project will take and can allow a person to see what requirements a project needs in a task oriented basis. For example, if a project had a three month deadline and the requirements are already set, then a person can enter each requirement as a task and spread the tasks out in a three month period. Each task is also given a time period for an estimate of how long it will take, and then a person can view a Gantt Chart that shows how the tasks line up in the three month period.
Some of the limitations to MS Project are that it cannot help with conceptualizing and identifying the purpose of the project, defining the project’s objective, or discuss alternative scenarios and build contingency plans. Some of the things MS Project 2000 can do are: help with finalizing the project’s scope, identify its activities, assign resources to activities, and create an estimate of time and costs (Srikanth). As mentioned in the MS Project 2000 Tutorial by Anjana Srikanth, Microsoft Project 2000 “helps you put together a plan of action, fill in and organize all the details that must be completed in order to achieve your goal.”

MS Project lets a person print the tasks out in many different types of formats. Some print versions a person can look at are a Gantt Chart, a Pert Chart, look at the tasks by month, and customized views. “MS Project also supports saving reports as formatted HTML documents or printing formatted reports.” (Smith 2001).

Some reasons people don’t buy MS Project is the price and the compatibility limitation with other operating systems. Currently MS Poject is not available to Mac OS X users. The most current MS Project software costs anywhere from $599 to $1499 per license depending on the amount of features a person needs. Other project management softwares include Project KickStart by Experience In Software, Inc. that costs $129.95 per license that is currently only available for the Windows OS. FastTrack Schedule 8 by AEC Software, Inc. costs $299 and is available for the Windows or Mac OS. An open-source project management software called Open Workbench is available at www.openworkbench.org. This is an alternative to the pricey MS Project by Microsoft.



References
FastTrack Schedule 8. 2005. AEC Software. 26 Feb. 2005


Lynch, Jim. “KickStart Your Next Project.” 06 Mar. 2001. PC Magazine. Ziff Davis Media.
26 Feb. 2005

Open Workbench. 2004. Niku Corporation. 26 Feb. 2005


Project KickStart. 14 Oct. 2003. Experience In Software. 26 Feb. 2005


“Project 2003 Frequently Asked Questions.” 13 Dec. 2004. Microsoft Corporation. 26 Feb.
2005

Smith, Summer. “How does MS Project help in Project Management?” Nov. 2001.
http://www.cs.utexas.edu/users/almstrum/cs370/summer/MS_Project.html

Srikanth, Anjana. “MS Project 2000 Tutorial.” Stylus Systems Pvt. 26 Feb. 2005

Saturday, February 26, 2005

MS Project

MS Project is a project management software that helps a person manage a project at hand. MS Project lets a person put specific tasks and deadlines to give a timeline of when a project will be finished. Unlike creating schedules in a spreadsheet that are static, schedules in MS Project are dynamic, enabling users to update the schedule to reflect the project at hand (Microsoft 2004).
MS Project takes the guesswork out for anybody that wants an overview of how long a project will take and can allow a person to see what requirements a project needs in a task oriented basis. For example, if a project had a three month deadline and the requirements are already set, then a person can enter each requirement as a task and spread the tasks out in a three month period. Each task is also given a time period for an estimate of how long it will take, and then a person can view a Gantt Chart that shows how the tasks line up in the three month period.
Some of the limitations to MS Project are that it cannot help with conceptualizing and identifying the purpose of the project, defining the project’s objective, or discuss alternative scenarios and build contingency plans. Some of the things MS Project 2000 can do are: help with finalizing the project’s scope, identify its activities, assign resources to activities, and create an estimate of time and costs (Srikanth). As mentioned in the MS Project 2000 Tutorial by Anjana Srikanth, Microsoft Project 2000 “helps you put together a plan of action, fill in and organize all the details that must be completed in order to achieve your goal.”
MS Project lets a person print the tasks out in many different types of formats. Some print versions a person can look at are a Gantt Chart, a Pert Chart, look at the tasks by month, and customized views. “MS Project also supports saving reports as formatted HTML documents or printing formatted reports.” (Smith 2001).
Some reasons people don’t buy MS Project is the price and the compatibility limitation with other operating systems. Currently MS Poject is not available to Mac OS X users. The most current MS Project software costs anywhere from $599 to $1499 per license depending on the amount of features a person needs. Other project management softwares include Project KickStart by Experience In Software, Inc. that costs $129.95 per license that is currently only available for the Windows OS. FastTrack Schedule 8 by AEC Software, Inc. costs $299 and is available for the Windows or Mac OS. An open-source project management software called Open Workbench is available at www.openworkbench.org. This is an alternative to the pricey MS Project by Microsoft.

References
FastTrack Schedule 8. 2005. AEC Software. 26 Feb. 2005

Lynch, Jim. “KickStart Your Next Project.” 06 Mar. 2001. PC Magazine. Ziff Davis Media.
26 Feb. 2005
Open Workbench. 2004. Niku Corporation. 26 Feb. 2005

Project KickStart. 14 Oct. 2003. Experience In Software. 26 Feb. 2005

“Project 2003 Frequently Asked Questions.” 13 Dec. 2004. Microsoft Corporation. 26 Feb.
2005
Smith, Summer. “How does MS Project help in Project Management?” Nov. 2001.
http://www.cs.utexas.edu/users/almstrum/cs370/summer/MS_Project.html
Srikanth, Anjana. “MS Project 2000 Tutorial.” Stylus Systems Pvt. 26 Feb. 2005

Friday, February 18, 2005

Web-Logs

Weblogs or web logs are more commonly referred to as blogs to prevent confusion from the term “web log,” since that can refer to a server’s log files (WHG). As indicated at Blogger.com, “a blog is a web page made up of usually short, frequently updated posts that are arranged chronologically.... Blog posts are like instant messages to the web.”
There are many things blogs are useful for, such as keeping an online journal where people can view what is on a person’s mind, especially a political party member wanting to reach out to more people, or just keeping a long distance family on how you are doing (Blogger).

Blogs are important in many situations in today’s society. There are many reasons to have blogs. For personal reasons, a college student can blog as a means of communication among family members and friends when talking is not convenient. Using a blog can link many insightful information for people to read.
Blogging can be done as a group where a bunch of people talk about a specific topic. This type of blogging reaches out many people that have many perspectives on a certain topic. For instance, when Bush wanted to declare war on Iraq, blogs can be a helpful medium for people to write comments regarding the decision.
Blogging can also be important for companies in that they can get customer feedback almost instantaneously. Companies can then get back to the customer or correct any complaints in a fast manner. Blogging can also help in loading photos online. With the implementation of a photo blog, a real estate company can add photos very easily on their web site and possibly increase customer traffic.

A blog web application is usually written in php, jsp, perl, and the VB.net framework. People view blogs through internet browsers such as Firefox, Internet Explorer, Mozilla, and Safari. If the blog supports RSS, Real Simple Syndication, news reader applications can simply access the headings of the blogs to only read the text and bypass all the images. For instance, if a person doesn’t want to see any advertisements or obscene graphics, then news reader applications are the way to go. A person can also load RSS onto mobile phones and pda’s so blogs can be posted or read conveniently without all the graphics.


References
“What is a blog?” Blogger. 2005. Push-Button Publishing. 18 Feb. 2005


“Weblog.” Wikipedia, the free encyclopedia. 18 Feb. 2005. MediaWiki. 18 Feb. 2005
.

Doctorow, C., et al. Essential Blogging. 2005. Safari Tech Books Online. 18 Feb. 2005
.

Dow, Jase. “Bloggin – what’s it all about?” 05 Feb. 2005. 18 Feb. 2005
.

“Blog – weblog.” WHG. 2004. Crucial Marketing. 18 Feb. 2005
.