Subscribe by Email


Showing posts with label Aspects. Show all posts
Showing posts with label Aspects. Show all posts

Saturday, August 10, 2013

Shortest Path Routing - a type of routing algorithm

- The usage of the re-configurable logic has been increasing day by day both in scope as well as number. 
- Re-configurable computing combines both the hardware speed and the flexibility of the software. 
- This is the result of the combination of the highspeed computing and re-configurability.
- Tough requirements are posed up on the routing in a network by the increased QoS i.e., the quality of service. 
- This increase in the complexity of the computational capabilities bears an exponential relation with the increased QoS. 
- However, additional computational resources are needed for achieving a network performance level that is acceptable. 
- Re-configurable computing offers a promising solution to the issues of the computations in the routing process.
There are 3 major aspects of the shortest path routing as mentioned below:
Ø Path selection: This involves the various algorithms such as the Dijkstra’s and bellman – ford algorithms and shortest path and minimum – hop routing.
Ø Topology change: Changes in the topology are detected using the beacons.
Ø  Routing protocols: This involves routing protocols such as the link state routing protocols and distance vector protocols.
- Forwarding and routing are two different things. 
- In forwarding, the data packet is directed towards an outgoing link and an individual router is used that also maintains a forwarding table.
- Routing computes the paths that have to be followed by the packets. 
- Routers exchange the path information between themselves and the forwarding table is created by each and every router in the chain.

Routing is important for the following three main reasons:
Ø  End-to-end performance: The user performance is affected by the path quality, throughput, packet loss and delay in propagation.
Ø  Use of the network resources: The traffic has to be balanced between the several links and routers. The traffic is directed towards the links that are lightly loaded for avoiding the congestion.
Ø  Transient disruptions during changes: These disruptions include the load balancing problems, maintenance, failures etc. the packet loss as well as the delay has to be limited while the changes take effect.


- Shortest path routing is based up on a path selection model that gives more preference to the destination. 
- This type of routing is insensitive to load as in it involves the static link weights.
- Here, either the sum of the link weights or the minimum hope is considered. 
In a shortest path problem, the link costs are given for a network topology. 
- For example, C(x,y) denotes the cost of the node x to node y. 
- If the two nodes x and y are not adjacent to each other the cost is taken to be infinity. 
- The least cost paths linking all the nodes are computed from a node taken as the source. 
- Dijkstra’s shortest path algorithm is one of the algorithms used in the shortest path routing. 
- A central role is played by the problems involving finding the shortest paths in the designing and the analyzation of the networks.
- A majority of the routing problems can be taken as the shortest path problems and solved if each link in the network has appropriate cost assigned to it. 
- This cost even reflects the bandwidth as well as the bit error ratio if required. - A number of algorithms are available for computing the shortest path.
- But these algorithms are applicable only if a single non – negative additive metric characterizes every edge in the network.
- Out of these algorithms, the Dijkstra’s algorithm is the most famous one. 
- This algorithm find its use in the OSPF (open shortest path first) routing procedure of the internet. 
- In this algorithm the number of operations carried out are proportional to the number of nodes in the network and the iteration is carried for n-1 times. 


Saturday, August 18, 2012

What databases can Test Director reside on?


The test director is another popular software test management tool developed by the HP. The test director or TD as we call in short form has proved to be a very effective tool in the management of all the tests that are performed over a particular software system or application. 

What is the use of Test Director?

- The whole burden of the organization of the software testing process is taken up by the test director itself. 
- It helps in directing the process of software testing in the same way as a movie director takes up the responsibility for directing the shoot of a movie. 
There have been many cases in which the test director has considerably helped in the creation of the test cases.
- This software test management tool is categorized under the category of web based test management tools since it relies heavily on the web service for the management of the tests. 
- The working of the test director takes place around a centralized data base i.e., a centralized data base form its center of operation. 
- The test director helps in the management of the following aspects:
       1.   Specifications documentation
       2.   Requirements documentation
       3.   Test plans
       4.   Test cases
       5.   Defect tracking
       6.   Defect managing and so on.
- The original developer of the test director is the mercury interactive which is said to be taken under the HP. 
- It would not be wrong to say that the test director is actually a more of a central repository where all the information and reports related to the management of the bugs is stored and processed. 
- In some of the cases, the test director has even helped in the execution of the pre automated test scripts with the help of a special environment known as the test director environment.
- The purpose of the test director lies in the following tasks:
       1.   Creation of the test plans
       2.   Preparation of the test cases
       3.   Execution of the test cases.
       4.   Generation of the bug reports
       5.   Maintenance of the test scripts etc.

In this article we shall also see what all are the platforms that are supported by the test director.
The test director seems to be supporting almost all the platforms that call for a need for high levels of collaboration as well as communication among the testing teams that are distributed and where an efficient global testing process is required. 

Types of Databases on which TD reside

- Since the test director is a web based site administrator, it can reside only up on the data bases which are web based. 
- There is also one more reason behind this fact which is that the test director needs to monitor all the connected users, licenses and test director server information and this information it needs to store in such a data base that it can access from any computer system and therefore it uses a web based data base.
- Another point that can be given is that now most of the projects that are being done using the test director are grouped by the domain which consists of other related test director projects. 
- Such a domain can help in much efficient organization and management of your project! But to access it a centralized data base is required.
- There is one more thing that the test director comes with a feature called collaboration module via which one test director user can chat with another test director user and this also requires a web based centralized data base. 


Wednesday, May 23, 2012

What is meant by Rational Unified Process?


RUP or rational unified process - refinement of the unified process has been categorized among the most popular and commonly used iterative software development process frame works. The rational unified process has been a trade mark of the IBM Corporation since the year of 2003 when it was developed by the rational software corporation. 
The rational software corporation has long been recognized as a division of the IBM. 

What is a Rational Unified Process?


- Rational unified process as it sounds is an adaptable process frame work rather than being a single and concrete prescriptive process. 
- The rational unified process serves as a frame work that can be tailored according to the needs and objectives of the software development organizations and the project development teams who are responsible for the selection of the elements of the development process that fit their needs. 
You can call the rational unified process as a specific implementation of the unified process since it is absolutely right. 
Rational unified process is a kind of software process product which was acquired by the IBM from the rational software corporation. 
- The rational unified process forms a part of the IBM RMC (rational method composer) using which the whole development process can be customized. 

Based on the experience of the implementation of the RMC for various projects, the below mentioned 6 practices were declared as best practices for modern software engineering:
     1. Iterative development using risk as the primary iteration driver.
     2. Management of the requirements.
     3. Employment of an architecture based on components.
     4. Visual modelling of the software system or application.
     5. Continuous verification of the quality.
     6. Keeping the changes under the control.

Rational unified process contributes greatly in making improvements in the quality of the software system or application and in predicting the software development efforts.

Aspects of Rational Unified Process


The rational unified process is characterized by its following three aspects:
     1. It can be tailored according to the needs that will guide the development process.
     2. It is a tool that can be used for the automation of the whole development process.
     3. It is a service that serves for the accelerated adoption of all the processes and the tools involved.

Rational unified process was actually developed in the year of 1996. The year of 1997 saw the addition of the requirements and the test discipline to the rational unified process. In the year of 1998 again two new aspects were added to the process namely the business modelling and change. Apart from these, some techniques were also added that included:
     1. Performance testing
     2. UI design
     3. Data engineering

With all these techniques the rational unified process was updated to the UML 1.3. the rational unified process constitutes of some set of building blocks that describe the functionality which is to be produced. 
Below mentioned are the main building blocks:
     1. Roles
     2. Work products
     3.  Tasks

Nine disciplines governing the tasks have been defined:
     1. Deployment
     2. Implementation
     3. Requirements
     4. Business modelling
     5. Analysis and design
     6. Test
    In addition to these nine disciplines there are 3 additional disciplines:
    1. Environment
    2. Configuration management
    3. Project management
    
   Like the normal unified process, the rational unified process also consists of the 4 phases namely:
     1. Inception
     2. Elaboration
     3. Construction
     4. Transition

The RMC product has proved to be quite an effective tool for configuring, authoring, publishing and viewing processes with rational unified process incorporated in to it. The above mentioned 6 practices are now recognized as a paradigm in the field of software engineering for designing any software and increasing productivity. The development cycle is said to finish when the product release milestone is reached. 


Sunday, May 13, 2012

What are different aspects of Interactive SQL injection attack?


SQL injection attacks are one of the security threats that are quite prevalent in the cyber world these days, attacking and stealing sensitive information from a million web sites and web applications.
SQL injection attacks are also known for disrupting the functioning of the web sites and web applications. There are so many types of SQL injection attacks. This article is all about the aspects of interactive SQL injection attacks. 

About Interactive SQL


- Using interactive SQL the data base administrator or programmer can easily and quickly define, delete, check or update the data base contents for problem analysis, data base management and testing. 
- Interactive SQL allows the programmer to insert two rows in to a table as well as test the SQL statements before they are executed in a software system or application. 
- Not only this, the interactive SQL can be used by data base administrator for the below mentioned purposes as well:
1. For revoking and granting the privileges
2. Create or drop tables, views, and schemas etc.
3. For selecting information from the catalogue of the system tables.
- A message regarding the complete execution of the statements or error during the execution is generated at the end of the run of the SQL statements. 
- During the execution of the statements are quite long and take more time are accompanied with some status messages regarding the completion of the statements. 
- In some cases, help messages are also generated whenever needed. 
- There are some functions that are supplied by the interactive SQL:

             1. The statement entry provides the following functions:
(a) Typing in an interactive SQL statement and executing it.
(b)  Retrieving statements
(c)  Editing statements
(d)  Prompting for SQL statements
(e)  Paging through the previous statements
(f)   Paging through the previous messages
(g)  Calling session services
(h)  Starting the list selection functions
(i)    Exiting the interactive SQL

2. The prompt function: Using this function either a complete SQL statement or a partial statement can 
be typed in to a program. After this the syntax of the statement can be prompted. You can also have the
menu for the SQL statements at one command. One can select the SQL statement of his/ her choice from 
the menu and prompt the syntax for that particular statement.

    3. The list selection function: Using this function one can select from the lists of one’s authorized schemas, relational data bases, views, tables, SQL packages, columns, constraints and so on. These selected elements then can be later inserted in to the SQL statement wherever the cursor is positioned.

      4.The call session services: These services account for the following functions:
(a)   Changing the session attributes.
(b)   Printing the current sessions.
(c)    Removal of all the entries from a selected session.
(d)   Saving the session in a source file

Aspects of Interactive Session


The parameter values that have been specified for the STRSQL command.
- The SQL statements that were entered in the session accompanied by the corresponding status messages       following each and every SQL statement.
- Values of the parameters that have been changed via the session services function.
- The selections that one made from the list of the elements.
A unique session ID consisting of the current work station ID and the user ID is supplied by the interactive SQL. 
This session ID concept has been developed for supporting the multiple users having the same user IDs for using the interactive SQL from different work stations at the same time. 
- Also, one can run multiple interactive SQL sessions using the same ID and that too simultaneously. 


Saturday, May 12, 2012

Explain Extreme Programming (XP) - an agile method?


One of the agile software development methodologies is the extreme programming which is quite popular with the software programmers and developers. The extreme programming since its advent has been known for the improvement of the quality of the software products and the projects and their responsiveness to the ever changing requirements of the customers. 
Apart from all this the extreme programming is known to advocate many frequent releases of the shipped software product in short development cycles i.e., to say it advocates time boxing. 
So we can say that overall it improves the productivity of the whole development process and also facilitates the introduction of check points where the new requirements from the customers can be adopted. 

Aspects of Extreme Programming


There are some other aspects of extreme programming few of which have been mentioned below:
            1.      Pair programming (programming in pairs)
            2.      Extensive code review
            3.      Unit testing of the whole code
            4.      Avoiding programming of avoidable features till they are required
            5.      Flat management structure
            6.      Simplicity of the code
            7.      Clarity of code
            8.      Adoption of the changing requirements of the customer
            9.      Maintaining frequent communication among the programmers and with the customers etc.

Drawbacks of Extreme Programming


This methodology took its name from the ground that the beneficial aspects of the engineering practices are implemented at their extreme levels. It follows from the idea that more is better if a little is good. However several potential drawbacks have been pointed out few of which have been mentioned below:
            1.      Unstable requirements
            2.      Absence of documented compromises of user conflicts
            3.      Lack of overall design specifications
            4.      Lack of design documents

"Extreme programming now experiences quite different environments from the ones that were present at the time of its origin. Extreme programming is strictly aimed for the organization of the people for the production of the high quality software projects and products." Not only this, the cost of the changing requirements is also reduced by the means of implementing multiple short development cycles in place of a long one. 

It produces the below mentioned aspects all based up on the agile programming frame work:
            1.      A number of basic values
            2.      Principles
            3.      Practices

Activities Under Extreme Programming


There are 4 basic activities that are carried out under the extreme programming process:

      1. Coding: 
      Regarding the extreme programming it has always been argued that code is the most important aspect of any program since without it no working program would exist. Coding is the thing that helps you figure out most of the solutions and navigate through the programming problems. Code sometimes can be used as a code to demonstrate a program to the fellow programmers and developers which otherwise might prove to be difficult. Code is always interpreted in one way and is suppose to be clear and concise.
  
      2. Testing: 
     This aspect also follows the above mentioned idea that more is better if a little is good. It involves the following tests:
       (a)  Unit tests: These are included for the determination of whether the program is working and giving the outcome as intended. May automated tests are written that can break the program and if the program passes all these tests successfully, the coding is declared to be complete. Each piece of the code is tested before carrying the development process forward.
     
    (b) Acceptance tests: These tests are included for the verification of the requirements which the programmers think can satisfy the requirements of the customers.
       
      3.   Listening
      4.  Designing

     

Extreme Programming Values


     1.      Communication
     2.      Simplicity
     3.      Feedback
     4.      Courage
     5.      Respect
     6.      Rules

     

 Basic Principles of Extreme Programming


     1.      Feedback
     2.      Assuming simplicity
     3.      Embracing change


Facebook activity