Tuesday, September 21, 2010

Life Cycle of a Software Project




Software:- It is a collection of computer programs and related data that provide the instructions telling a computer what to do.


Project:- It is a sequence of tasks planned from beginning to end bounded by time, resources and required results.
  • So, a software project is a collection of programs and related data that are done in a planned manner with bounded time, resources and end results.
A software development process is a structure imposed on the development of a software product. It is also called as software life cycle or a software process.




The following diagram shows the step-by-step procedure of Software Development -



This diagram is known as Software Development Life Cycle (SDLC)


Requirements phase: In this phase the required data about the project is collected and are categorized into different types of requirements.

Design phase: At this stage the crude design of the whole project is made ready.

Implementation phase: This stage is concerned with the actual coding phase. The coding can be done in any languages.

Verification phase: It is to verify that the implementation done in the previous stage meets all the requirements collected in the 1st phase.

Maintenance phase: This is where the end product is put into use. User is using the product and if any changes are needed that are to be incorporated at this stage.

  • All these phases may be repeated as many times as possible until the desired product is available.

PFC Syllabus

PROGRAMMING FUNDAMENTALS WITH C
(CS100 / CS150)

1)    Introduction: Logical Organization of Computer, Stored program concept. [1H]
2)    Programming Process: Life Cycle of a Software Project, Importance of adhering to Standards, Using Algorithms to Solve Problems, Different Patterns in Algorithms, Flow Charts. [4 H]
3)    Introduction to C Language: Structure of a C program with example, Character Set, C Tokens, Data types, Arithmetic operators, Expressions – Evaluation of an expression, Assignment statements – increment and decrement operators, compound assignment operators, Nested assignments, Simple Input and output, Type conversions, Simple Macros. [6 H]
4)  Selective Structure: Relational Operators, Logical operators, Bitwise Operators Conditional Statement, Nested conditional statement, Multi-way conditional statement, Constant Multi-way conditional Statement, (switch statement), break statement, go to statement, The ? operator. [4 H]
5)   Repetitive structure: While, do – while, for, nested loops, loop interruption – break and continue, null statement, comma operator. [4 H]
6)   Arrays: One Dimensional arrays- declaration and initialization, Two Dimensional arrays - declaration and initialization. Arrays as function arguments. [6 H]
7)   Functions: To understand the need to use functions, the advantages of functions, Function definition, function call, function prototypes, storage classes, Parameter passing techniques, arrays as function arguments. [5 H]
8)   Pointers and Strings: Introduction to pointers, how to declare pointers, how to access values through pointers, Pointer arithmetic, the relationship between arrays and pointers. Array of pointers, Command line arguments Declaration and initialization of strings, the memory representation of strings, pointers and strings, various string functions: strlen (), strcat(), strcpy(), strcmp(); parameter passing techniques. [12 H]
9)  Structures and Unions: Basics of structures, Structures and arrays, Basics of Unions. [6 H]

Books:
1)   Programming in ANSI C by E Balagrusamy, TMH third Edition
2)   The programming languages C by 
    Brian W. Kernighan & Dennis M. Ritchie, 2nd Edition PHI 2004
3)   How to solve it by computer by Dromey R. G, PHI 2001
 4) The Practice of Programming by 
     Brain W. Kernighan and Rob Pike, PEI 2004

Sunday, September 19, 2010

Logical Organization of a Computer and Stored Program Concept

LOGICAL ORGANIZATION OF A COMPUTER:

The following diagram shows the logical organization of a Computer-


This is also known as the von Neumann Architecture.


The von Neumann architecture is a design model for a stored-program digital computer that uses a central processing unit (CPU) and a single separate storage structure ("memory") to hold both instructions and data.

  • It is named after the mathematician and early computer scientist John von Neumann.



STORED PROGRAM CONCEPT:

A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write, random-access memory (RAM).

Stored-program computers were an advancement over the program-controlled computers of the 1940s, such as the Colossus and the ENIAC, which were programmed by setting switches and inserting patch leads to route data and to control signals between various functional units.

  • The terms von Neumann architecture and stored-program computer are generally used interchangeably.