Difference Between Search & Browse Methods in Odoo 17
ITFT - Software
1.
2. • 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
4. 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.
5. 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
6. 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
7. 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.
8. 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.
9. 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
10. 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.
12. 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.
13. 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.
14. 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....
15. 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, ....
16. 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.
17. 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.
18. 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.