Popular Posts

Tuesday, July 21, 2009

Project Management-The Product

  • Before a project can be planned,product objectives and scope sholu be established,alternative solutions should be considered and technical and management constraints sholud be identified.
  • Without this information ,it is impossible to define reasonable estimates of the cost,an effective assessment of risk, a realistic breakdown of project tasks, or a manageable project schedule that provides a meaningful indication of progress.
  • The S/W(software) developer and customer must meet to define product objectives and scope. In many cases, this activity begins as part of the system engineering or business process engineering and continues as the first step in s/w requirements engineering.
  • Objectives identify the overall goals for the product without considering how there goals will be achieved.Scope identifies the primary data,functions and behaviors that characterize the product and attempt to bound there characteristics in a quantitative manner.

Monday, July 20, 2009

Project Management-People

  • The people factor is so important that the s/w (software) engineering institute has developed a people management capability materity model (PM-CMM),"to enhance the readiness of s/w organizations to undertake increasingly complex applications by helping to attract,grow,motivate,deploy and retain the talent needed to improve their s/w development capability.
  • The people management maternity model defines the following key practice area for management,training,selection,performance development,organization and work design, and team/culture development.
  • Organizations that achieve high levels of maturity in the people management area have a higher likehood of implementing effective s/w engineering practise.
  • The PM-CMM is a model that guides organization in the creation of a mature s/w process.

Sunday, July 19, 2009

Project Management

  • The Management spectrum
the effective s/w(software) project management focuses on the four P's : people,project,product,process.The order is not arbitary.


Friday, July 17, 2009

programme. to display decimal , octal and hexa decimal values

void main()
{
int x=6,y=13;
clrscr();
printf("\n Decimal : x=%d y=%d",x,y);
printf("\t hexadecimal : x=%x y=%X",x,y);

printf("\n octal : x=%o y=%o",x,y);
getch();
}

first programme in C

#include
#include <conio.h>

void main()
{
clrscr();
printf("HI! am learning C - language");
printf("\n");
getch();
}

Thursday, July 16, 2009

Common Binary Data Operations with C..

Common Binary Data Operations with C

Now that you know how to compile and link your programs, let's dive into the magic world of bitwise operations. At first these might seem really confusing, but you will notice that you have in fact seen all of them during Computer Engineering.

Shift Operations

It might seem a bit more cryptic than the first example, but don't be frightened. What you see is the usual stdio.h which is included at the beginning and then a function called getbinarystring. Skip it over and move on to the main function, which introduces two consecutive loops right after a block that handles command line processing.

The binary shift operator in C is a double-less-than or a double-greater-than character. Less-than means shifting to the left and greater-than the opposite. In effect, binary shifting is actually multiplying or dividing by powers of two. So, if you wish to divide a value by four, you shift the bits to the right by two:

value = value >> 2;

... Or if you want to multiply by 8:

value = value <<>

Of course, you need to know that overflows are not prohibited and you might send your MSB:s to bit heaven!

Bitwise AND

You can use two notations to perform bitwise and-operations:

result = op1 & op2;

.. or ..

result &= op;

which is equal to

result = result & op;

Experiment with the code in file and.c.

Bitwise OR


The notation of OR is similar to AND in C, but the operator character is a pipe character:

result = op1 | op2;

Again, there is a code snippet in file or.c that should clarify the usage of OR operator.

Bitwise XOR


Have a look at file xor.c and see that the XOR operation is nothing special, except for the operator character in C, a caret: ^.

Structures in C

Structure

You may recall the object oriented approach to programming. Forget data concealing, protection, member functions and inheritance and you end up with C structures.

No, seriously, C structures are a nifty way to avoid redundance in data structures. Consider the example in file structs.c. The source introduces two structures:

Plain structure definition:

struct cat {
int age;
char *name;
} mycat;

This is the way to introduce a single structure reference, in this case it is called mycat. You can reference this structure via the mycat-variable from anywhare within this source file.

Structure type definition:

typedef struct {
int age;
char *kind;
} alldogs;

In this case alldogs refers to a type definition, which can be used to declare variables later on. It works just like a normal variable declaration:

alldogs mydogs[3];

To access the variables within structures, there are two ways, depending on the type of variable which is used to refer to the structure data:

Immediate reference:

alldogs mydogs;
mydogs.age = 15;
mydogs.kind = "keeshond";

The simplest way to use structures is to reference them directly and you have access to the member variables with the '.'-operator. You can create arrays of structure variables, but using the pointer arithmetic method to access array elements should be avoided. There is a substantial amount of hidden magic behind memory allocation and data alignment, and the best way to avoid trouble is to not do anything exotic with structure arrays.

Pointer to a structure:

alldogs *mydogs;
/* allocate memory for the mydogs-structure before doing the following! Use
* malloc()!
*/
mydogs->age = 15;
mydogs->kind = "rottweiler";

The mydogs-variable is a pointer and we have to use the "arrow" style notation to reference the structure members. You could also use this kind of style: (* mydogs).age = 15;