Subscribe by Email


Showing posts with label Consistency. Show all posts
Showing posts with label Consistency. Show all posts

Sunday, December 23, 2012

Explain IBM Rational Automation Framework?


What is Rational Automation Framework?


- Rational automation frame work is a tool developed by IBM using which control can be gained over the middle-ware environments.
- It is also used for the automation of the deployment tasks and complex administration.
- This automation frame work is highly customizable.
- Using it, one can obtain automated build – outs.
- Using it, one can even deploy a number of applications and manage the configuration of the application.
- It has been recorded that with the use of rational automation frame work, you can cut down the operational costs by huge margins and production can be improved.
- This automation frame work can be extended.
- The rational automation frame work provides a rich automation support for the following:
1. Web sphere middleware
2. JBoss application server
3. Web logic application server

Features of Rational Automation Framework


The following are features of the rational automation frame work:
1. Increases the productivity while reducing the staffing needs of the routine tasks. The routine tasks included are:
a) Automation of the manual operations
b) Error prone tasks
c) Freeing up the admin resources which are scarce.
All these tasks help in focusing up on strategic projects.

2. It helps in the improvement of application’s quality, consistency and speed. All these three factors are used to deliver applications that are business critical with the help of process which possesses the following three qualities namely accuracy, consistency and repetition.

3. It helps in the reduction of the cost of compliance, IT governance and disaster recovery. It improves the following 3 things without causing any overheads:
a) Governance
b) Disaster recovery planning and
c) Automated documentation for compliance

4. It automates the below mentioned things:
a) Environment build – outs
b) Configuration management
c) Application deployment tasks
For the following portfolio:
a) Web sphere foundation
b) Web sphere BPM suite
c) Web sphere portal

5. It is a great means for extending the automation benefits as well as qualities of services to the following:
a) Web sphere connectivity (web sphere message broker and MQ)
b) Red hat JBoss application server
c) Oracle web logic application server
This it does via the MidVision extensions to IBM RAF.

6. Helps in facilitating team – based administration with the help of a robust automation engine with improved reliability and performance.

7. Makes sure that the virtual patterns are efficiently managed with rapid provisioning with web sphere cloud burst appliance.

8. Enhances the control and workflow management in data center environments by integrating it with LDAP directories, source control tools, and rational asset manager.

This product comes with extensions that assist in the management of the additional middle-ware environments such as WMB, MQ, Jboss and web logic etc. These environments are managed with the same QoS and automation platform. The web sphere cloud burst appliance of the rational application developer helps in speeding up the virtualization environments with hyper-visor images.

We shall now state some of the features and their benefits:
1. It is a data driven and centralized automation frame work: it helps in ensuring that the appropriate data is being associated with the appropriate application and in the right environment every time.
2. It has got a rich user interface. The middle-ware configuration data can be designed, edited and managed using this frame work. New configurations can be added to a cell.
3. It is also an environment generation wizard that can also be used for specifying the criteria for a particular environment.
4. This product comes with self – documentation feature which ensures that the appropriate deployment information is captured and artifacts are properly managed.
5. Agent less technology
6. Customizable
7. Deployment artifacts are separated from the deployment process.


Sunday, April 17, 2011

What are data design, interface design, report design, form design?

DATA DESIGN


- Data design is a software engineering task.
- It creates a model of the data in a more implementation specific representation.
- Data design is a process of gradual refinement, from the coarse to the precise data structures and processes that provide it.
- Data design includes identifying the data, defining specific data types and storage mechanisms, and ensuring data integrity.

INTERFACE DESIGN


- Interface design comprises of designing elements that facilitate how software communicates with humans, devices and other systems that interoperate with it.
- Consistency should be maintained.
- Designing good forms, reports and screens are critical in determining how the system will be acceptable to end-users.

REPORT DESIGN


Reports can be placed on an ordinary paper, continuous forms, screen-based or microfilm or microfiche. Things that should be kept in mind while designing reports are:
- Number of Copies and Volume
- Report Generation
- Report Frequency
- Report Figures
- Media

FORM DESIGN
Forms are usually used for input when a workstation is not available. The following are the steps in designing forms.
- Instructions should appear on the form except when the same person fills itover and over again.
- Use familiar words.
- The answer space should be enough for user to comfortably enter all necessary information.
- Lower case print is easier to read that uppercase.


Wednesday, February 23, 2011

Designing Class based Components - Component Level Design Guidelines

As component level design proceeds, there are some guidelines other than basic design guidelines. These guidelines are applied to components and their interfaces, their dependencies and inheritance.

COMPONENTS
- Naming conventions should be established for components.
- These are specified as part of architectural model and then refined and elaborated as part of component level design.
- Architectural component names should be drawn from the problem domain.
- It should have meaning to all stakeholders.

INTERFACES
- Provides information about communication and collaboration.
- Lollipop approach to represent interface should be used in combination with UML box and dashed arrow.
- Interface should flow from left side of the component box for consistency.
- Only relevant interfaces to component should be shown.

DEPENDENCIES AND INHERITANCE
- Model dependencies from left to right.
- Model inheritance from bottom to top.
- Component interdependencies should be represented via interfaces.


Thursday, February 10, 2011

User Interface Testing - The Golden Rules

User interface design creates an effective communication medium between a human and a computer. User interface is designed by a software engineer. Interface design focuses on three areas:
- design of interfaces between software components.
- design of interfaces between software and other non-human producers and consumers of information.
- design of interface between a human and computer.

Rules Forming the Basis For A Set of User Interface Design Principles


Place the User in Control: Some design principles that allow the user to maintain control are:
- Define the current state of the interface in a way that does not force a user in to unnecessary or undesired actions.
- Flexible interaction should be provided because different users have different interaction preferences.
- It allows the user interaction to be interruptible and un-doable.
- The user should not be aware of the technical internals like operating system, file management functions etc. The user interface should move the user into virtual world of the application.
- It is good to design a macro mechanism that enables an user to customize the interface to facilitate interaction.
- The interface should be designed in a manner in which user will have direct interaction with objects that appear on screen.

Reduce the User's Memory Load
Some design principles enabling an interface to reduce user's memory load:
- Interface should be designed to reduce the requirement to remember past actions and results. This can be done by providing visual cues that enables a user to recognize past actions rather than to recall them.
- Establish meaningful defaults.
- Shortcuts should be defined that are intuitive in nature.
- The visual layout of the interface should be based on real world metaphor.
- Interface should be organized in a hierarchical manner. The information should be disclosed in a progressive fashion.

Make the Interface Consistent
Consistency means that all visual information is organized according to a design standard, input mechanisms are constrained to limited set used consistently throughout the application and mechanisms for navigating from task to task.Some design principles that helps in making interface consistent are:
- Allow the user to put the current task into meaningful context.
- Consistency should be maintained across a family of applications.
- Do not make changes in past interactive models that have created user expectations unless there is some solid reason to change.


Thursday, January 20, 2011

What are different user interface design principles and guidelines in software engineering ?

A good web application interface is understandable and forgiving, providing the user with a sense of control. The inner workings of the system are not for concern for the users. Effective applications perform a maximum of work, while requiring a minimum of information from users.

USER INTERFACE DESIGN PRINCIPLES AND GUIDELINES


- Consistency of actions should be required in similar situations. The use of navigation controls, menus, icons should be consistent throughout the web application.
- Anticipation Web application should be designed in such a way that it should interpret the user's next move.
- Communication Whatever activity that is been initiated by the user, it should be communicated by the interface. Communication can be obvious or subtle. User status and location should also be communicated by the interface.
- Efficiency Users work efficiency should be optimized by the design of the web application and its interface and not the efficiency of the web engineer who designs and builds it.
- Flexibility Flexibility of the user interface should enable some users to get the tasks done directly and some other users to explore the web application in random fashion.
- Controlled Autonomy User movement should be facilitated by the interface in such a manner that enforces navigation conventions that are established for application.
- Focus The interface of the web application should be focussed on user tasks at hand.
- Human Interface Objects Use reusable human interface objects. An interface object that is seen, heard, touched by the end user can be get from the object libraries.
- Learn ability Learning time should be reduced by a well designed web application interface.
- Latency Reduction The web application should use multitasking so that the user can proceed with his work and do not wait for some internal operation to get completed.
- Metaphors A metaphor should call images and concepts from user's experience, but it does not need to be an exact reproduction of real world experience. The web application interface that uses an interaction metaphor is easier to learn and use.
- Maintain work product integrity A work product must be automatically saved so that there is no loss of information if an error occurs.
- Readability Every person should be able to read the information in the user interface.
- Track State The state of the user interaction should be saved and stored so that the user can return to the same point even if he or she logs off.
- Visible navigation A well designed web application interface provides the illusion that users are in the same place, with the work brought to them.


Tuesday, September 28, 2010

Different testing activities in Programming/Construction and Operations and Maintenance Phase

The main testing points in this phase are:
- Check the code for consistency with design
The areas to check include modular structure, module interfaces, data structures, functions, algorithms and I/O handling.

- Perform the testing process in an organized and systematic manner with test runs dated, annotated and saved.
A plan or schedule can be used as a checklist to help the programmer organize testing efforts. If errors are found and changes are made to the program, all tests involving the erroneous segment must be re-run and recorded.

- Asks some challenges for assistance
Some independent party, other than the programmer of the specific part of the code should analyze the development product at each phase. The programmer should explain the product to the party who will then question the logic and search for errors with a checklist to guide the search. This is needed to locate errors the programmer has overlooked.

- Use available tools
The programmer should be familiar with various compilers and interpreters available on the system for the implementation language being used because they differ in their error analysis and code generation capabilities.

- Apply stress to the program
Testing should exercise and stress the program structure, the data structures, the internal functions and the externally visible functions or functionality. Both valid and invalid data should be included in the test set.

- Test one at a time
Pieces of code, individual modules and small collections of modules should be exercised separately before they are integrated into the total program, one by one. Errors are easier to isolate when the number of potential interactions should be kept small. Instrumentation-insertion of the some code into the program solely to measure various program characteristics can be useful here.

- Measure testing coverage/ When should testing stop?
If errors are still found every time the program is executed, testing should continue. Because errors tend to cluster, modules appearing particularly error-prone require special scrutiny. The metrics used to measure testing thoroughness include statement testing, branch testing and path testing. Statement testing is the coverage metric most frequently used as it is relatively simple to implement.

Testing Activities in Operations and Maintenance Phase


Correctness, modifications and extensions are bound to occur even for small programs and testing is required every time there is a change. Testing during maintenance is termed regression testing. The test set, test plan, and the test results for the original program should exist. Modifications must be made to accommodate the program changes, and then all portions of the program affected by the modifications must be re-tested. After regression testing is complete, the program and test documentation must be updated to reflect the changes.


Facebook activity