itft - software

19

Upload: shruti-kunwar

Post on 14-Dec-2014

249 views

Category:

Education


4 download

DESCRIPTION

Software

TRANSCRIPT

• Software crisis leads to the term "Software Engineering." Software engineering is the branch of software that deals with development of well developed software that satisfies all the users' requirements and ensures that the software is provided on time and within budget. The software is provided along with documentation that gives description to the user on how to use the software. Software engineering can be defined as:

• "Software engineering is the branch of engineering in which the software is developed in a manner that it will have all the properties like maintenance, extensibility and is within time and budget and also satisfies all the requirements given by user."

• Producing software does not mean producing just software but it means to develop the software in a cost effective manner

Characteristics of well engineered software

Software is said to be efficient if it uses the available resources in the most efficient manner. The software should be able to offer a quick response in the least processing time using the resources at minimum level. Resources refer to the memory and processor utilization. The software should efficiently perform what the user demanded and give appropriate response in each case i.e. the output given is accurate or not.

Maintainability

This characteristic of the software is important for both the software engineer and the user. If the change is to be required in the software then the change leads to the change in the software so that it performs in accordance with the user requirement. The software engineer has to respond very fast if there is any change in the user requirements. Changes should be performed like this that it will not affect the overall integrity of the software

The software should be developed on-time. If the software is developed late then it is of no use. A good engineer always develops the software on-time

Some of the software gets

overrun. Overrun doesn't

mean that the cost of the

software exceeds the limit

given by user. But, it means

that the software cost is out

of control. So, the software

should be developed in

such a manner that it will

not overrun and the

software being developed

is within budget.

FUNCTIONALITY

The software system is developed in a manner that it performs the entire task perfectly for which it is developed. The software should respond correctly as the user wants.

The software should be adaptable. Software is desired to be adaptable all the changes efficiently. The software should easily adopt all the changes in the software with no change in the efficiency of the software

It is the ability of the software that should not cause any physical or economic damage in the event of system failure. It includes a range of characteristics like: Reusability, security, and safety.

TYPES OF

SOFTWARE

APPLICATION

Different kinds of software applications that would be suitable for different tasks:Word Processing software - Use this kind of tool to create worksheets, type letters, type papers, etc.MS Word, WordPerfect.

Desktop Publishing software - Use this software to make signs, banners, greeting cards, illustrative worksheets, newsletters, etc.Adobe PageMaker, MS Word.

Spreadsheet software - Use this kind of tool to compute number-intensive problems such as budgeting, forecasting, etc. A spreadsheet will plot nice graphs very easily.MS Excel.

Database software - Use this software to store data such as address, membership and other text information. A database can be used to easily sort and organize records.MS Access.

Presentation software - Use this software to create multimedia stacks of cards/screens that can effectively present a lesson or a sales pitch. The user often clicks on buttons to advance to the next screen in a sequence.MS PowerPoint, AppleWorks (slideshows), HyperStudio, Flash, Director, HyperCard, Digital Chisel, SuperCard, Corel Envoy,...

Internet Browsers - This software allows one to surf the Web. Often they can read email and create Web pages too.Netscape Navigator (or Netscape Communicator), MS Internet Explorer, AOL Browser....

Email programs - These programs send and receive email.Netscape Messenger (part of Netscape Communicator), MS Outlook Express, MS Outlook, Eudora, AOL browser (has email built in)....

Graphics Programs (pixel-based) - This software allows one to touch up photographs and create graphics from scratch.Adobe Photoshop, Paint Shop Pro, AppleWorks, MS Works, MS Paint (comes free on Windows PC's), Painter, ....

Graphics Programs (vector-based) - This software creates graphics that are similar to illustrations or cartoon drawings.Adobe Illustrator, Corel Draw.

Communications software - This software allows two computers with modems to communicate through audio, video, and/or chat-based means.MS NetMeeting, AOL Instant Messenger.

Software components• The word component denotes a part of something . This is very general

and may be the reason for the still vague and diverse descriptions of software components in many publications.

• For example, in the Dictionary of Object Technology a component is described very generally as a "reusable entity". Nierstrasz and Sametinger also provide general definitions of components that include macros, functions, templates, modules, etc. as valid examples of software components.

• Following the example of "component-based" environments like VisualBasic, central characteristics of components that are often mentioned are properties, an event mechanism, scripting and the use of a visual builder tool for component composition. An example of this point of view is the JavaBeans specification, where a bean (which is a component in this model) is defined as a "reusable software component that can be manipulated visually in a builder tool" . As we argue below, some of these features are an indication of the requirements on components, but they do not sufficiently describe what a component is and are no prerequisite for a component-based environment.

Components, classes, objects and modules

• Components are sometimes related to objects or classes in the literature . From the above discussion follows that components are not objects ( Like classes, components are program parts that may be used for creating objects and for defining an object's interfaces and implementation.

• The main difference between a class and a component is that a class is a (language-specific) source-code entity, whereas a component is a binary program part. However, a component may be implemented with (usually multiple) classes.

• Both components and modules require clear specification of external dependencies. However, a component is not a module as used in languages like Modula-2, where a module is also a compilation unit. Components may be large and complex, and developing components thus requires division of labor and the ability to split up its source code into separately compliable units. This means that a component may be made up of several modules.

THANK YOU