Login    Password        Sign Up   Forgot Password
Monday, June 17, 2024


Site Search


Site Server 3 
Visual C 
Desktop Appl. 
Distributed Appl. 
Outlook 2000 
FrontPage 98 
VB6 Distributed 
Visual Interdev 6 
Win. Architecture 



MCSE Cert.
Cisco Cert. 
The Work 
Areas of Work 
Career Prospects 


Govt. Exams

Windows Architecture


Analyzing Requirements and Defining Solution Architectures


(Analysing Requirements)

Define Project Responsibilities then

  1. Divide Responsibilities into individual tasks

  2. Determine how many Geographical Areas will be involved

  3. Get estimate of number of people who will be using your application

  4. Understand how quickly client wants the application implemented


(Design dealing with client's line of business)

Establish Business Requirements (Rules)

  • Description of a specific task in client's business work flow. e.g., inventory control, inventory falling below a certain amount, re-order stock.

Establish Type of Problem

  • Identify where problem lies, e.g. When to re-order stock, only states to do it, not how to do it.

Establish Customer Quality Requirements

  • What the client wants

  • Use progressive solution – Solution implemented in


  • Minimize TCO (Total Cost of Ownership)

    1. Consider the role of value

    2. What constitutes a cost

    3. Suspect and Recognise high costs

  • Increase ROI (Return on Investment).


  1. Analyze the technology already in use

  2. Consider input from staff (part of infrastructure) and should be part of solution



  1. Schedule time required for migration process

  2. Test the effects of migration

  3. Minimize business interrupts during Migration

  4. Familiarize personnel with new changes

  5. Prepare contingency plans for unexpected failure

  6. Establish an Application environment

    • Infrastructure – Company's every part that is not a computer, cables, etc.

    • Hardware –and software constraints and requirements to run Applications

  7. Identify Organisational Constraints

    • Financial Constraints

    • Company Politics

    • Level of technical acceptance

    • Training needs

  8. Identify your audience

  9. Establish an Implementation Schedule


  1. Consider

    • Which groups requires access

    • Which data should each group be given access to

    • What kind of access should each group be given

  2. Identify roles of Administrators, Groups, Guests and Clients

  3. Establish level of Fault Tolerance / Security Context

    • Level of accepted data safety

  4. Identify Impact of Security

    • Will your system disable the functions of existing Software, etc

  5. Plan for Maintainability

  6. Plan distribution of a security Database

  7. Plan for Auditing / Logging

  8. Identify required level of security needed

  9. Analyze existing Security Policies



  • Consider

    • Interoperability with existing standards

    • Response Time expectations

    • Transactions / minute

    • Bandwidth

    • Capacity

    • Bottlenecks

    • Peak vs. Average requirements



  • Consider

    • Deployment

    • Maintenance

    • Redeployment



  • Consideration for future growth



  • Consider

    • Hours of operation

    • Level of availability

    • Geographic scope

    • Impact of downtime



  • Consider

    • Physical environment constraints

    • Accessibility

    • Special needs

    • Target users

    • Roaming Users

    • Help Support

    • Training Requirements



  • Consider

    • Legacy applications

    • Compatibility with existing software

    • Format and location of existing data

    • Data conversion

    • Data enhancements



  • Consider

    • Current business practices

    • Customer's needs

    • Budget

    • Implementation and training

    • Quality control requirements

    • Process engineering

    • Legal issues



  • Consider

    • Growth of data, organization and audience



Single-Tier Application Model

  • Business rules, User Interface and Database is on the client computer.

  • Negative side

    • High network traffic loads

    • Difficult to maintain

    • Single PC



Two-Tier Application Model

  1. Business rules (B/R) and user interface (U/I) is on client

  2. Client makes intelligent queries and processes them

  3. Database (Data) is only kept on server for central storage

  4. Advantages

    • Client/server network advantages

    • Separates user interface processing from data storage

N-Tier / Multiple – Tier Application Model

  • Presentation, Business and data services are split



(Which technologies are appropriate for implementation of a given business solution?)


  • Method of transferring structured data between two computers by electronic means


  • Consider OSI (open System Interconnection) standards

    1. Defines networking framework by implementing seven layers of protocol (Physical, Data, Network, Transport, Session, Presentation, Application)

    2. Handy Acronym: "Paula Did Networking Till She Passed Away"


  • Set of IEEE and ISO standards defining an interface between programs and operating systems


  • Enterprise Solutions

    • Spread across entire scope of a business enterprise

  • Distributed Solutions

    • N-Tier Architecture – different components perform different parts of a task

  • Centralized Solutions

    • Stand alone applications where minimal shared information is required

  • Collaborative Solutions

    • Involves multiple software/hardware packages that must function interactively



  • Consider

    • Amount of users accessing at same time

    • Storage capacity

    • Transactions / minute

    • Database Growth

    • Available security features

    • Reporting requirements



  • Evaluation to ensure that the solution meets the business expectations and use case scenarios are met. Demonstrates workability of technical architecture.

  • No code written yet.

  • Must ensure the following are met

    • Business requirements

    • Use case scenarios

    • Existing technology constraints

    • Impact of shortfalls



  • Every solution design must be evaluated in terms of

    • Availability

    • Extensibility

    • Maintainability

    • Performance

    • Scalability

    • Security



  1. Break down application in series of phases/versions

  2. Plan test environment for each test phase

  3. After testing plan a test rollout – Dry run of how you will implement product

  4. Execute the test rollout

  5. Deploy this phase to the production environment

  6. Collect and analyze bug reports

  7. Fix Bugs

  8. Repeat from second step (Plan test ...) for next phase of product



DBMS (Database Management System) - Computer Application providing the means and methods to permit a user to interact efficiently with a data source

Types of DBMS Methodologies


  1. e.g. Telephone directory

  2. Data is stored in one large file

  3. Relies on standard file I/O processes

  4. Contains only one record structure

  5. Uses no links between separate records

  6. Relatively fast

  7. Can become very big and hold redundant data









Accounts Payable

Hierarchical Database

  1. Single flat file is replaced with series of tables linked in a structured relationship

  2. Child record can be linked to only one parent

  3. Link between a child and parent record is permanent

  4. Child records can only be reached through a parent record



Relational Database

  1. Stores data in one or more tables which can be linked to any other table

  2. Consists of Entities (Tables), Fields (Columns) and Records (Rows)



Types of DBMS Methodologies

  1. Analysing the relational data structure of a database use ERA

  2. ERA assists in defining three things about data:

    1. The entities described

      • Anything that contributes to the cycle of a business process and can be described in terms of accessible data, eg: Cheque Book

      • Three types

        1. Kernel entity – describe only one entity, not used to define relationships

        2. Associative entity – ties kernel entities together

        3. Characteristic entity – provides additional information about a specific kernel/associative entity

    2. The attributes of the entities

      • When describing an entity you refer to its attributes/characteristics – single invisible item describing aspects of an entity

    3. Relationship between the entities

      • Linking one table with another for queries

      • Makes use of two keys

        1. Primary Key – Unique value for each record in the entity, referenced by,

        2. Foreign Key - Corresponds to PK of another entity

      • One-To-One Relationship

      • One-To-Many Relationship

      • Many-To-Many Relationship

      • Joining entities - five types

        1. Inner Join - Relates two tables together and returns all records from each table that have a matching record in another table

        2. Left Outer Join - All records in the left table are returned, but only matching records from the right table are displayed.

        3. Right Outer Join - Opposite to Left Outer

        4. Full Outer Join - Returns all matching records from both tables, but nulls are placed where other records are retrieved, but do not match

        5. Cross Join - Two tables are related but a set of fields to relate to is not provided. All possible combinations of all rows in the table is made = Cartesian Product



(Process of removing redundancies from stored data)


  • Saving in storage space and cost

  • Data can be updated and maintained efficiently

Rules of Normalization = Normal Forms:

  • First Normal Form

    1. No repeating groups. Data in rows and columns must
      contain only one value Every record in the table must be unique and no duplicates are permitted

    2. PK must satisfy several conditions

      • No duplicates

      • Can not contain Null values

      • Every record must have a PK

    3. All data must be non decomposable – the data can not be
      broken down into simpler pieces

  • Second Normal Form

    • Every field in a table must relate to its PK field in its entirety

  • Third Normal Form

    • Any non-key field in a table must relate to the PK of the table and not any other field


  • Restore attributes

  • Restore duplicate keys


(Refers to the accuracy and consistency of the data contained in a database)

Entity integrity

  • No component of a PK can be permitted to have a null value

Referential integrity

  • Guarantees the logical consistency of the database by ensuring the values for PK and FK pointing to PK are always in agreement

  • Three rules that can be imposed when updating PK:

    1. Restrict – Delete / Update on PK not allowed

    2. Cascade – Any change to PK is automatically applied to all FK

    3. Nullify – Before update is done to PK all corresponding FK values are set to null




User Control

The user must be able to control everything about the application.


The user must see direct results that they take in your application.


The Environment must be consistent eg: Windows 95/98 environment.


Tell users before they make mistakes; e.g., Min/Close button in Windows, difference in closing and minimising.


Application must communicate with users, when busy, etc.


Interface must be visually appealing.


Only show user what he needs, hide more complex concepts until asked
for = progressive disclosure.

Accelerator keys

Use of shortcut keys, eg: Alt & Ctrl – A keys.

Choose the correct controls

  • TabStrips

  • Tool, Progress & StatusBars

  • Tree and ListViews

  • Sliders, text boxes, labels, etc.

Using MDI's / SDI's


Adding Shell extensions

  • File Object – Any item within the shell, e.g. Printers

  • File Class – Owner of particular type of object e.g. MS Excel file is a file class

  • Handler – Code that implements a specific shell extension

    1. Some shell extension types include:

      • Context Menu Editor – Context menu appears when user clicks on a file object with the secondary mouse button

      • Icon Handler – Adds icons to the classes for a specific file object

      • Property Sheet Handler – Adds property sheet specific to a file class or file object

    2. Will you use Console Applications?

      • e.g., TSR utilities

      • Terminal emulators

      • Hardware configuration utilities

    3. Accessibility – Visual/hearing impaired or spelling impaired consideration for users

    4. Deployment Platform Consider

      • 32 Bit Windows or 16 Bit Windows

      • Internet or Intranet, Browser compatibility, etc. must be kept in mind

    5. User assistance:

    6. Fully indexed and searchable help topics

    7. Context-sensitive help – pressing F1

    8. "What's this" Help, ToolTips, Status Bars

      • Task Help (The assistant in MS Word for example)



  1. Logical design = Theory and planning behind the design and implementation (Physical Design)

  2. Logical design is concerned with behaviour from an abstract perspective

  3. Physical Design is concerned with the actual implementation of the design

  4. Logical design is independent of technology constraints

  5. Physical design must consider system hardware and software where the interface will be employed



  1. Requires that you begin with a structured base and evolve a solution that will provide a physical implementation satisfying business requirements

  2. Make use of the following models to structure your design

1. Context Model

  • The process that surrounds your application

  • Consider external interactions, draw a diagram of the interaction between your application and other business processes

2. Work-Flow Model

  • Describes the process your application supports rather than the process your application performs

  • To generate the model

    1. Think of each Input an Output point in your context model as a client of your application.

    2. Consider the business tasks that each client must perform

    3. Eliminate tasks that are not the responsibility of your application

    4. Determine the sequence in which each task is performed

3. Task-Sequence Model

  • Describes internal flow of operation inside the application

  • Reference the previous two models to generate this model

  • The task-sequence model describes what your application needs to do to generate the proper inputs and outputs in a proper sequence

  • Tasks in this model differs from the ones in the work-flow model in that these tasks are internal to your application, while the tasks in the work-flow model are external

  • Focus on what the application does, rather than on what the users need it to do

  • Draw a flow chart to outline the process

  • Actions(Rectangular boxes) to be performed

    1. Decision points(Diamonds), contains a question with all possible answers

    2. Connections(Arrows between action and decision points), direction of arrow shows sequence of the elements


  • Process of Logical design - defined as a discrete series of activities that includes:


1. Identifying business objects and services

  • The primary components for constructing a logical design

2. Interface design

  • An interface is a statement defining the elements required to call a service, along with any preconditions along with the service

3. Business object interdependencies

  • Dependencies between business objects appear when one business object calls for a service supplied by another business object

  • Must be avoided at all times

4. Employing usage scenarios to validate logical design

  • Usage Scenarios ensure that requirements in the conceptual view is fully and correctly expressed

  • Ensures clarity and correctness of the design

5. Design Revisions

  • Producing a complete logical design does not happen in one step

  • Begin by creating an initial design, then criticise and dissect it, refining the design and adding detail


  1. Logical Design Risk Factors to Consider

    • Behaviour of the logical design does not match usage scenarios

    • Logical design must be co-ordinated with the enterprise architecture (Hardware/software)

    • Must not depend on external systems

  2. Baselining the Logical Design

    • Tests performed before making any changes to a system

    • Key requirement of baselining a logical design is validating the usage scenarios

  3. Asses the potential impact of the logical design by considering

    • Performance

    • Maintainability

    • Extensibility

    • Scalability

    • Availability

    • Security



  1. Means translating the logical design into a cost effective solution

  2. Roles filled by teams in a physical design

    • Product Management – Governs the physical design process

    • Development – Creates the design

    • QA/Testing – Plans test process

    • Logistics – Plans appropriate distribution

    • User Education – Plans training programs

  3. Assessing the impact of the design, consider

    • Performance

    • Maintainability - considering:

      • Good three tier design

      • Designing for change

      • Business rules

      • Code readability

    • Extensibility – How new functionality can be added to the system with minimum cost and time impact

    • Scalability – e.g., Must perform the same if 10 or 1000 users makes use of the system. Consider

      • Component state

      • Just in time activation

      • Clustering

      • Resource pooling

    • Availability – How often the system is able to perform, measured by MTBF (mean time between failure) and MTTR (mean time to recovery); consider

      • Redundancy

      • Message delivery

      • Clustering – Use process of failover = quickly switching to a different
        server if one fails

    • Security

  4. Physical design as a process: The process of turning a logical design into a physical solution and involves a sequence of events

    • Allocating services to components

    • Distributing components across the network

    • Refine component packaging and distribution

    • Define component interfaces as a mechanism for implementing the service relationship between components

    • Determine physical media storage, how data will be accessed and distribution of physical data

    • Validate the design to ensure the physical design is consistent with the logical design and overall enterprise design



Composed of seven models

1. Team Model

  • For building high performance teams that deliver

  • Team must know who does what

  • Must know who is in charge

2. Process Model

  • Judging development trade-offs

  • Addresses explicit accountability for teams

  • Addresses project risks early in the planning stages

  • Defines critical milestones for tracking development

  • Characteristics

    1. Envisioning – Vision statement provides product/service goals

    2. Planning – Defines customer expectations

    3. Developing – Establish series of interim milestones, debugging, testing, etc.

    4. Stabilisation – Rigid operational requirements for thorough testing

3. Development /Application Model

  • Designing for flexibility

4. Solutions Design Model

  • Aids developers in anticipating user requirements

  • Aligns solution development with business goals

5. Enterprise Architecture Model

  • Provides structures for business integration

  • Consider

    1. Application Architecture – standard interfaces, services, etc.

    2. Business Architecture – Describes how business enterprise operates

    3. Information Architecture – What information is needed by the organisation in order to run the business operations

    4. Technology Architecture

6. Infrastructure Model

  • Guides system developers in system deployment

7. Total Cost of Ownership Model

  • Methods to identify costs in technology investments

  • Aimed at improving return on investment

  • Consider

    1. Role of value

    2. Cost discrepancies

    3. Business enterprise requirements



  1. Method of distributing your application

  2. Deployment Medium

    • Floppy Disks Deployment (1.2 / 1.44/ 2.88MB capacity)

    • CD-ROM Deployment (650MB capacity)

    • Network Deployment - Consider speed, bandwidth and reliability

    • Internet Deployment – Webserver fulfils task of files server, user connects to server and downloads files

  3. Deployment Methods

    • When installing over a network consider:

      • Push Install – Network server initiates process to send files to user

      • Pull Install – Client initiates some action to start copying the files from the, server

      • Automated Installs – Using Batch and Script Files or Systems Management Server (SMS)



  • COM is based on concept of re-usable components



    • More productive in using and reusing software

    • Offers opportunity to develop for niche applications, e.g., Add-on components to existing applications

    • For vendors, distributed operating systems can be tailored to user's needs

    • End users have a wide variety of choices

    • Corporate standpoint, component software can reduce costs for in-house development

    • MS OLE standard was first step in the creation of component software



    • All services supplied to users by COM, share a common requirement

      • Access to mechanisms to allow compiled software vendors to connect together and to share information in a well behaved and defined manner

    • COM supplies supporting mechanisms for

      • Robust evolution of component-based applications and systems

      • Communications between components, between processes and across network boundaries

      • Dynamic loading of components

      • Error and status reporting

      • Shared memory management between components

    • Component Software Problem

      • Most fundamental problem in component software is providing a system that will allow binary executables

      • Five areas must be supported to supply a single supporting mechanism

        • Basic Interoperability – Free creation of design, while still being interoperable with other applications from different developers

        • Version Compatibility – Applications must be able to be upgraded, without all other components required to be upgraded as well

        • Language Independence – Applications must not be language or tools specific

        • Cross-Process Functionality – Components must be able to function in-process, cross process and cross-network

        • Performance – system overhead must not impact on performance



    • Increased process speed and minimal overhead

    • Reusable interfaces

    • Local/remote transparency – allowing object to be local or networked

    • Language independence

    • Virtual function tables (vtables in memory) = COM can be adapted to a variety of platforms by defining the vtables = any language that supports function calls via pointers, e.g., C/C++, Pascal(Delphi) Small Talk, Basic and Ada can be used to write components



    • All component objects must support a base interface – IUnknown- along with any combination of other interfaces necessary to expose the functionality supplied by the component object – Data aspects of components are never exposed

    • IUnknown Interface

      • Defined by all COM objects, provides the implementation necessary for basic COM functionality

      • Is base class to derive all other COM and OLE interfaces

      • Provides three exposed methods

        • QueryInterface Method

          • Allows clients at run time to dynamically ask whether or not a specific interface is supported by the component object

        • AddRef Method

        • Called to increment the component's use count when another component object is using the interface

        • Release Method

        • Called when interface is no longer needed



  • Part of Windows system, providing basic mechanisms to support COM, it provides

    • Connections between components

    • Mechanisms to make IUnknown calls across processes

    • Underlying mechanisms for launching components



  • Is a body of code implementing a component object's services (methods and functions)

  • Uses server code to create component object instances and in turn the object instance provides the services to the component object client


    • Mechanism to allow users to create compound documents

    • Object = any set of data from one application treated as a unit

    • Compound documents = documents that can contain objects created and maintained by multiple applications

    • Embedding = just like pasting, gives the client a complete and independent copy of the data, but an object remembers its origin and can be edited

    • When a document contains all the data for an object the object is embedded

    • When a document contains only a reference pointing to data in another document the object is linked

    • OLE is composed of a group of interrelated concepts, they are:

      Linking and embedding

      • Two methods of storing items created by external server applications within an OLE document

      In-Place activation

      • Occurs when en embedded item is activated in the context of the container document


      • Mechanism to allow one application to drive another

      • Driving application = automation client / automation controller

      • Driven application = automation server / automation component

      Compound File

      • Provides a standard file format that allows compound documents to be stored as structures, providing internal support for the formats required by different components

      Uniform Data Transfer (UDT)

      • Provides a set of interfaces allowing data to be exchanged between OLE client and server applications in a standard fashion

      Drag and Drop

      • Mechanism used to transfer data between applications, etc.

      Component Object Model (COM)

      • Provides infrastructure used by OLE objects for communication



        OLE Structured Storage is an OLE supported technology for storing and maintaining files composed of
        two or more OLE elements from different sources in a single document file and involves three elements

        1. Compound File

        • OLE supported structured storage implementations and supports IStorage, IStream and ILockBytes interfaces

        • Is any document containing linked and/or embedded objects in addition to the document's native data

        • Advantages

          1. Incremental File Access – Individual object within the compound file can be accessed without loading the entire file

          2. File Access Modes

            • Transacted – Keeps both old and new copies of a document until instructed to save or undo the changes

            • Direct – Makes immediate changes to the document, without ability to later undo the changes

        • Disadvantages

          1. Size and performance

          2. Fragmentation

        2. Storage Object

        • A COM object implementing the IStorage interface

        3. Stream Object

        • A COM object implementing the IStream interface and is analogous to a file in a directory/file system


          10. ACTIVEX CONTROLS

          Comprises a group of technologies to allow developers to create Internet applications using familiar tools and technologies.

          Parts of the ActiveX family

          • Active Scripts

          • ActiveX Controls

          • ActiveX Documents

          • ActiveX Server framework

          • Code download and verification

          • HTML Extensions

          • Internet ActiveX Controls

          • Internet data download services

          Foundation of creating ActiveX controls consist of eight elements

          • COM – Every ActiveX control is a COM object exposing the IUnknown interface

          • Compound Documents – Any document that includes linked or embedded objects and it's own native data

          • Connectable Objects – Allows the control to communicate with a client object by making use of incoming and outgoing interfaces

          • OLE Automation – Permit access to the control's interface through the client supplied programming language to users

          • Persistence storage – ActiveX controls can implement different persistence interfaces to save a control's state

          • Property Pages – Displays internal properties of an control in a tabbed dialog box

          • Uniform data transfer – Model for exchanging data through the clipboard, drag-and-drop or automation

          • System-provided font and image objects – ActiveX controls can use system - supplied fonts and pictures to enhance visual appearance



            Services design model defines three services

            1. User Services deals with interaction between the user and the application and consists out of the following tasks

            • Receiving data input from users

            • Packaging user input for further use

            • Data formatting

            • Reporting

            • Managing user preferences

            2. Data Services interact with actual data source. Its four functional areas are

            • Retrieving data and building result sets

            • Inserting Data

            • Updating Data

            • Deleting Data

            3. Business Services is the physical process of getting the client to talk to the server and may include any of the following tasks

            • Business rule

            • Data validation

            • Data access logic

            • System administration logic

            • Transaction support

              Practice making use of Microsoft Transaction Server (MTS) and Microsoft System Management Server (SMS). Know how to implement and configure them.

              12. DEFINING COMPONENTS


              • Provides basis for all objects and is the code that defines the behaviours and attributes of the class

              • Nothing more than a collection of code that forms a template for the creation of objects in an application

              • Represents a physical object


              • Is the implementation of a class.

              • When the code in a class is invoked, an object is created.

              • Every object has an interface

                • Interface = publicly exposed method, property or function a developer can use to manipulate an object.

              • Every object must support four basic attributes according to the object-oriented programming theory:

                1. Abstraction

                  • Ability to provide a virtual representation of a physical object or process.

                  • Using the concept of abstraction you can reference an object without needing to describe in detail every individual attribute of the object.

                2. Encapsulation

                  • Ability of a class to hide its inner workings from the application that is implementing it. e.g., Black box.

                3. Inheritance

                  • Ability to pass changes made to attributes and behaviours of parent classes to the subclasses whose foundation they provide. e.g., Mother/Father => Son/Daughter inherits their looks.

                4. Polymorphism

                  • Many forms – Ability to implement interfaces generically in your
                    applications without regard to the code in the class that implements the interface.

                  • You can have multiple classes that define the same interface, but the actual code behind the interfaces may perform different tasks depending on the class used. The application that calls the class object will not care, as long as the interface remains constant.


              • Is a compiled piece of code based on the aggregation of many classes


              • Represents groups of like / the same type of objects

              • Membership of the objects is not fixed – The developer can add and remove objects from the interface as needed

                Home | Abroad | Academics | Advice | Alumni Associations | Career Watch | Competitive Exams | Career Counseling | Distance Education | Forms | Organisations | Relax Zone | MBA | Engineering | Medical | Humanities | Sciences | Computers ICSE/ISC/CBSE | Scholarship | Loans
                 Contact Us | Feedback | Advertise | Disclaimer | Privacy Policy
                ©2000-2001 All rights reserved "DD Web Vision Private Limited"

                Site developed by