Dot Net Technologies
Server Technologies
Windows Mobile
Java Technologies
Analysis & Design
QA & Testing
Database & Reports
Software Development
Project Management
ERP Product Demo
ERP Product Profile
Home > Technologies > Analysis & Design
Analysis & Design

Harinya works based on Object Oriented Analysis and Design and follows UML concepts & Design Patterns for designing the software.


The examination of a problem by modeling it as a group of interacting objects. An object is defined by its class, data elements and behaviour. For example; in an order processing system, an invoice is a class, and printing, viewing and totalling are examples of its behaviour. Objects (individual invoices) inherit this behaviour and combine it with their own data elements. Transforming an object-oriented model into the specifications required to create the system. Moving from object-oriented analysis to object-oriented design is accomplished by expanding the model into more and more detail. A design method in which a system is modelled as a collection of cooperating objects and individual objects are treated as instances of a class within a class hierarchy. Four stages can be identified: identify the classes and objects, identify their semantics, identify their relationships and specify class and object interfaces and implementation. Object-oriented design is one of the stages of object-oriented programming.


Modeling is the designing of software applications before coding. Modeling is an Essential Part of large software projects, and helpful to medium and even small projects as well. A model plays the analogous role in software development that blueprints and other plans (site maps, elevations, physical models) play in the building of a skyscraper. Using a model, those responsible for a software development project's success can assure themselves that business functionality is complete and correct, end-user needs are met, and program design supports requirements for scalability, robustness, security, extendibility, and other characteristics, before implementation in code renders changes difficult and expensive to make. Unified Modeling Language helps us specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements. Using any one of the large number of UML-based tools on the market, we can analyze our future application's requirements and design a solution that meets them, representing the results using UML's thirteen standard diagram types.

Design Patterns

There are different types of design patterns used for the high level design like MVC (Model-View-Controller), Singleton and Factory depends on the platform and technologies.

  • Several problems can arise when applications contain a mixture of data access code, business logic code, and presentation code. Such applications are difficult to maintain, because interdependencies between all of the components cause strong ripple effects whenever a change is made anywhere. The Model-View-Controller design pattern solves these problems by decoupling data access, business logic, and data presentation and user interaction.
  • Singleton pattern should be used when we must ensure that only one instance of a class is created and when the instance must be available through all the code. A special care should be taken in multithreading environments when multible threads must access the same resources through the same singleton object.
  • Factory pattern should be used when a framework delegate the creation of objects derived from a common superclass to the factory - we need flexibility in adding new types of objects that must be created by the class. 


There are various tools that we are using for the architectural design of the proposed system.

Rational Rose

Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool intended for visual modeling and component construction of enterprise-level software applications. Two popular features of Rational Rose are its ability to provide iterative development and round-trip engineering.

Enterprise Architect

Enterprise Architect is a collaborative modeling, design and management platform based on UML and related standards. An enterprise wide solution for visualizing, analyzing, modeling, testing and maintaining a wide range of systems, software, processes and architectures.

MS Visio

Microsoft Visio enables easy assembly of diagrams through dragging predefined Microsoft SmartShapes symbols coupled with powerful search capabilities to locate the right shape, whether it is on a computer or the Web.

Company Overview Mission and Values Management Team Infrastructure Culture at Harinya
Software Development Product DevelopmentWebsite Development QA & Testing Project Management Customer Support Training & Consultancy
ERP Business Accounting & Finance Budgeting & Funding Inventory & MRP CRM & Help Desk POS & Shopping Cart HR & Payroll
ERP & Finance Pharma & Healthcare Manufacturing Trading & Logistics Mobile & LBS Supply Chain & Retail Sales & Distribution Automobiles Real Estates
Dot Net Technologies Server Technologies Windows Mobile Java Technologies Analysis & Design QA & Testing Database & Reports Software Development Project Management
Software Development Product Development Estimation Proposal QA & Testing Procurement Project Management Partner Inception
Domestic US UK Middle East Far East
Software Product Modules Web Services Components
Why Harinya? Current Openings Join Harinya Knowledge
Locations Request Info