Search This Blog

Thursday, May 15, 2014

Software Engineering Tools

As a computer scientist, software development tools are essential in building products effectively and efficiently. I use many software tools for the work in my education and career. As a computer science student, it is essential  to learn as many software tools possible in order to make deadlines for homework assignments and practice using them for my future career. Software development is about creating products in the most efficient way possible. Tools will help speed up the development process and enhance your abilities.

This semester at San Jose State University, I discovered and used many tools that helped me with my project with Beauty PT, where my group and I implemented an online appointment system for a local downtown beauty salon. In our projected, we built upon an existing website for Beauty PT. We used the Integrated Development Environment, Eclipse, to add new tabs to the menu bar and implement the appointment system, Appointy, to the webpage. 





Another tool I have used for my project with Beauty PT are the Adobe products Photoshop, InDesign, and Dreamweaver. Prior to this project, I have used Photoshop but I was new to InDesign and Dreamweaver. We used Photoshop to create an advertisement for Beauty PT and used InDesign to create a QR code that links customers to a coupon for the ad. We also used Photoshop to create our final expo poster to present our project. My group also used Dreamweaver to design new parts in Beauty PT's website. 



My favorite software development tool is the integrated development environment, Eclipse. I have used Eclipse since my first year in college and I have used it for all my programming projects in school and work. I prefer Eclipse because of its free use and wide variety of features, such as debugging, customization, and plugins. 

My least favorite tools are Chrome's developer tools and Mozilla Firebug. I have used them in the past to look into the parameters that are passed with GET and POST requests for testing purposes. It is tedious to scan through every HTTP request that is made by the client/browser, and there are no other tools that I know of that automate the task of extracting the parameters of the request as well as the response.

In our modern day, software development tools are improving and becoming more diverse. Many developers have focused on creating tools to make the lives of other developers easier. Their tools allow others to create more new and innovative products to revolutionize our technology industry. 

3D Printing


The technology in our modern day society has vastly evolved in the last 100 years. We began with basic computers that could only do mathematical calculations to smartphones and laptops that have a wide variety of uses and features. One of our more recent leaps in technology are 3D Printers.

How it works
The printer uses a digital model to create three-dimensional solid objects can be shaped in any way. It lays down layers of liquid or powder material to build the model that follow cross sections. The cross sections are then joined to create the final shape. Here is a video demonstrating how the printer works:



Uses
3D printers have shown to be more useful than for printing models of toys and objects. Researchers have used 3D printing to create inexpensive and realistic prosthetics and replacement bones. Architects have been able to create 3D models of buildings. On a more controversial note, people have been able to even print functional gun models using a 3D metal printer. Everyday, researchers, scientists, more are finding new ways to use 3D printing to enhance our way of life.



Price
3D Printers have an extremely large range of pricing. Smaller printers that can be used at home can cost around $200 while large printers used for research and science can cost up to $800,000.

One of more inexpensive 3D printers is the Cube 3D, which can be used for small projects and fit right in your home.

 You can find more information about this printer at their website, http://cubify.com/en/Cube.

Sources
Boboltz, Sara. "11 Amazing Ways People Are Using 3D Printers For Good, Not Guns." The Huffington Post. TheHuffingtonPost.com, 15 Nov. 2013. Web. 15 May 2014. <http://www.huffingtonpost.com/2013/11/15/3d-printer-inventions_n_4262091.html>.

3ders Staff. "Price Compare - 3D Printers." 3ders.org. 3ders, n.d. Web. 16 May 2014. <http://www.3ders.org/pricecompare/3dprinters/>.

Beta Testing

The first time I came across the word, "beta test," I was a young teen playing online multiplayer games. This was a common term among those who played online games. Online game developers often release "beta" versions of their game in order to have real players test minor bugs or survey the critical reception before it is released to the public. Beta testing is extremely crucial to the software release life cycle of an online game because it allows developers to simulate game play and predict popularity before the game is released.

Here is an example of a beta testing program from online game developer, Artifex Mundi. Artifex Mundi allows anyone to be a beta tester and sends them newly released games in order to get feedback.


Beta testing is not only important for online games, but for all software releases. It is part of a whole cycle of software release development. In its stage, the software is complete and has already gone through extensive internal testing. However, internal testing cannot cover all cases that may happen in real life usability, so there is still bugs, speed or performance issues, or crashes in the software. Beta versions of software are usually free to download and use until the final version is released.


Beta testing is used to demonstrate or preview software to a prospective customer. This form of testing has advanced software development into the agile, efficient, and error-free system it is today. Beta testing has helped boost small software businesses because it accommodates for the testers that they cannot afford to have.

Sources
Artifex Mundi. Nightmares from the Deep: Davy Jones - Artifex Mundi. N.p., n.d. Web. 15 May 2014. <http://www.artifexmundi.com/>.

Kaspersky Staff. "Kaspersky Beta Testing." Kaspersky Lab. N.p., n.d. Web. 15 May 2014. <http://www.kaspersky.com/downloads/beta_testing>.