<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fugu Software</title>
	<atom:link href="http://fugusoftware.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fugusoftware.com</link>
	<description></description>
	<lastBuildDate>Mon, 26 Oct 2009 04:01:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Engineering Discipline in Software</title>
		<link>http://fugusoftware.com/engineering-discipline-in-software/</link>
		<comments>http://fugusoftware.com/engineering-discipline-in-software/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:46:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://fugusoftware.com/?p=5</guid>
		<description><![CDATA[Software is being developed to address the problems of business-related functionalities of the modern world. How these software products are being developed is only made known to the developer. However, only one thing is for sure, the utilization of the software solution will be beneficial to the target end-users.
Software development involves a series of activities, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://fugusoftware.com/wp-content/uploads/2009/10/soft_dev.jpg"><img class="alignleft size-full wp-image-7" style="margin: 5px 15px;" title="soft_dev" src="http://fugusoftware.com/wp-content/uploads/2009/10/soft_dev.jpg" alt="soft_dev" width="322" height="300" /></a>Software is being developed to address the problems of business-related functionalities of the modern world. How these software products are being developed is only made known to the developer. However, only one thing is for sure, the utilization of the software solution will be beneficial to the target end-users.</p>
<p>Software development involves a series of activities, which are undergone by software developers who determine the specifications, purpose, and design of the solution. Software development may be also referred to as the process of writing and/or maintaining source codes.</p>
<p>A software development process is a structure which is imposed to develop a software product. Synonymous to software life cycle and software process, several models describing different approaches to a wide variety of tasks are undertaken.</p>
<p>Contemporary software firms adopt different or even fused software development methodologies to structure, plan, and control the development process of the overall system. Among these methodologies, five are popularized:</p>
<ul>
<li>Structured      programming – deals with the correct usage of a block structure, procedure      call statements, and loops construction. This simply means the flow of      control.</li>
</ul>
<ul>
<li>Object-oriented      programming (OOP) – manages with the complexity of software by packaging      code and the data to which the code refers. Sometimes, real-world objects      and processes are modeled as software objects, unlike with how we deal      with the physical objects.</li>
</ul>
<ul>
<li>Design      patterns – the use of design patterns has been based on observations that      some software projects fail while those similar projects are successful. Design      patterns for specific tasks are commonly used for successful projects      repetitiously.</li>
</ul>
<ul>
<li>Extreme      programming (XP) – based on identifying and concentrating on the      development and deployment of what the client needed most. This method is      especially effective in a complex system yet not well-agreed upon      requirements.</li>
</ul>
<ul>
<li>Aspect-oriented      programming (AOP) – separates concerns of different modules of a software      system. It is accomplished through allowing software developers to tap      method calls and let an auxiliary code be executed before and/or after the      method calls. It is sometimes referred to as the modular approach.</li>
</ul>
<p>The adoption of software development models is favored by most of the software firms. These models are as follows:</p>
<ul>
<li>System      Development Life Cycle (SDLC)</li>
</ul>
<p>This model is also known as Waterfall Method or Classic Life Cycle (CLC) Model or Linear Sequential Model. The following are the activities involved:</p>
<p>→   System Engineering and Modeling</p>
<p>All the required elements of the system are established. Further, the subsets of these requirements shall be allocated to software.</p>
<p>Output: Requirements</p>
<p>→   Software Requirements Analysis</p>
<p>This is referred to as the feasibility study. Development team studies the system and investigates the system for the possibility or the need of software automation.</p>
<p>Input: Established requirements</p>
<p>Output: Software Requirements Specifications (SRS)</p>
<p>→   System Analysis and Design (SAD)</p>
<p>Defines the overall software structure and nuances.</p>
<p>Input: SRS</p>
<p>Output: Design documents – Basic Design (BD), Detailed Design (DD)</p>
<p>→   Code Generation</p>
<p>This is the translation of the design into a machine-readable language.</p>
<p>Input: BD, DD</p>
<p>Output: Source code</p>
<p>→   Testing</p>
<p>Find bugs that were not detected in the previous phases.</p>
<p>Input: BD, DD</p>
<p>Output: Test results</p>
<p>→   Maintenance</p>
<p>Changes in specifications over time after software deployment happen; therefore, the software must be designed in such a way that posts implementation period changes can be accommodated.</p>
<ul>
<li>Prototyping</li>
</ul>
<p>This is just like the linear model, only it is the cyclic version. Once the analysis of requirements is done and the prototype design is decided, the development process starts. Once the prototype is created, evaluation is done by the client and feedbacks are being sent back for the refinement of the software product by the developer in accordance with the customer’s exact specifications. The final software package will be deployed after a series of iterations. Thus, software evolves as a result of recurring information shuttling between the client and the developer.</p>
<ul>
<li>Rapid      Application Development (RAD)</li>
</ul>
<p>This model emphasizes on minimal planning in favor of rapid prototyping. Rapid development is achieved through a component-based construction approach. The phases include:</p>
<p>→   Business Modeling</p>
<p>→   Data Modeling</p>
<p>→   Process Modeling</p>
<p>→   Application Generation</p>
<p>→   Testing and turnover</p>
<ul>
<li>Component      Assembly</li>
</ul>
<p>The OOP paradigm, which emphasizes on the encapsulation of data and algorithm for data manipulation, provides a technical framework for a component-based process model. Component assembly model can result to software extensibility through reusability. The integration of the available software components accelerates the software development process.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugusoftware.com/engineering-discipline-in-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modern day Assistants: Software Applications</title>
		<link>http://fugusoftware.com/modern-day-assistants-software-applications/</link>
		<comments>http://fugusoftware.com/modern-day-assistants-software-applications/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:35:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://fugusoftware.com/?p=1</guid>
		<description><![CDATA[In the modern world that all of us are living today, almost everything is now going on a fast pace every day. Modern day technologies are continuously evolving to congregate the needs of the people, especially the ones in the bigger institutions where information written in a piece of paper plays a vital role in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://fugusoftware.com/wp-content/uploads/2009/10/software.jpg"><img class="alignleft size-full wp-image-2" style="margin: 5px 15px;" title="software" src="http://fugusoftware.com/wp-content/uploads/2009/10/software.jpg" alt="software" width="300" height="319" /></a>In the modern world that all of us are living today, almost everything is now going on a fast pace every day. Modern day technologies are continuously evolving to congregate the needs of the people, especially the ones in the bigger institutions where information written in a piece of paper plays a vital role in their decision making and planning. People in higher positions assign a number of people responsible to come up with a creative and accurate report with the significant data gathered.</p>
<p>Since the creation of many software applications such as text editors, image editing software applications, movie editing technologies and the like, the amount of physical work and mental analysis are now reduced into clicking and dragging of the mouse and the pressing of the different keys on the keyboard. When these people have no other person to rely on in accomplishing their tasks, these applications provide a helping hand in finishing their chores.</p>
<p>Simple software applications like text editors such as Microsoft Word and Open Office document manage to help one in the simple ways such as proper alignment of each outline in a composition and indenting each paragraph to make the composition look symmetrically aligned. When in doubt of a word’s correct spelling, spell checker comes in handy as well as the thesaurus in selecting the proper words to use and many other features in it performing its function. Even the people fluent in the universal language used by many still turn to these simple features just to double check on their work. Another helpful application which helps one in the generation and the creation of reports is Microsoft’s Excel application and its entire equivalent by allowing the user to provide the formulas needed and these applications do the computation of the figures being fed. This kind of application is useful, especially in the computation of grades of the students where a teacher doesn’t have to manually compute each student’s set of the scores. It would be a matter of encoding the scores, set the formula and letting Microsoft Excel to do the work. These applications also provide assistance to professionals such as accountants and statisticians because the application can also represent the figures gathered in the type of bar chart, graph chart or pie chart for an easy understanding.</p>
<p>For the people working in the field of management, system planning and designing, some project scheduling software applications already exist in the market today to cater to their needs, especially in the making of their project schedules. Some software applications are also used in the designing and planning of new systems or projects, in statistical comparison of some studies being conducted, in researches, and in various ways of the presentation of their reports.</p>
<p>Even in bigger companies and corporations such as telecommunication companies, software applications are needed in monitoring and are also needed in the calculation of the bill of each customer with the different services they availed. This application helps a lot by producing the needed information such as the customer’s remaining balance or the total bill to pay in a second, unlike before where one still needs to wait for their monthly bills to be delivered into their homes. It is also the software which directs the user to the person he or she wants to communicate to.</p>
<p>There are still many other software applications, which help people in many other fields such as in the field of medicine, engineering, science and technology, mathematics, commerce and even in the simple things we do everyday.  Most of the modern people still resort to these applications even in the simplest activity they do. Like that of the simple calculator application they use whenever they can’t find that scientific calculator their brother or sister always borrows. Though it is still possible for them to deliver the work without the aid of these applications, the speed of delivery as well as the accuracy and consistency that these software applications offer, provide more convenience to each of them. No wonder many companies and institutions today still seek the aid of computer specialists to help them create a software application or a system to assist them in their respective assignments.</p>
]]></content:encoded>
			<wfw:commentRss>http://fugusoftware.com/modern-day-assistants-software-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
