SOFTWARE
ENGINEERING
Software Architecture
Software architecture is the backbone of any enterprise-wide
information system because the system's quality attributes are largely
permitted or precluded by its architecture, which not only represents
an abstract reusable model that can be used across applications but
also provides a common ground for mediating conflicting goals & requirements.
The Artilligence Software Engineering Methodology
begins with Architecture. While the Client/Server Architecture is a
versatile, message-based and modular infrastructure that improves usability,
flexibility, interoperability and scalability, we consider it obsolete
in the modern context. We, therefore, endorse a Distributed/Collaborative
Enterprise Architecture based on the Distributed Object Model
using shared, reusable Business Models (not just objects) as
a basic structural design. It combines the benefits of standardized
business object models and distributed object computing to provide a
flexible, robust and evolutionary platform for all systems development
needs of an organization, including:
- New systems development
- eBusiness transformation of existing systems
- Legacy systems reengineering (white-box modernization)
- Black-box (non-intrusive) modernization of information systems (without
knowledge of the internals of a legacy system)
- Reengineering legacy "Application Server based" client/server
applications into "ORB (Object Request Broker) based" distributed
object systems
- Extending legacy CORBA/COM/DCOM/COM+ systems using shared, reusable
business models
Development Methodology
We use and advocate a tool-based software development
methodology using Software Components. When required, we extend the
paradigm to integrate Open Systems based commercial-off-the-shelf (COTS)
software products into an application. Our software engineers employ:
- Object-Oriented Analysis & Design methods using UML
- Defined Object Frameworks
- Defined Business Processes
- A comprehensive repository of Business Objects
Applications
Artilligence provides full life-cycle software engineering
services on a turnkey basis to develop software in diverse application
areas, including but not limited to, the following:
- eBusiness/eCommerce/mCommerce and other Web-centric applications,
including eBusiness vortals and Web-enablement/transformation of legacy
systems
- Enterprise Resource Planning (ERP) & Supply Chain Management Systems
for Manufacturing (MRP II), Wholesale & Retail Distribution, and Banking/Insurance/Brokerage
industries
- Customer Relationship Management (CRM) and Sales Force Automation
(SFA) Systems, including interfacing these with ERP systems
- Business Intelligence Systems, including Data Warehousing, DataMart,
Data Mining & OLAP (On-Line Analytical Processing)
- Large/Hybrid Database Management applications
- Knowledge-based applications in Artificial Intelligence
- Document Management systems
- Government & Community systems
- Data Acquisition & Control Systems for industrial automation and
other applications
Services
We are adept in every phase of the software development
and deployment life cycle. The following is only a representative list
of services we provide.
Architectural Design: We study the organization's
needs from the Information Engineering standpoint and develop an Architecture
that addresses the enterprise-wide requirement at any level of abstraction,
thereby providing a unified and consistent guideline for developing
software-intensive systems across the board.
Business Process Reengineering Studies:
Our domain experts conduct an investigation into your existing business
processes and propose changes that are better aligned with the corporate
objectives. The resultant findings may be used in collaboration with
our software engineers to map the new business processes with the set
functionalities of an ERP system.
Feasibility Studies: Any successful I.T.
systems implementation begins with a study by a domain expert of what
is feasible and what is not. An integral part of the study is the Discovery
process that reveals what is "possible" for your business.
These possibilities sometimes dictate the feasibility of the project
under consideration, and sometimes have an even broader impact on the
overall company strategy.
Proof-of-Concept Prototyping: What the feasibility
and discovery process reveals must oftentimes be demonstrated in a tangible
form before users can truly comprehend the consequences of such a system.
Depending on whether the requirements are slanted towards user-satisfaction,
functionality fulfillment or performance evaluation, we employ the right
prototyping tools to deploy a proof-of-concept system that help decision-making
based on experience and facts.
Systems Study & Design: Our senior consultants
have domain expertise on diverse industrial and commercial applications.
Our time-tested methodologies ensure a speedy and well-validated process
life cycle whereby user specifications are transported through extensive
modeling steps into programmable technical specifications. Use of object-oriented
methodologies employing re-useable objects is now an almost standard
practice regardless of the target application or development software
involved.
Programming: Our programmers are available
on a worldwide basis to produce efficient code using virtually every
popular development platform. We structure the project to best suit
your economy structure and can perform this task either on a fixed-cost
turnkey basis or on a variable cost time-and-material basis or
a mixture of the two.
Quality Assurance: Quality Assurance is
performed as an integral part of the programming process, and only verified
and validated software is moved to production for implementation. We
encourage our clients to contribute team members towards the Q.A. Team.
Implementation: Software/system deployment,
preceded and followed by user-training. We assist with data preparation,
migration, conversion and other processes that are sometimes necessary.
Software Maintenance & Extension: All
software is a living and evolving entity that must change with time
in keeping with changes in the market and/or the internal business process.
Our work does not just stop with software deployment and implementation.
If required, we can continue to be responsible for all maintenance and
improvement related work.
Software Migration & Porting: We have
experience in the following types of migration:.
- COBOL to COBOL with RDBMS
- COBOL to C++ with RDBMS
- COBOL to Unix/C/Oracle
- COBOL to PowerBuilder
- COBOL to Visual Basic
- COBOL to Delphi
- Informix to Oracle
- Informix to C and DB2 on MVS/ESA
- Informix to PowerBuilder & Sybase
- RPG/400 to COBOL/Oracle
- RPG/400 to PowerBuilder
- RPG/400 to Delphi
- Other migrations and portings involving Unisys, Wang, NCR, Honeywell
Bull, Phillips and ICL
|