Skip to main content

Posts

Software Development Laws

Software Development Laws Conway's Law  - This law states that the organizational structure of the development team reflects in the code. Hierarchical organizational structure that are rigid can result in the poor architecture and code that would result in software that is too costly and hard to maintain. Humphrey's Law  - This law states that the users do not know the requirement until they see the software. User says "I Know It When I See It" (IKIWISI). But the traditional developer says that "What You See Is What You Get" (WYSIWYG). Here lies the problem and in my opinion may possibly contributes to the Ziv's law. Ziv's Law  - This law states that software development is unpredictable.

W3 Lab Lottery

Write a console application that mimic popular lottery. Ensure that you choose the right data structure to complete this exercise. The application asks user how many QuickPick numbers she wants. Once the user enters an integer, application should generate specified number of QuickPick numbers. The each QuickPick will have 6 integers in the range of 1-49 inclusive sorted in the ascending order without any duplicates.. Once QuickPick numbers are generated they are sorted in the ascending order and displayed on console.  Then, Winning Number is generated. If the winning number is matches the User Number. The application should calculated the reward, if any, and display appropriate message on the Console screen.    The reward is based on the following  Number of Matches Win 6/6 80.5 % of the 30million 5/6 + Bonus 5.75 % of the 30million 5/6 4.75 % of the 30million 4/6 9 % of the 30million 3/6 $10 prize 2/6 + Bonus $5 prize...

Introduction to System Analysis and Design

Information Systems  Organization today uses information systems to achieve strategic, tactical and operational advantage. Information systems capture, process, stores and retrieve information that satisfies the business requirements. They are either built for the organization or they are procured as an off-the-shelf software.   Traditional systems development life cycle (SDLC) SDLC The software systems can be built in-house. Software system development consists of a number of phases. A traditional SDLC consists of four phases - System planning and selection , system analysis , system design , and system implementation and usag e. System analysis and system design are critical phases of SDLC. System Analysis and Design System analysis and design is performed by a system analyst to ensure the effectiveness of the information system. An information system is considered to be effective when it is capable of catering the information requirements of an orga...

Composite Pattern

Composite pattern is useful when Group of items and an individual item need to be handled uniformly. For example, operations cut, copy and paste should work uniformly for both an individual file or a directory. Leaf Branch Contact Contact Group File Directory Address Address group

Adapter Pattern

An Adapter as the name says is used to provide a mechanism that adapts an existing interface to the required interface. This helps the types that are not designed to work together, work together. Adapter pattern may become handy when working with legacy system. Here adapter allows the use of interfaces that are incompatible with new interface requirement. For example, an object needs to compress a file. You find that there is another class that provide the compression service, but has a different method signature than the one required by the object. An adapter patter can come to rescue in such situations. We can create an adapter class that allows the existing service to be used through a new interface. There are two kinds of adapters: Class Adapter - This type of adapters adapters through sub-classing  Object Adapter - This type of adapter use delegation to adapt instead of subclassing Class Adapter  Let say you want to use this existing method zipFile() i...

Facade Pattern

A facade is "the front of a building OR any side of a building facing a public way or space and finished accordingly." ( Dictionary.com , 2014). A facade pattern hides all the complexities behind a simple easy to use interface. It provides a simplified access to subsystem. Related pattern: Trusted Facade Pattern Bibliography Bishop, J. (2016, 12 30). Structural Patterns: Adapter and Façade . Retrieved from MSDN: https://msdn.microsoft.com/en-us/library/orm-9780596527730-01-04.aspx MSDN. (2016, 12 30). The Trusted Façade Pattern . Retrieved from MSDN: https://msdn.microsoft.com/en-us/library/ff649496.aspx MSDN. (2016, 12 30). Trusted Facade Service . Retrieved from MSDN: https://msdn.microsoft.com/en-us/library/aa355058(v=vs.110).aspx

ASP.NET Web Apps

ASP.NET web applications ASP.NET is used to create dynamic web sites. Web pages are said to be dynamic when the content displayed on the web page change based on the user profile, user input, time or any other factor. The web pages that does not changes are said to be static. In an ASP.NET web application, web pages served by the web server are generated by an application based on the user request. ASP.NET websites use client server technology like every other web sites. Where the browser is the client. When a user types a URL or clicks a link or a button in the web page, a request is sent to the web server. This request is then sent to application server that runs an appropriate program to create the web page requested by the user. This web page also may include data that is retrieved from a database server. Once the web page is created, this web page is sent to web server which sends it to the user's browser. The whole process is called a round trip. Listed below are 5 di...