Wednesday, May 20, 2009

CSSE 312: Object Oriented Design and Analysis Assignment

Software Life Cycle Models

Software life cycle models describe phases of the software cycle and the order in which those phases are executed. There are tons of models, and many companies adopt their own, but all have very similar patterns. Some of the models as follow.

  • Rapid Application Development (RAD) model
  • Incremental Model
  • Water fall model
  • Spiral Model

a) Rapid Application Development (RAD) model

RAD model makes heavy use of reusable software components with an extremely short development cycle.

The RAD is a linear sequential software development process that emphasizes an extremely short development cycle. The RAD software model is a "high speed" adaptation of the linear sequential model in which rapid development is achieved by using a component-based construction approach. Used primarily for information systems applications, the RAD approach encompasses the following phases

  • Business modeling
  • Data modeling
  • Process modeling
  • Application generation
  • Testing

RAD process emphasizes reuse many of the program components have already been tested, which minimizes the testing and development time.

b) Incremental/Iterative model

This model does not attempt to start with full specification of requirements. Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle. Cycles are divided up into smaller, more easily managed iterations. Each iteration passes through the requirements, design, implementation and testing phases.

A working version of software is produced during the first iteration, so you have working software early on during the software life cycle. Subsequent iterations build on the initial software produced during the first iteration.

Key Points

  • Development and delivery is broken down into increments
  • Each increment delivers part of the required functionality
  • Requirements are prioritised and the highest priority requirements are included in early increments
  • Once the development of an increment is started, the requirements are frozen
  • Requirements for later increments can continue to evolve

Advantages

  • System functionality is available earlier and customer does not have to wait as long.
  • Early increments act as a prototype to help elicit requirements for later increments.
  • The highest priority functionalities tend to receive more testing.
  • More flexible – less costly to change scope and requirements.
  • Easier to test and debug during a smaller iteration.
  • Easier to manage risk because risky pieces are identified and handled during its iteration.
  • Each iteration is an easily managed milestone.

Disadvantages

  • Each phase of an iteration is rigid and do not overlap each other.
  • Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

c) Water fall Model


The "waterfall model", documented in 1970 by Royce was the first publicly documented life cycle model. The model was developed to help with the increasing complexity of aerospace products.


This is the most common and classic of life cycle models, also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. Unlike what I mentioned in the general model, phases do not overlap in a waterfall model.


The least flexible and most obsolete of the life cycle models. Well suited to projects that has low risk in the areas of user interface and performance requirements, but high risk in budget and schedule predictability and control.

Advantages

    • Simple and easy to use.
    • Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.
    • Phases are processed and completed one at a time.
    • Works well for smaller projects where requirements are very well understood/stable.

Disadvantages

    • It’s difficult to respond to changing customer requirements.
    • Adjusting scope during the life cycle can kill a project
    • No working software is produced until late during the life cycle.
    • High amounts of risk and uncertainty.
    • Poor model for complex and object-orented projects.
    • Poor model for long run and ongoing projects.

d) Spiral - model

  • This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects.
  • The spiral model is similar to the incremental model, with more emphases placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements is gathered and risk is assessed. Each subsequent spiral builds on the baseline spiral.
  • Requirements are gathered during the planning phase. In the risk analysis phase, a process is undertaken to identify risk and alternate solutions. A prototype is produced at the end of the risk analysis phase.
  • Software is produced in the engineering phase, along with testing at the end of the phase. The evaluation phase allows the customer to evaluate the output of the project to date before the project continues to the next spiral.
  • In the spiral model, the angular component represents progress, and the radius of the spiral represents cost.

Advantages

  • High amount of risk analysis.
  • Risks are explicitly assessed and resolved throughout the process
  • Focus on early error detection and design flaws.
  • Good for large and mission-critical projects.
  • Software is produced early in the software life cycle.

Disadvantages

  • Can be a costly model to use.
  • Risk analysis requires highly specific expertise.
  • Project’s success is highly dependent on the risk analysis phase.
  • Doesn’t work well for smaller projects.

REFERENCE:

http://shailajakiran-testing.blogspot.com/2007/09/software-development-life-cycle-sdlc.html

CSSE 313 Software Requirements Engineering Assignment

Q: Write a detail note on Function Point Count?

n A function point is a unit of measurement to express the amount of business functionality an information system provides to a user.

n They measure the size of the systems according to the functionality delivered to the user.

n Function point approach is primarily based on logical view of what the user sees and interacts with.

n Since Function Point measure the systems from a functional perspective they are independent of technology, language, development method, or hardware platform used.

n The only variable is the amount of effort needed to deliver a given set of function points.

Where the Function Point Counting is used

The function point is used to accurately define the size and functionality in the work area with intend to estimates which are involved in it.

It is used for measuring the work area.

The main idea of measuring the work area is to identify the size of the project which can be beneficial for requirement analyst what are the complexities involved in measuring the work so as to learn the length of the work. The larger the work area the more time it will take to discover and understand the functionality and it will help the requirement analyst to write the requirement.

For example airline reservation system will contains more functionality than in taking orders in bar.

FP and Estimation: Rule of Thumb

· Function Point support for sizing and estimating is now a standard feature within at least 30 commercial software estimation tools.

· However, the project managers often need quick and informal estimates that can be performed on the spot by using mathematical calculation etc.

· The FP metric has provided a number of useful rules of thumb for quick estimates.

o FPs divided by 150 = Approximate headcount for development software personnel

o FPs divided by 3500 = Approximate headcount for maintenance software personnel

o FPs multiplied by $ 1000 = Approximate software development cost in USA

After you have determined the functionality, size of the project becomes easier to identify the efforts to build the required indented product.

The mathematical formula that is involved in measuring the effort

Efforts = (FP/150) * FP 0.4

Thus you can say that in 2000 function points work area the efforts involved in person days is (2000/150) * 20000.4

Function point are considered useful because of the following characteristics

  • The more functionality involved in the work area the more efforts and time it will take to gather the requirement.
  • The greater the amount of functionality the more data it process to meet the requirement from the user perspective.
  • The data is more understandable and visible it makes more sense to explore the functionality from it.

FUNCTION POINT COUNTING FOR BUSINESS USE CASE:

You can count function points either for a business event that basically identify the business use case individually. It can be more helpful for a requirement analyst we will actually explain the process of counting that will involve in measuring business use cases.

In order to understand the functionality of the business use case you will figure out the requirement that are needed for business use case. It will also help you to count the data elements of the incoming and outgoing data flows as well as the classes that are identified in the use cases.

Function Point Count (FPC)

The function point is a measurement of a particular application or project.

There are four major activities involved in FP counting process for an application.

· Understand the application

· Identify the information processing functions

· Determine the system complexity factors

· Mathematical Computation of FP

Types of Function Point Counts

· Development Project Function Point Count

o This type of count is associated with new development work

· Enhancement Project Function Point Count

o This type of function point count tries to size enhancement projects

· Application Function Point Count

o Application counts are done on existing production applications

How to Use Function Point Count

Function Point Count is used by marketing during proposal stage and by project leaders during project execution. In both cases effort is estimated from the FP Count.

When to Count Function Point

· In theory, there should be no changes in function point count between the end of product design and the end of acceptance testing.

· In practice, there is a big difference. It is during this time of implementation and testing that changes become progressively more expensive to make.

· Very often, users and project managers decide on change requests, features, costs and schedules throughout this time. Function points can be used to quantify these negotiations.

· It is not wise to exchange a 100 function point enhancement for a 100 function point reduction in functionality. The work already expended on the 100 function points to be dropped must also be considered.

What do you do with the function point counts?

  • To measure the productivity of your staff, your outsourcer or even yourself, and then track it over time;
  • To estimate project effort and schedule;
  • To measure your productivity and then compare it to other organizations
  • To use the data to drive business decisions regarding which applications to retain, retire or redesign.
  • If you enjoy one or more of the above activities, then you may want to launch a metrics program for your organization.

Reference:

http://www.scribd.com/doc/4640197/Function-Point-Analysis

http://studentslinks.org/data/Function%20Point%20Calculation.ppt

http://www.royceedwards.com/floating_function_point_faq/how_to_count.htm

Class Handout of Function Point

BIOL 101 MAN AND ENVIRONMENT ASSIGNMENT

Need of Energy

Types of Energy

Advantages and Disadvantages

Energy is defined as power of doing work. Human beings and other species that are living or non-living require energy in order to perform various activities. Any form of energy can be transformed into another form, but the total energy always remains the same.

Why do we need energy?

Energy is very important to survive. As energy is ability to do work so we need energy to move and do the things. We need energy for all our muscles to work. All the cells in our body require energy to carry out the required chemical reactions to complete their specific functions. Machines are created, a vehicle needs energy to move, so the gasoline/diesel is being processed in the vehicle engine, and then converted to the energy needed. So we use energy to run cars, planes, trains, buses and motorcycles. For example, we use different energy sources to generate the electricity we need for our homes, schools, businesses and factories. Electricity powers our TVs, computers, air conditioners and many other electronic devices.

Types of Energy

There are different types of energy in the universe. Potential energy and, mechanical energy, chemical energy, kinetic energy, etc are some of the common forms of energy. Even an object that is lying on the ground stores an amount of potential energy in it. When you lift the object or move the object, its potential energy is changed into kinetic energy. We make the use of one form of energy in order to produce the other form of energy. Waterfall in from a height possesses great amount of kinetic energy and when it falls on the water turbine, it rotates it and produces electricity. Human being has invented new ways of transferring one form of energy into another form of energy.

The energy sources have been split into three categories:

· fossil fuels

· renewable sources

· nuclear sources

The fossil fuels covered here are coal, petroleum, and natural gas. The renewable energy sources are solar, wind, hydroelectric, biomass, and geothermal power. The nuclear-powered sources are fission and fusion.

Fossil Fuels

Coal, oil and gas are called "fossil fuels" because they have been formed from the organic remains of prehistoric plants and animals.

How it works:

· Coal is crushed to a fine dust and burnt.

· Oil and gas can be burnt directly.

Coal provides around 28% of our energy, and oil provides 40%. Burning coal produces sulphur dioxide, an acidic gas that contributes to the formation of acid rain. This can be largely avoided using "flue gas desulphurisation" to clean up the gases before they are released into the atmosphere. This method uses limestone, and produces gypsum for the building industry as a by-product. However, it uses a lot of limestone.

Crude oil (called "petroleum") is easier to get out of the ground than coal, as it can flow along pipes. This also makes it cheaper to transport.

Natural gas provides around 20% of the world's consumption of energy, and as well as being burnt in power stations, is used by many people to heat their homes.
It is easy to transport along pipes, and gas power stations produce comparatively little pollution.

Advantages

  • Very large amounts of electricity can be generated in one place using coal, fairly cheaply.
  • Transporting oil and gas to the power stations is easy.
  • Gas-fired power stations are very efficient.
  • A fossil-fuelled power station can be built almost anywhere, so long as you can get large quantities of fuel to it.

Disadvantages

  • Basically, the main drawback of fossil fuels is pollution.
    Burning any fossil fuel produces carbon dioxide, which contributes to the "greenhouse effect", warming the Earth.
  • Burning coal produces more carbon dioxide than burning oil or gas.
    It also produces sulphur dioxide, a gas that contributes to acid rain. We can reduce this before releasing the waste gases into the atmosphere.

· Mining coal can be difficult and dangerous. Strip mining destroys large areas of the landscape.

· Fossil fuels are not a renewable energy resource. Once we've burned them all, there isn't any more, and our consumption of fossil fuels has nearly doubled every 20 years since 1900. This is a particular problem for oil, because we also use it to make plastics and many other products.

RENEWABLE SOURCES

Solar Energy The energy of the sun can be used in many ways. When plants grow, they store the energy of the sun. Then, when we burn those plants, the energy is released in the form of heat. This is an example of indirect use of solar energy.

The form we are interested in is directly converting the sun's rays into a usable energy source: electricity. This is accomplished through the use of "solar collectors," or, as they are more commonly known as, "solar panels."

There are two ways in which solar power can be converted to energy. The first, known as "solar thermal applications," involve using the energy of the sun to directly heat air or a liquid. The second, known as "photoelectric applications," involve the use of photovoltaic cells to convert solar energy directly to electricity.

Solar power has an exciting future ahead of it. Because solar power utilizes the sun's light, a ubiquitous resource (a resource that is everywhere), solar panels can be attached to moving objects, such as automobiles, and can even be used to power those objects. Solar powered cars are being experimented with more and more frequently now.

Advantages

  • Solar energy is free - it needs no fuel and produces no waste or pollution.
  • In sunny countries, solar power can be used where there is no easy way to get electricity to a remote place.
  • Handy for low-power uses such as solar powered garden lights and battery chargers, or for helping your home energy bills.

Disadvantages

  • Doesn't work at night.
  • Very expensive to build solar power stations. Solar cells cost a great deal compared to the amount of electricity they'll produce in their lifetime.
  • Only areas of the world with lots of sunlight are suitable for solar power generation.

Wind power is the conversion of wind energy into a useful form, such as electricity, using wind turbines. Wind energy has historically been used directly to propel sailing ships or converted into mechanical energy for pumping water or grinding grain, but the principal application of wind power today is the generation of electricity. We can use the energy in the wind by building a tall tower, with a large propeller on the top. The wind blows the propeller round, which turns a generator to produce electricity.

Advantages

· Wind is free, wind farms need no fuel.

· Produces no waste or greenhouse gases.

· The land beneath can usually still be used for farming.

Disadvantages

· Very diffuse source means low energy production--large numbers of wind generators (and thus large land areas) are required to produce useful amounts of heat or electricity.

· The wind is not always predictable - some days have no wind.

· Suitable areas for wind farms are often near the coast, where land is expensive.

· Some people feel that covering the landscape with these towers is unsightly.

Hydroelectric systems make use of the energy in running water to create electricity. A dam is built to trap water, usually in a valley where there is an existing lake. Water is allowed to flow through tunnels in the dam, to turn turbines and thus drive generators. Hydro-electric power stations can produce a great deal of power very cheaply.

Advantages

· No waste or pollution produced.

· Much more reliable than wind, solar or wave power.

Disadvantages

· Smaller models depend on availability of fast flowing streams or rivers.

· Finding a suitable site can be difficult - the impact on residents and the environment may be unacceptable.

· Building a large dam will flood a very large area upstream, causing problems for animals that used to live there.

Biomass is the conversion of stored energy in plants into energy that we can use. Sugar cane is grown in some areas, and can be fermented to make alcohol, which can be burned to generate power. Alternatively, the cane can be crushed and the pulp can be burned, to make steam to drive turbines. "Bioconversion" uses plant and animal wastes to produce "biofuels" such as methanol, natural gas, and oil.

Advantages

  • It makes sense to use waste materials where we can.
  • The fuel tends to be cheap.
  • Less demand on the fossil fuels.

Disadvantages

  • Collecting or growing the fuel in sufficient quantities can be difficult.
  • We burn the biofuel, so it makes greenhouse gases just like fossil fuels do.
  • Some waste materials are not available all year round.

Geothermal Power Hot rocks underground heat water to produce steam. The earth's crust is heated by the decay of radioactive elements. The heat is carried by magma or water beneath the earth's surface. We drill holes down to the hot region; steam comes up, is purified and used to drive turbines, which drive electric generators.

Geothermal power can be used to directly heat buildings. Further, the pressurized steam from superheated water beneath the earth's surface can be used to power turbines and thus generate electricity.

Advantages

· Geothermal energy does not produce any pollution, and does not contribute to the greenhouse effect.

· The power stations do not take up much room, so there is not much impact on the environment.

· No fuel is needed.

· Geothermal energy is renewable. The energy keeps on coming, as long as we don't pump too much cold water down and cool the rocks too much.

Disadvantages

· The big problem is that there are not many places where you can build a geothermal power station. You need hot rocks of a suitable type, at a depth where we can drill down to them. The type of rock above is also important, it must be of a type that we can easily drill through.

· Sometimes a geothermal site may run out of steam.

· Hazardous gases and minerals may come up from underground, and can be difficult to safely dispose of.

NUCLEAR SOURCES

Nuclear power is any nuclear technology designed to extract usable energy from atomic nuclei via controlled nuclear reactions. The only method in use today is through nuclear fission, though other methods might one day include nuclear fusion. Nuclear power is generated using Uranium and some military ships and submarines have nuclear power plants for engines. Nuclear power produces around 11% of the world's energy needs, and produces huge amounts of energy from small amounts of fuel, without the pollution that you'd get from burning fossil fuels.

Nuclear Fission produces energy for nuclear power and to drive the explosion of nuclear weapons. Fission of heavy elements is an exothermic reaction which can release large amounts of energy both as electromagnetic radiation and as kinetic energy. The energy produced by fission is used primarily to heat a liquid (usually water) to boiling. The steam generated by the boiling liquid is used to power a turbine that generates electricity.

Advantages

  • Nuclear power costs about the same as coal, so it's not expensive to make.
  • Does not produce smoke or carbon dioxide, so it does not contribute to the greenhouse effect.
  • Produces huge amounts of energy from small amounts of fuel.
  • Produces small amounts of waste.
  • Nuclear power is reliable.

Disadvantages

· Although not much waste is produced, it is very, very dangerous. It must be sealed up and buried for many thousands of years to allow the radioactivity to die away. For all that time it must be kept safe from earthquakes, flooding, terrorists and everything else. This is difficult.

· Nuclear power is reliable, but a lot of money has to be spent on safety - if it does go wrong, a nuclear accident can be a major disaster.

Nuclear Fusion The fusion is the process that powers the stars. The energy that comes from the process relies on the joining, or "fusing," of two atoms to form a new molecule. When this larger, relatively unstable molecule splits apart, it releases energy. Tritium and deuterium atoms don't randomly collide and give off energy. They must be heated up to extremely high temperatures (around 100 million degrees) in order for fusion to take place.

Advantages

  • The fuel for fusion reactions is readily available. Deuterium and Tritium are virtually inexhaustible.
  • Unlike the burning of coal or other fossil fuels, fusion does not emit harmful toxins into the atmosphere. The combustion of most fossil fuels involves some form of the reaction.

Disadvantages

  • Tritium and deuterium atoms must be heated up to extremely high temperatures (around 100 million degrees) in order for fusion to take place.
  • Many countries are phasing out fusion research because of the failure to reach a breakthrough.

REFERENCES

http://home.clara.net/darvill/altenerg/index.htm

http://library.thinkquest.org/20331/types/fossil/theory.html

http://simple.wikipedia.org/wiki/Energy

http://en.wikipedia.org/wiki/Nuclear_power

http://uk.answers.yahoo.com/question/index?qid=20090417201514AA8iUnH

http://www.depweb.state.pa.us/justforkids/cwp/view.asp?a=3&q=472531