|
|
|
|
|
Methodologies Overview
|
|
|
Agile Software Development
Rapid Application Development (RAD)
Object Oriented Development (OOD)
Service Oriented Architecture (SOA)
Design Patterns
|
|
|
 |
|
METHODOLOGIES

Sharp Software Solutions uses software development methodologies that are time tested
and industry approved. Using the expertise from our senior software development
staff we have chosen 5 core software development methodologies. These mythologies
enable our clients to have: reusable and logically grouped code, non-redundant data,
and loosely coupled/scalable architecture.
Agile Software Development

Agile software development allows us to deliver early and often, by using
an iterative approach. This methodology allows us to accommodate changes in requirements
by constantly interacting with the client. Agile project progress is measured by
the frequent delivery of working software, meaning you will see results at every
iteration. Less moving parts means a more reliable product, so we strive to make
our software development process as simple as possible. Here are some of the practices
that we utilize: acceptance testing, coding standards, open workspace, refactoring,
simple design, and small releases.
To read more about Agile go to the following link:
About Agile or XP
Rapid Application Development (RAD)

RAD methodology provides a structure for fast software development; through
prototyping, visual diagrams of the system, and code generation (CASE). RAD and
Agile work hand in hand, allowing us to more easily adapt to requirement changes.
Before any coding is done we get an approval on the wireframe user interface design
of the application. Then we go into our first iteration of development and refactor
if changes in design are relevant.
To read more about RAD go to the following link:
Rapid Application Development
Object Oriented Development (OOD)

Without OOD, Agile and RAD would be nearly impossible. OOD allows for iterations,
coding standards, refactoring, and prototyping. Using OOD languages such as C# and
VB.Net we are able to create applications that are loosely coupled, scale well,
reuse code, and share data. A loosely coupled architecture allows for scalability,
meaning as your company grows your application architecture can grow with you. Applications
can be plugged in and out without affecting other software applications within your
system. Code reusability means that more development dollars will be spent developing
new functionality versus “recreating the wheel.” Since the code is reusable and shares
data, less time is spent on maintenance and more is spent on enhancements and new
functionality. Another benefit that OOD provides is that software applications can
be easily documented. All of our software designs meet UML 2.0 standards and come
in the form of Class, Sequence, and Use-Case diagrams.
To read more about OOD go to the following link:
Object Oriented Development
Service Oriented Architecture (SOA)

SOA provides all of the benefits of OOD plus it is even more loosely coupled
and scales even better. The biggest benefit of SOA is that applications are not
tied to specific technology (interoperability). Software applications in different
domains or parts of the world can process messages from one another. Applications
communicate through a course grained service layer. The sender does not have to
know the implementation of the service, meaning the sender just sends a message
and the message receiver does all the necessary processing. However the message
must meet the contract that is defined by the services layer.
To read more about SOA go to the following links:
SOA Practitioners' Guide
Contract-First Service Development
Design Patterns

Design patterns are used extensively in OOD and SOA. Design patterns allow
for easy dialect between software developers. When software is written to follow
a design pattern the software is easily supportable, and meets a quality standard
that is time tested. All code written by Sharp Software Solutions follows various
design patterns and meets Microsoft’s best practices. This is how you know you are
getting the highest quality code possible. Here are some commonly used design patterns:
unchained service factory, façade, broker, DAO, MVC, adapter, builder, and singleton.
To read more about Design Patterns go to the following links:
Middle-Tier Patterns in .NET
Gang of Four Design Patterns
|
Solutions
Information
Client List
|