Free Essay

Software Engineering

In:

Submitted By binning
Words 1712
Pages 7
USER INTERFACE
User interface design or user interface engineering is the design of computers, appliances, machines, mobile communication devices, software applications, and websites with the focus on theuser's experience and interaction. The goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of accomplishing user goals—what is often called user-centered design. Good user interface design facilitates finishing the task at hand without drawing unnecessary attention to itself. Graphic design may be utilized to support its usability. The design process must balance technical functionality and visual elements (e.g., mental model) to create a system that is not only operational but also usable and adaptable to changing user needs.
OBJECTIVES:
The main objectives of user interface design are: * To suggest some general design principles for user interface design * To explain different interaction styles and their use * To explain when to use graphical and textual information presentation * To explain the principal activities in the user interface design process (interaction activities) * To introduce usability attributes and approaches to system evaluation
USER INTERFACE: * System users often judge a system by its interface rather than its functionality * A poorly designed interface can cause a user to make catastrophic errors * Poor user interface design is the reason why so many software systems are never used * Most users of business systems interact with these systems through graphical user interfaces (GUIs) * In some cases, legacy text-based interfaces are still used
UI DESIGN PRINCIPLES:
UI design must take account of the needs, experience and capabilities of the system users. Designers should be aware of people’s physical and mental limitations (e.g. limited short-term memory) and should recognise that people make mistakes. UI design principles underlie interface designs although not all principles are applicable to all designs. The main principles include: * User familiarity * The interface should be based on user-oriented terms and concepts rather than computer concepts * E.g., an office system should use concepts such as letters, documents, folders etc. rather than directories, file identifiers, etc. * Consistency * The system should display an appropriate level of consistency * Commands and menus should have the same format, command punctuation should be similar, etc. * Minimal surprise * If a command operates in a known way, the user should be able to predict the operation of comparable commands * Recoverability * The system should provide some resilience to user errors and allow the user to recover from errors * This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc. * User guidance * Some user guidance such as help systems, on-line manuals, etc. should be supplied * Minimize user effort: the interface should be simple and minimize the number of clicks and keystrokes to move from one part of the system to another * Three click rule * Commonly used by interface designers * User should be able to go from start or main menu of a system to the information or action they want in no more than three mouse clicks or keystrokes * Layout: organization of areas of the screen or document for different purposes * Standard window or Macintosh approach for screen layout * Navigation area (top) * Status area (bottom) * Work area (middle) * Info can be presented in multiple areas * Like areas should be grouped together * Area and information should minimize user movement from one to another * Ideally, area will remain consistent in * Size * Shape * Placement for entering data * Reports presenting retrieved data * Content awareness: users should be aware of where they are in the system and what is being displayed * All interfaces should have titles * Menus should show where you are and where you came from to get there * Clear info must be provided * Fields and field labels must be selected carefully * Aesthetics: designing interfaces that are pleasing to the eye * Interfaces need to be functional and inviting to use * Avoid squeezing in too much * Design text carefully * Be aware of font and size * Avoid using capital letters * Colours and patterns should be used carefully * Test quality of colors by trying the interface on black/white monitor * Use colors to separate or categorize items * User diversity * Interaction facilities for different types of user should be supported * E.g., some users have seeing difficulties and so larger text should be available
UI DESIGN PROCESS:
UI design is an iterative process involving close liaisons between users and designers.
The 3 core activities in this process are: * User analysis: Understand what the users will do with the system; * System prototyping: Develop a series of prototypes for experiment; * Interface evaluation: Experiment with these prototypes with users.

UI DESIGN TECHNIQUES:
Iterative design:
Iterative design offers a way to manage the inherent risk in user interface design. In iterative design, the software is refined by repeated trips around a design cycle: first imagining it (design), then realizing it physically (implementation), then testing it (evaluation).

Problems with iterative design:
• Every iteration corresponds to a release
– Evaluation (complaints) feeds back into next version’s design
• Using your paying customers to evaluate your usability
– They won’t like it
– They won’t buy version 2

Spiral model:
The spiral model offers a way out of the dilemma. We build room for several iterations into our design process, and we do it by making the early iterations as cheap as possible. The radial dimension of the spiral model corresponds to the cost of the iteration step – or, equivalently, its fidelity or accuracy.

Advantages of creating iterative designs using spiral models:
• Early iterations use cheap prototypes
– Parallel design is feasible: build & test multiple prototypes to explore design alternatives
• Later iterations use richer implementations, after UI risk has been mitigated
• Every prototype is evaluated
– Users involved in all iterations
• More iterations generally means better UI
• Only mature iterations are seen by the world
DESIGN ISSUES IN UIs: * Two problems must be addressed in interactive systems design * How should information from the user be provided to the computer system? * How should information from the computer system be presented to the user? * User interaction and information presentation may be integrated through a coherent framework such as a user interface metaphor.
INTERACTION STYLES: * Direct manipulation * Easiest to grasp with immediate feedback * Difficult to program * Menu selection * User effort and errors minimized * Large numbers and combinations of choices a problem * Form fill-in * Ease of use, simple data entry * Tedious, takes a lot of screen space * Command language * Easy to program and process * Difficult to master for casual users * Natural language * Great for casual users * Tedious for expert users
INFORMATION PRESENTATION: * Information presentation is concerned with presenting system information to system users. * The information may be presented directly (e.g. text in a word processor) or may be transformed in some way for presentation (e.g. in some graphical form).

* The Model-View-Controller approach is a way of supporting multiple presentations of data.

Model-View Controller
INFORMATION PRESENTATION: * Static information * Initialised at the beginning of a session. It does not change during the session. * May be either numeric or textual. * Dynamic information * Changes during a session and the changes must be communicated to the system user. * May be either numeric or textual.

ANALOG OR DISITAL PRESENTATION: * Digital presentation * Compact - takes up little screen space; * Precise values can be communicated. * Analogue presentation * Easier to get an 'at a glance' impression of a value; * Possible to show relative values; * Easier to see exceptional data values.
PRESENTATION METHODS:

DISPLAYING RELTIVE VALUES:

TEXTUAL HIGHLIGHTING:

DATA VISUALIZATION: * Concerned with techniques for displaying large amounts of information * Visualisation can reveal relationships between entities and trends in the data * Possible data visualisations are: * Weather information * State of a telephone network * Chemical plant pressures and temperatures * A model of a molecule * Hyperweb
COLOUR DISPLAY: * Colour adds an extra dimension to an interface and can help the user understand complex information structures. * Colour can be used to highlight exceptional events. * Common mistakes in the use of colour in interface design include: * The use of colour to communicate meaning; * The over-use of colour in the display.
Colour use guidelines: * Limit the number of colours used and be conservative in their use. * Use colour change to show a change in system status. * Use colour coding to support the task that users are trying to perform. * Use colour coding in a thoughtful and consistent way. * Be careful about colour pairings.
ERROR MESSAGES: * Error message design is critically important. Poor error messages can mean that a user rejects rather than accepts a system * Messages should be polite, concise, consistent and constructive * The background and experience of users should be the determining factor in message design.
Factors to be kept in mind are: * Context * Experience * Skill level * Style * Culture
System and user oriented error messages:
Assume that a nurse misspells the name of a patient whose records he is trying to retrieve

USER INTERFACE EVALUATION:
Some evaluation of a user interface design should be carried out to assess its suitability. Full scale evaluation is very expensive and impractical for most systems. Ideally, an interface should be evaluated against a usability specification. However, it is rare for such specifications to be produced.

Usability attributes: Attribute | Description | Learnability | How long does it take a new user to become productive with the system? | Speed of operation | How well does the system response match the user’s work practice? | Robustness | How tolerant is the system of user error? | Recoverability | How good is the system at recovering from user errors? | Adaptability | How closely is the system tied to a single model of work? |

Simple evaluation techniques: * Questionnaires for user feedback * Video recording of system use and subsequent tape evaluation. * Instrumentation of code to collect information about facility use and user errors. * Interviewing process. * The provision of a “gripe” button for on-line user feedback.
CONCLUSION:
Interface design should be user-centred. An interface should be logical and consistent and help users recover from errors. Interaction styles include direct manipulation, menu systems form fill-in, command languages, and natural language. Graphical displays should be used to present trends and approximate values. Digital displays when precision is required. Colour should be used sparingly and consistently. Ideally, a user interface should be evaluated against a usability specification. * Systems should provide on-line help. This should include “help, I’m in trouble” and “help, I want information” * A range of different types of user documents should be provided

Similar Documents

Premium Essay

Software Engineering

...Dimitar  Chukaliev     Software  Engineering   October  26,  2013   Homework  assignment  5     (∀x  (∀y  winner(y)  -­‐>  loves(x,  y)))   (∀x  (∃y  winner(y)  ∧  loves(x,  y)))     (∃y  winner(y)  ∧  (∀x  loves(x,  y)))   For  each  of  them,  provide  a  simple  model  (composed  of  a  small  set  of  individuals)   such  that  the  formula  is  satisfied  by  the  model,  but  none  of  the  other  two  formulae  is   satisfied  by  the  model.         Dimitar  Chukaliev     Exercise  2   You  are  doing  requirements  engineering  for  a  dishwasher.  The  main  goal  expressed   by  the  users  is  that  the  water  should  not  be  leaking  from  the  dishwasher.  The  valve   that  enables  the  flow  of  water  in  the  dishwasher  can  only  be  open  if  the  door  is   closed  and  a  washing  program  is  selected.  A  possible  (drastic)  solution  to  avoid   water  leakage  is  to  forbid  opening  the  door  after  the  valve  has  been  open,  until  the   washing  program  terminates  and  the  valve  is  closed.   Can  you  identify  in  this  description  the  system  requirements,  the  software   requirements,  and ...

Words: 268 - Pages: 2

Premium Essay

Software Engineering

...Software Engineering 1.) What does the term requirement mean? Explain the process of determining the requirement for a software system.  ‘Requirements’ suggests that there is someone out there doing the ‘requiring’ – a specific customer who knows what she wants. In some projects, requirements are understood to be the list of features (or functions, properties, constraints, etc.) Demanded by the customer. In practice, there is rarely a single customer, but rather a diverse set of people who will be affected in one way or another by the system. These people may have varied and conflicting goals. Their goals may not be explicit, or may be hard to articulate. They may not know what they want or what is possible. Under these circumstances, asking them what they ‘require’ is not likely to be fruitful. 2.) Describe the various steps of requirement engineering? Is it essential to follow these steps?  Requirements engineering is an important aspect of any software project, and is a general term used to encompass all the activities related to requirements. The four specific steps in software requirements engineering are: • Requirements elicitation is the practice of obtaining the requirements of a system from users, customers and other stakeholders. • Requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various...

Words: 1772 - Pages: 8

Premium Essay

Software Engineering

...Chapter 1: Why Software Engineering? Learning objectives: After studying this chapter, you should be able to: · Define what is meant by software engineering and describe the differences between computer science and software engineering. · Understand the track record of software engineering. · Identify the characteristics of “good software”. · Define what is meant by a systems approach to building software and understand why a systems approach is important. · Describe how software engineering has changed since the 1970s. Summary: This chapter addresses the track record of software engineering, motivating the reader and highlighting key issues that are examined in later chapters. In particular, the chapter uses Wasserman's key factors to help define software engineering. The chapter also describes the differences between computer science and software engineering and explains some of the major types of problems that can be encountered. The chapter explores the need to take a systems approach to building software. The main emphasis of this chapter is to lay the groundwork for the rest of the book. Software engineers use their knowledge of computers and computing to help solve problems. For problem-solving, software engineering makes use of analysis and synthesis. Software engineers begin investigating a problem by analyzing it, breaking it into pieces that are easier to deal with and understand. Once a problem is analyzed, a solution is synthesized based...

Words: 1130 - Pages: 5

Premium Essay

Software Engineering

...A software engineer is a professional who is skilled in various fields when it comes to software development like analyzing software requirements, handling and modification of software design to make it better in quality, price and running speed. Basically, a software engineer analyzes how a piece of software can be improved and decides how that can be improved. In this process he may or may not write a lot of computer code. Either way he must be familiar with different code languages so that he has an ability to review different kinds of software. A software engineer often work as a part of team to deal with design, planning and testing of software so that the end result would be in developing required functioning software. When working with a client, a software engineer will typically evaluate the client's needs, then design, develop and test computer software in order to meet those needs. During this process they create the detailed sets of instructions, called algorithms that tell the computer what to do. Software engineers are often more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code. A software engineer need not just be a developer. Many software engineers work for Multi-nationals. They are required in the fields of applied mathematics, science, research and development (government organizations), teaching professionals in the field of study. Now-a-days various software engineers decide to work as...

Words: 1770 - Pages: 8

Premium Essay

Software Engineering

...2011 download.benjaminsommer.com Benjamin Sommer [SOFTWARE ENGINEERING LECTURE NOTES] Brief and detailed notes from lectures held at the Ludwig-Maximilian-University, Faculty of Computer Science in Germany. This document neither claims completeness, nor correctness of the presented topic. Please let me know in case of errors or missing information: contact.benjaminsommer.com [SOFTWARE ENGINEERING LECTURE NOTES] October 21, 2011 OVERVIEW SOFTWARE PROCESSES SOFTWARE PROCESS MODELS PROCESS ACTIVITIES COPING WITH CHANGE THE RATIONAL UNIFIED PROCESS AGILE SOFTWARE DEVELOPMENT AGILE METHODS PLAN-DRIVEN AND AGILE DEVELOPMENT EXTREME PROGRAMMING AGILE PROJECT MANAGEMENT SCALING AGILE METHODS REQUIREMENTS ENGINEERING FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS THE SOFTWARE REQUIREMENTS DOCUMENT REQUIREMENTS SPECIFICATION REQUIREMENTS ENGINEERING PROCESSES REQUIREMENTS ELICITATION AND ANALYSIS REQUIREMENTS VALIDATION REQUIREMENTS MANAGEMENT SYSTEM MODELING CONTEXT MODELS INTERACTION MODELS STRUCTURAL MODELS BEHAVIORAL MODELS MODEL-DRIVEN ENGINEERING ARCHITECTURAL DESIGN ARCHITECTURAL DESIGN DECISIONS ARCHITECTURAL VIEWS ARCHITECTURAL PATTERNS APPLICATION ARCHITECTURES DESIGN AND IMPLEMENTATION OBJECT-ORIENTED DESIGN USING THE UML DESIGN PATTERNS IMPLEMENTATION ISSUES OPEN SOURCE DEVELOPMENT SOFTWARE TESTING DEVELOPMENT TESTING TEST-DRIVEN DEVELOPMENT RELEASE TESTING download.benjaminsommer.com | 1 3 5 5 7 10 13 16 16 17 17 19 20 21 21 23 24 25 26 29 30 31 32 32 33 34 35 37 38 39...

Words: 24348 - Pages: 98

Premium Essay

Software Engineering

...Introduction Software engineering involves the methodical and disciplined approach to developing software products (Lehman, n.d.). Software Engineering develops and maintains reliable software systems that exhibit several features. Such features include; affordability, completeness, scalability, portability, integration, and dependability. The interpretation is that such systems must satisfy all user requirements as defined by the users. Such characteristics are important in meeting the organization’s objectives. The result of software engineering, therefore, is an efficient and reliable software system. The precise definition of functional and non-functional requirements forms one of the main sections in the software development lifecycle that presents a challenge to developers. Definition of such requirements is essential for meeting both business and system performance objectives. Software requirements detail the main functions that the system must aim to fulfill. They represent the user’s expectations of the real-world system features (Mishra and Mohanty, 2012). Usability is the main feature of any software system under development that demonstrates the system as understandable and usable to the users under specified conditions. Challenges encountered in the different phases of the software development cycle, if not properly managed, may lead to poor usability in software systems a feature that significantly contributes to software failure. Types of Requirements in Software development ...

Words: 1074 - Pages: 5

Premium Essay

Software Engineering

...& Careers » Software Engineering. Retrieved February 23, 2014, from http://computingcareers.acm.org/?page_id=12. Web This article discusses software engineering and the definition of basically what it is, it states that it is concerned with maintaining software systems and developing one that will work correctly and be very dependable for the user, they have to keep in mind as well that there projects need to be affordable and that they assure reliability and they meet all the users needs. The actual article states, “Software engineering (SE) is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them.” (computer machinery) The article talks about how critical it is for the application to be safe especially because of how expensive the software system are. Software Engineering integrates a significance of mathematics in computer science and practices the origins of engineering. This article give a good definition of what software engineering is about, it doesn’t give enough detail on what exactly they are doing everyday its very broad and doesn’t narrow it down. It begins to talk more about how to get into the job itself, instead of focusing on exactly what they do, it gives a description of all the step you need to take to get there. It strays away from what you’re actually doing when you become a software engineer. Furthermore...

Words: 1601 - Pages: 7

Free Essay

Software Engineering for Computer Games

...LITERATURE REVIEW ON SOFTWARE ENGINEERING FOR COMPUTER GAMES Name: Course: Date Page 1 Abstract Games have often been very common in the past period of time, but with the discovery of computer games, they have penetrated. In spite of the third vista to computer games which is verifiable, it pertains to investigating what characteristics those who play such games anticipate from the gaming using the computer. Permit us state the meaning of a computer game as a play which is undertaken with an aid of a computer program. This meaning still leaves behind some flexibility because it does not imply that the whole game happens in the computer. For instance, Chess may be played on the computer screen and on a true-globe board, heedless to whether the one who objects to the play is a computer application. Huizinga in his classic work defined play as ``an activity which proceeds within certain limits of time and space, in a visible order, according to rules freely accepted, and outside the sphere of necessity or material utility. The play mood is one of rapture and enthusiasm, and is sacred or festive in accordance with the occasion. A feeling of exaltation and tension accompanies the action, mirth and relaxation follow``. A lexicon likewise states the meaning of game as `‘a universal form of recreation generally including any activity engaged in for diversion or amusement and often establishing a situation that involves a contest or rivalry’`. Besides, Elliot...

Words: 8674 - Pages: 35

Premium Essay

Software Engineering References

...SOFTWARE ENGINEERING RESEARCH METHODS – RES531 Journals and Monographs in Software Engineering NASA Monographs in System Engineering is a reference that will assist in becoming familiar with the current technologies and ground breaking research. In dealing with projects, NASA places emphasis on relevance to its mission. The Practical Accelerated Life Testing monograph assists in the delineation of key steps and guidelines used in order to set up and administrate accelerated life tests. It also discusses the commonly used methods of testing data. The journal shows key perimeters to model, sample size decisions, and examples of analysis of difficult results. Develop Reliable Software at Low Cycle Cost gives strategies and tactics for improvement of the software engineering process. It also gives reference to how to develop trustworthy code and reliable testing throughout the life cycle. The designing aspect of the database will use the Design for Reliability journal to be sure that methods we employ are effectively ensuring that high reliability goals are reached. This journal speaks about the integration of reliable improvement practices and methods which are similar to the project design rules. The ISRN peer-reviewed journal is widely used throughout the Software Engineering world. It will be used as a source of test procedures and error controls. It covers the productivity factors, cost models, issues in scheduling, and the interrelationships between hardware-software...

Words: 340 - Pages: 2

Premium Essay

Software Engineering

...Introduction to Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University Email: sk@nontri.ku.ac.th URL: http://www.cpe.ku.ac.th/~sk Somnuk Keretho/Kasetsart University Outline of this presentation • • • • • • Scope of Software Engineering Object-Oriented Software Development Software Process Software Life-Cycle Models Object Orientation Software Quality Assessment Reference to Chapter 1/2/3 of “Software Engineering with JAVA”, S.R. Schach, McGraw-Hill, 1997. Somnuk Keretho/Kasetsart University 2 Scope of Software Engineering • Software engineering is a discipline whose aim is the production of fault-free software, that is delivered on time, within budget, and satisfies the user’s needs. Somnuk Keretho/Kasetsart University 3 Scope of Software Engineering • Historical Aspects: – 1967, a NATO group coined the term “Software Engineering” – 1968 NATO Software Engineering Conference concurred that “Software production should be an engineering-like activity”. – Using philosophies and paradigms of established engineering disciplines to solve “Software Crisis: that the quality of software was generally unacceptably low and that deadlines and cost limits were not being met”. Somnuk Keretho/Kasetsart University 4 Scope of Software Engineering • Economic Aspects – Software Engineering v.s. Computer Science • The computer scientist investigates...

Words: 1590 - Pages: 7

Premium Essay

Software Engineering (Chapter 1 Summ.)

...Inadequate software engineering has led to failure of modern softwares. Causes of software failures ---------- 1. increasing demand: software developers are tasked to develop softwares that solve more complex solutions and are often given short time. the existing software engineering techniques are therefore not able to cater for this complexity. 2. low expectation: most software developers develop softwares without using software engineering techniques which often cause software failures and unreliable softwares Attributes of a good software:(M.A.D.E) Maintainability: it should be able to evolve in order to fit new needs or suit new customers Acceptability: it must meet the need for which it was developed for and must be usable for its users Dependability and Security: it must not cause physical damage or be open to malicious attackers for exploits Efficiency: it must not waste system resources like memory, disk space, e.t.c Others are D.R.I.P Distributability,Reusability,Interoperatability,Portability software engineering is an aspect of engineering discipline that focuses on all the aspect of software development production Fundamental software engineering activities DEVS: software development, software evolution, software validation, software specification Difference between software engineering and computer science: computer science focuses on the theories and fundamentals of software development...

Words: 334 - Pages: 2

Premium Essay

Problems of Software Engineering

...Aneshia Price English 1101 Paper 3 Draft 2 Problems of Software Engineering The world of software engineering is a dynamic one. There are many benefits of the field including high rate of pay and wide availability of jobs. However, there is always a downside of everything great. Besides the years of rigorous training, there are problems once you enter the field. If you ever need to change jobs, it will be difficult due to the amount of competition (Enriquez). You also have to constantly keep up with changing technology, if you do not keep up the pace, you can easily be replaced. Also, it is a major challenge to just secure a job with a major company like Google. The hiring process is not like a “regular” job. To get a good job in this field, you must be the best of the best and be able to maintain that status to keep your job. There is also an incredible amount of stress related to this job. While it may seem like a cozy inside job, there are many stressor within the software engineering career. The major issue with becoming a software engineer resides in the reason that also makes the field such a successful one. While jobs are plentiful in the field due to changing technology, this also makes it very easy to lose your job. There is always someone waiting to take your place, and since many software engineering jobs allow you to work from home, you have to deal with international competition. Companies are always looking for someone to do the job for less and, “[a]lmost...

Words: 1297 - Pages: 6

Premium Essay

Introduction to Software Engineering

...INTRODUCTION TO SOFTWARE ENGINEERING Have you ever noticed how the invention of one technology can have profound and unexpected effects on other seemingly unrelated technologies, on commercial enterprises, on people and even on culture as a whole? This phenomenon often called:- “THE LAW OF UNINTENDED CONSEQUENCES”. Today, computer software is the single most important technology on the world stage, and software is also a prime example of the “Law of Unintended Consequences”. No one could have foreseen that over the past 50 years, software become embedded in system of all kinds. i.e. Banking, Medical, Transportation, Entertainment and so on. And if we believe in the Law of Unintended Consequences, there are many more effects that we can not yet predict! As software’s importance has grown, the software community has continually attempted to develop technologies that will make it easier, faster and less expensive to build and maintain high quality computer programs. Some of the Software technologies are targeted at a Specific Application Domain (e.g. Web site design and implementation). Others focus on a Technology Domain (e.g. O.O System and programming) and still these are Broad-based software Applications domain (e.g. Operating Systems such as Linux), However we have yet to develop a Software technology that targeted to all the likelihood of one arising in the future is small. WHAT IS COMPUTER SOFTWARE? Computer Software is the product that Software professionals...

Words: 2757 - Pages: 12

Premium Essay

Artificial Intelligence and Software Engineering: Status and Future Trends

...Artificial Intelligence and Software Engineering: Status and Future Trends Jörg Rech, Klaus-Dieter Althoff The disciplines of Artificial Intelligence and Software Engineering have many commonalities. Both deal with modeling real world objects from the real world like business processes, expert knowledge, or process models. This article gives a short overview about these disciplines and describes some current research topics against the background of common points of contact. 1 Introduction During the last decades the disciplines of Artificial Intelligence (AI) and Software Engineering (SE) have developed separately without much exchange of research results. In AI we researched techniques for the computations that made it possible to perceive, reason, and act. Research in SE was concerned with supporting human beings to develop better software faster. Today, several research directions of both disciplines come closer together and are beginning to build new research areas. Software Agents play an important role as research objects in Distributed AI (DAI) as well as in agentoriented software engineering (AOSE). Knowledge-Based Systems (KBS) are being investigated for learning software organizations (LSO) as well as knowledge engineering. Ambient Intelligence (AmI) is a new research area for distributed, non-intrusive, and intelligent software systems both from the direction of how to build these systems as well as how to design the collaboration between ambient systems. Last...

Words: 6393 - Pages: 26

Premium Essay

Software Engineering Advantages

...1.3 SOFTWARE ENGINEERING DIVERSITY Software engineering takes into account the practical cost, dependability issues, schedule, customers and stakeholder’s needs or expectations (Sommerville, 2016:24). Methods, tools and techniques used to develop software depends on the vendor or organisation developing the software, type of software to be developed and people involved in the development process. The best practice to determine the most suitable software engineering methods, tools and techniques, is to understand the type of application being developed. The following are types of applications: a) Stand-alone applications - these are application systems which operate on a desktop or personal computers or mobile devices. In other words, they...

Words: 1078 - Pages: 5