Tuesday, October 12, 2010

Features of WATERFALL MODEL

The Waterfall Model
  is the root of all other models
  still prevalent in general
  exists in many versions
  supported by many methods/techniques

Waterfall Model for Development
  Here, steps (phases) are arranged in linear order
  A step take inputs from previous step, gives output to next step (if any)
  Exit criteria of a step must match with entry criteria of the succeeding step
  It follows ‘specify, design, build’ sequence that is intuitively obvious and appears natural
  
5 Phases
1.   Analysis
2.   Design
3.   Implementation
4.   Testing
5.   Deployment / Operation

Analysis Phase:
  Decide what the project is suppose to do, what the goal of the final product is
  Do NOT think about how the program will accomplish tasks
  Output of this phase - requirements document
  Describes what program will do once completed
  Example –
  User manual: tells how user will operate program
  Performance criteria (will complete X tasks in Y time)

Design:
  Plan for implementation
  Decide what structures will best suit your task
  In object oriented programming, this is choosing the classes and methods to use (and create)
  Output: Classes and methods description
  Usually diagramed using UML, can use CRC cards

Implementation:
  Actual coding part of the process
  Edit à Compile à Run
  Output: Completed program

Testing:
  Run tests to verify the program works correctly
  Remember the two main types of testing
  Unit Testing
  System Testing

  Output: a report of the tests and their results

 Deployment:
  AKA Operation, Maintenance
  Users install program
  Users use program for its intended purpose
  Bug fixes
  New features

Advantages of a Waterfall Model:

  A waterfall model helps find problems earlier on which can cost a business less than if it was found later on.
  Requirements will be set and these wouldn't be changed.
   As everything is documented a new team member can easily understand what's to be done.
  Implementers have to follow the design accurately
  Highly disciplined process of documentation.
  Easily observable development progress.
  Easy to create budget


Disadvantages of a Waterfall Model:

  If requirements may change the Waterfall model may not work.
  Many believe it is impossible to make one stage of the projects life cycle perfect.
  Difficult to estimate time and cost for each stage of the development process.
  Constant testing of the design is needed.
  Document centric; can be difficult for customer to understand.
  Not user centered.
  Makes assumptions about requirements that are inflexible.


Wednesday, October 6, 2010

Secure IT companies in India

1) Microsoft — Has projects till 2050.
2) Adobe — Has more than 70 products with all development and quality work going on in Bangalore and Noida 
3) EDS — Most secure company in India. Not laid off any of its employees even during 2001. Has lots of projects in Defense and financial areas
4) HP — Dream Company. In-house and outsourced projects
5) Infosys — Dream Job. On a way to achieve the status of a secured, stable Govt. company.
6) AOL, Google and Yahoo – Best companies to work with, great job satisfaction as well as great salary and work environment. Rarely fires an employee. As they are internet based companies’ they offer lots of opportunities to grow.
7) HCL – A good company to be in. Called as a “retirement company.”
8) HSBC— This is the most secure company. It has never fired any employee, even when they know that the employee is showing fake experience.
9) Aricent— a communication based software company, has never fired any employee and gives great perks & incentives, lot of projects in kitty. Minimal level of attrition.
10) KPIT Cummins Infosystems Limited —- This is the most secure company not known to many. It has presently acquired CG Smith, Bangalore and has lots of projects in pipe line. Acquisitions plans will continue.

Top 10 Firing IT Companies

1) IBM — Right now this is the most firing company for IT professionals. In the last 6 months, this company has fired nearly 20% of their employees because of BG check and performance issues. This is the most insecure company from an IT professional’s point of view. They don’t have any strategic plans at HR policies regarding employee security. No appraisals (maximum 10%).
2) TCS — Previously its an government IT Company . Now a days TCS also becoming firing IT company. Recently they fired on 500 people.( the people below 2 years of experience) and TCS lost so many projects recently( especially British Telecom Projects).
3) Accenture — This is second top most firing company. The firing rate is around 5%. This depends upon outsourced projects; they have a unique system where Accenture development centers around the world bid for a project coming into the company. Currently Philippines centre is taking the cake and the Indian centers are in a firing mode.
4) WIPRO — Firing people with very frequent back ground checks and firing them with out even experience letters and relieving letters (will mention as terminated from services)but will promise the employees that they will retain them. After the project is over they will fire away. Will threaten of criminal cases against such employees if they oppose the move and has also filed against some.
6) Intel — Recently joined the league. Running in heavy losses, hence firing 3000 employees in the Bangalore center in a phased out manner.
7) CTS — Has a steady firing policy (checking the Educational background and previous employment and also employee performance in work). In a Recent HCL walk-in, around 50% attendees were from this company. Sadly the I-pods have not helped them.
8.)CSC — Excellent package but fires folks in Background check and those on bench regularly. Recently fired 400+ employees from its subsidiary Covansys.
9) Satyam — Currently stopped firing. The Attrition rate is very high. No firing from 2005 until now when 1000 employees were fired in Hyderabad.
10) Patni —- They fired so many employees that currently they are facing understaffing and deficiency with number of employees. Very high attrition rate.
11) Keane India —- This USA based company is always involved in firing employees. Although they proudly say that they don’t have hire and fire policy. Recently they fired Java and as400 professionals after which most of the employees have started to pack their bags. Employees change this company within 1 year.
So take care before accepting offers from these companies.

Friday, October 1, 2010

BLUETOOTH



Bluetooth is an open wireless technology standard for exchanging data over short distances (using short wavelength radio transmissions) from fixed and mobile devices, creating personal area networks (PANs) with high levels of security. Created by telecoms vendor Ericsson in 1994, it was originally conceived as a wireless alternative to RS-232 data cables. It can connect several devices, overcoming problems of synchronization. Today Bluetooth is managed by the Bluetooth Special Interest Group

Implementation

Bluetooth uses a radio technology called frequency-hopping spread spectrum, which chops up the data being sent and transmits chunks of it on up to 79 bands (1 MHz each) in the range 2402-2480 MHz. This is in the globally unlicensed Industrial, Scientific and Medical (ISM) 2.4 GHz short-range radio frequency band.
In Classic Bluetooth, which is also referred to as basic rate (BR) mode, the modulation is Gaussian frequency-shift keying (GFSK). It can achieve a gross data rate of 1 Mbit/s. In extended data rate (EDR) π/4-DQPSK and 8DPSK are used, giving 2, and 3 Mbit/s respectively.
Bluetooth is a packet-based protocol with a master-slave structure. One master may communicate with up to 7 slaves in a piconet; all devices share the master's clock. Packet exchange is based on the basic clock, defined by the master, which ticks at 312.5 µs intervals.



Communication and connection
A master Bluetooth device can communicate with up to seven devices in a Wireless User Group. This network group of up to eight devices is called a piconet. The devices can switch roles, by agreement, and the slave can become the master at any time.
At any given time, data can be transferred between the master and one other device.The master switches rapidly from one device to another in a round-robin fashion. Simultaneous transmission from the master to multiple other devices is possible via broadcast mode, but not used much.

List of applications



A typical Bluetooth mobile phone headset.
  • Wireless control of and communication between a mobile phone and a hands-free headset. This was one of the earliest applications to become popular.
  • Wireless networking between PCs in a confined space and where little bandwidth is required.
  • Wireless communication with PC input and output devices, the most common being the mouse, keyboard and printer.
  • Transfer of files, contact details, calendar appointments, and reminders between devices with OBEX.
  • Replacement of traditional wired serial communications in test equipment, GPS receivers, medical equipment, bar code scanners, and traffic control devices.
  • For controls where infrared was traditionally used.
  • For low bandwidth applications where higher USB bandwidth is not required and cable-free connection desired.
  • Sending small advertisements from Bluetooth-enabled advertising hoardings to other, discoverable, Bluetooth devices.[9]
  • Wireless bridge between two Industrial Ethernet (e.g., PROFINET) networks.

Future

Broadcast channel

Enables Bluetooth information points. This will drive the adoption of Bluetooth into mobile phones, and enable advertising models based on users pulling information from the information points, and not based on the object push model that is used in a limited way today.
Topology management
Enables the automatic configuration of the piconet topologies especially in scatternet situations that are becoming more common today. This should all be invisible to users of the technology, while also making the technology "just work."
QoS improvements
Enable audio and video data to be transmitted at a higher quality, especially when best effort traffic is being transmitted in the same piconet.

UWB for AMP

Main article: ultra-wideband
The high speed (AMP) feature of Bluetooth v3.0 is based on 802.11, but the AMP mechanism was designed to be usable with other radios as well. It was originally intended for UWB, but the WiMedia Alliance, the body responsible for the flavor of UWB intended for Bluetooth, announced in March 2009 that it was disbanding.
On March 16, 2009, the WiMedia Alliance announced it was entering into technology transfer agreements for the WiMedia Ultra-wideband (UWB) specifications. WiMedia has transferred all current and future specifications, including work on future high speed and power optimized implementations, to the Bluetooth Special Interest Group (SIG), Wireless USB Promoter Group and the USB Implementers Forum. After the successful completion of the technology transfer, marketing and related administrative items, the WiMedia Alliance will cease operations.[29][30][31][32][33][34]

Technical information

Bluetooth protocol stack

Main articles: Bluetooth stack and Bluetooth protocols"Bluetooth is defined as a layer protocol architecture consisting of core protocols, cable replacement protocols, telephony control protocols, and adopted protocols."[36] Mandatory protocols for all Bluetooth stacks are: LMP, L2CAP and SDP. Additionally, these protocols are almost universally supported: HCI and RFCOMM.

 LMP (Link Management Protocol)

Used for control of the radio link between two devices. Implemented on the controller.

 L2CAP (Logical Link Control & Adaptation Protocol)

Used to multiplex multiple logical connections between two devices using different higher level protocols. Provides segmentation and reassembly of on-air packets.
In Basic mode, L2CAP provides packets with a payload configurable up to 64kB, with 672 bytes as the default MTU, and 48 bytes as the minimum mandatory supported MTU.
In Retransmission & Flow Control modes, L2CAP can be configured for reliable or isochronous data per channel by performing retransmissions and CRC checks.
Bluetooth Core Specification Addendum 1 adds two additional L2CAP modes to the core specification. These modes effectively deprecate original Retransmission and Flow Control modes:
  • Enhanced Retransmission Mode:
(ERTM): This mode is an improved version of the original retransmission mode.    This mode provides a reliable L2CAP channel.
  • Streaming Mode:
(SM): This is a very simple mode, with no retransmission or flow control mode an unreliable L2CAP channel.Reliability in any of these modes is optionally and/or additionally guaranteed by the lower layer Bluetooth BDR/EDR air interface by configuring the number of retransmissions and flush timeout (time after which the radio will flush packets). In-order sequencing is guaranteed by the lower layer.Only L2CAP channels configured in ERTM or SM may be operated over AMP logical links.

Service Discovery Protocol

Service Discovery Protocol (SDP) allows a device to discover services supported by other devices, and their associated parameters. For example, when connecting a mobile phone to a Bluetooth headset, SDP will be used for determining which Bluetooth profiles are supported by the headset (Headset Profile, Hands Free Profile, Advanced Audio Distribution Profile (A2DP) etc.) and the protocol multiplexer settings needed to connect to each of them. Each service is identified by a Universally Unique Identifier (UUID), with official services (Bluetooth profiles) assigned a short form UUID (16 bits rather than the full 128)


HCI (Host/Controller Interface)
Standardised communication between the host stack (e.g., a PC or mobile phone OS) and the controller (the Bluetooth IC). This standard allows the host stack or controller IC to be swapped with minimal adaptation.
There are several HCI transport layer standards, each using a different hardware interface to transfer the same command, event and data packets. The most commonly used are USB (in PCs) and UART (in mobile phones and PDAs).

RFCOMM (Cable replacement protocol)

Radio frequency communications (RFCOMM) is the cable replacement protocol used to create a virtual serial data stream. RFCOMM provides for binary data transport and emulates EIA-232 (formerly RS-232) control signals over the Bluetooth baseband layer.
RFCOMM provides a simple reliable data stream to the user, similar to TCP. It is used directly by many telephony related profiles as a carrier for AT commands, as well as being a transport layer for OBEX over Bluetooth..

BNEP (Bluetooth Network Encapsulation Protocol)

BNEP is used for transferring another protocol stack's data via an L2CAP channel. It's main purpose is the transmission of IP packets in the Personal Area Networking Profile. BNEP performs a similar function to SNAP in Wireless LAN.

AVCTP (Audio/Visual Control Transport Protocol)

The remote control profile to transfer AV/C commands over an L2CAP channel. The music control buttons on a stereo headset use this protocol to control the music player.

AVDTP (Audio/Visual Data Transport Protocol)

The  advanced audio distribution profile to stream music to stereo headsets over an L2CAP channel. Intended to be used by video distribution profile.

Telephony control protocol

Telephony control protocol-binary (TCS BIN) is the bit-oriented protocol that defines the call control signaling for the establishment of voice and data calls between Bluetooth

Adopted protocols

Point-to-Point Protocol (PPP)
Internet standard protocol for transporting IP datagrams over a point-to-point link.
TCP/IP/UDP
Foundation Protocols for TCP/IP protocol suite
Object Exchange Protocol (OBEX)
Session-layer protocol for the exchange of objects, providing a model for object and operation representation
Wireless Application Environment/Wireless Application Protocol (WAE/WAP)
WAE specifies an application framework for wireless devices and WAP is an open standard to provide mobile users access to telephony and information services.