- - - picture: PROTOTYPE - -

sleep

abc

Sunday, November 27, 2011

PROTOTYPE

A prototype is an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from.

Advantages of prototyping

  • May provide the proof of concept necessary to attract funding
  • Early visibility of the prototype gives users an idea of what the final system looks like
  • Encourages active participation among users and producer
  • Enables a higher output for user
  • Cost effective (Development costs reduced).
  • Increases system development speed
  • Assists to identify any problems with the efficacy of earlier design, requirements analysis and coding activities
  • Helps to refine the potential risks associated with the delivery of the system being developed
  • Various aspects can be tested and quicker feedback can be got from the user
  • Helps to deliver the product in quality easily
  • User interaction available during development cycle of prototype

Disadvantages of prototyping

  • Producer might produce a system inadequate for overall organization needs
  • User can get too involved whereas the program can not be to a high standard
  • Structure of system can be damaged since many changes could be made
  • Producer might get too attached to it (might cause legal involvement)
  • Not suitable for large applications
  • Over long periods, can cause loss in consumer interest and subsequent cancellation due to a lack of a market (for commercial products
http://en.wikipedia.org/wiki/Prototype

Rapid application development-RAD

Rapid application development (RAD) refers to a type ofsoftware development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.




Pros
Minimizes feature creep by developing in short intervals resulting in miniature software projects
and releasing the product in mini-increments.
Cons
Short iteration may add too little functionality, leading to significant delays in final iterations.
Since Agile emphasizes real-time communication (preferably face-to-face), using it is problematic
for large multi-team distributed system development. Agile methods produce very little written
documentation and require a significant amount of post-project documentation.
Pros
Lowers the cost of changes through quick spirals of new requirements.
Most design activity occurs incrementally and on the fly.
Cons
Programmers must work in pairs, which is difficult for some people.
No up-front “detailed design” occurs, which can result in more redesign effort in the long term.
The business champion attached to the project full time can potentially become a
single point of failure for the project and a major source of stress for a team.
Pros
Captures the voice of the customer by involving them in the design and development of the
application through a series of collaborative workshops calledJAD sessions.
Cons
The client may create an unrealistic product vision and request extensive gold-plating,
leading a team to over- or under-develop functionality.
Pros
Creates minimalist solutions and delivers less functionality earlier
Cons
Product may lose its competitive edge because of insufficient core functionality
and may exhibit poor overall quality.
Rapid application development (RAD)
Pros
Promotes strong collaborative atmosphere and dynamic gathering of requirements.
Business owner actively participates in prototyping, writingtest cases and performing unit testing.
Cons
Dependence on strong cohesive teams and individual commitment to the project.
Decision making relies on the feature functionality team and a communal decision-making
process with lesser degree of centralized PM and engineeringauthority.
Pros
Improved productivity in teams previously paralyzed by heavy “process”, ability to prioritize work,
use of backlog for completing items in a series of short iterations or sprints, daily measured
progress and communications.
Cons
Reliance on facilitation by a master who may lack the political skills to remove impediments
and deliver the sprint goal. Due to relying on self-organizing teams and rejecting traditional
centralized "process control", internal power struggles can paralyze a team.


Table 1: Pros and Cons of various RAD types

System Maintenance

In the early days, home computers were largely self-referential; people used them because they were interested in them. Now, computers are usually used for real-world tasks, yet they still need some navel-gazing attention at times!
The basic routine maintenance tasks are:
User data is unique to the installation and cannot be replaced 'off the peg', and for that reason it is the central concern of system management. There's a more rigorous coverage of data management, safe computing andmalware elsewhere on this site; this is an easy how-to.
Backup
To backup is to create a redundant copy, so that if anything should happen to the original file, you have recourse to the backup. The process can be as simple as copying files to diskettes, but this soon becomes a problem where files are too big for diskette, where there are too many files, or where too many diskettes are required.
A better solution is to use an archiver (such as WinZip) or a backup utility to create a single compressed file from a collection of data files, and to split this over as many diskettes as required. This uses fewer diskettes and allows large files to be backed up even if the file is larger than a diskette can hold.
For large data sets, you may need to use a bulk storage medium such as tape, Zip disk, CDR or similar. These are generally faster and more reliable than diskettes.
The systems I set up will usually have a facility to backup data and core system files to the hard drive, and another to copy the most recent of such backups to diskettes. You should use this whenever you have done more work than you would want to redo from scratch. If your work is saved outside the designated data subtree then it won't be backed up by this process; you will have to make your own arrangements to back it up (WinZip, copy, etc.)
Malware management
There's more on safe computing and malware. Malware includes viruses, worms, trojans, and increasingly invasive commercial applications, and management has several parts:
  • Risk avoidance and evaluation - choice of applications and system setup
  • Risk avoidance and evaluation - user education and safe computing practice
  • Risk detection and destruction - choice and use of antivirus software
  • Keeping abreast of malware - antivirus updates and ongoing user education
Simply running an antivirus utility is not enough, even if it is kept up to date!
For best performance, you can use on-demand rather than on-access antivirus scanners - but this requires the user to know when to use this, and act accordingly.
Updating an antivirus generally involves these steps:
  • Go to antivirus vendor's web site via (say) Internet Explorer
  • Navigate to the download section of the site
  • Download any updates that are relevant, noting where these are saved
  • Extract files from downloaded archive to the antivirus program directory
Some Windows-based antivirus utilities may automate this process to some extent, by accessing the Internet directly from within the program. You should check for updates at least once a week, and make sure your antivirus data files do not become more than a month out of date.
File system maintenance
Much can be done during system setup to improve the survivability, maintainability and recoverability of the file system and its data, as discussed on the data management page. Thereafter, there are three tasks required on a regular basis:
  • Check that sufficient free space is available; ideally 50M+ on C: volume
  • Check the file system for errors, and manage these
  • Defragment the file system once it is known to be error-free
The tools used here are Windows Explorer (or its "My Computer" incarnation), ScanDisk, and Defrag. If free space is low, you can clear .TMP files from the Windows base directory.


http://cquirke.mvps.org/9x/maintain.htm

Wednesday, March 23, 2011

System Analysis and Design

System
A collection of components that work together to realize some objective forms a system. Basically there are three major components in every system, namely input, processing and output.

s1.gif (1492 bytes)
System Life cycle
System life cycle is an organisational process of developing and maintaining systems. It helps in establishing a system project plan, because it gives overall list of processes and sub-processes required developing a system.
System development life cycle means combination of various activities. In other words we can say that various activities put together are referred as system development life cycle. In the System Analysis and Design terminology, the system development life cycle means software development life cycle.

Different phases of Software development Life Cycle

(a) System Study
System study is the first stage of system development life cycle. This gives a clear picture of what actually the physical system is? In practice, the system study is done in two phases. In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system. The second phase of the system study is more detailed and in-depth study in which the identification of user’s requirement and the limitations and problems of the present system are studied. After completing the system study, a system proposal is prepared by the System Analyst (who studies the system) and placed before the user. The proposed system contains the findings of the present system and recommendations to overcome the limitations and problems of the present system in the light of the user’s requirements.

(b) Feasibility Study
On the basis of result of the initial study, feasibility study takes place. The feasibility study is basically the test of the proposed system in the light of its workability, meeting user’s requirements, effective use of resources and .of course, the cost effectiveness. The main goal of feasibility study is not to solve the problem but to achieve the scope. In the process of feasibility study, the cost and benefits are estimated with greater accuracy.(c)

(c)System Analysis
Assuming that a new system is to be developed, the next phase is system analysis. Analysis involved a detailed study of the current system, leading to specifications of a new system. Analysis is a detailed study of various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for system analysis.

(d) System Design
Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. It is a most crucial phase in the development of a system.

(e) Coding
After designing the new system, the whole system is required to be converted into computer understanding language. Coding the new system into computer programming language does this. It is an important stage where the defined procedure are transformed into control specifications by the help of a computer language. This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer as programs. The programs coordinate the data movements and control the entire process in a system.
It is generally felt that the programs must be modular in nature. This helps in fast development, maintenance and future change, if required.

(f) Testing
Before actually implementing the new system into operations, a test run of the system is done removing all the bugs, if any. It is an important phase of a successful system. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results.

(g) Implementation
After having the user acceptance of the new system developed, the implementation phase begins. Implementation is the stage of a project during which theory is turned into practice. During this phase, all the programs of the system are loaded onto the user's computer. After loading the system, training of the users starts.

(h) Maintenance
Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environment. It has been seen that there are always some errors found in the system that must be noted and corrected. It also means the review of the system from time to time.

No comments:

Post a Comment

-