Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Introduction

A software development process, also known as a software development life cycle (SDLC), is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.

Learn ability

According to the usabilityfirst glossary, learnability is a measure of the degree to which a user interface design can be learned quickly and effectively. Learning time is the typical measure. User interface designs are usually easier to learn when they are familiar and designed to be easy to use based on core psychological properties. The learnability of an interface design can be, in turn, further broken down into five similar but distinct components: the aforementioned Familiarity, Consistency, Generalizability, Predictability, and Simplicity. When developing usability tests, it is important to keep the learnability of your user interface design in mind because a website or app that is easy to use will likely be used more often and more productively.

Predictability Determining effect of future actions based on past interaction history. Operation visibility. Synthesizability Ability of the user to assess the effect of past operations on the current state. The user should see the changes of an operation. Immediate vs. Eventual feedback. Familiarity How prior knowledge applies to new system. Affordance. Generalizability Extending specific interaction knowledge to new situations.

Consistency Likeness in input/outputbehavior arising fromsimilar situations or task objectives.

Flexibility

Flexibility is used as an attribute of various types of systems. In the field of engineering systems design, it refers to designs that can adapt when external changes occur. Flexibility has been defined differently in many fields of engineering, architecture, biology, economics, etc. In the context of engineering design one can define flexibility as the ability of a system to respond to potential internal or external changes affecting its value delivery, in a timely and cost-effective manner.

Dialogue initiative Freedom from system imposed constraints on input dialogue. User preemptiveness: user initiates dialog. System preemptiveness: system initiates dialog. Multithreading Ability of system to support user interaction for several tasks at a time. Concurrent multimodality: simultaneous communication of information pertaining to separate tasks. Interleaving multimodality: permits temporal overlap between separate tasks, dialog is restricted to a single task.

Task migratability Passing responsibility for task execution between user and system. Substitutivity Allowing equivalent values ofinput and output to be substituted for each other. Representation multiplicity. Equal opportunity: blurs the distinction between input and output. Customizability Modifiability of the user interface by the user (adaptability) or system (adaptivity).

Robustness

Robustness is the ability of a computer system to cope with errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc. Formal techniques, such as fuzz testing, are essential to showing robustness since this type of testing involves invalid or unexpected inputs. Various commercial products perform robustness testing of software systems. Robustness is a consideration in failure assessment analysis. Observability Ability of the user to evaluate the internal state of the system from its perceivable representation.

Recoverability Ability of the user to correct a recognized error. Reachability (states): forward (redo) / backward (undo) recovery. Commensurate effort .

Task conformance Degree to which system services support all of the user's tasks. Task completeness; task adequacy. Responsiveness How the user perceives the rate of communication with the system. Preferred: short durations and instantaneous responses. Stability and indication of response time.

Conclusion

A software development methodology is a framework that is used to structure, plan, and control the process of developing information systems. A wide variety of such frameworks have evolved over the years, each with its own recognized strengths and weaknesses. One system development methodology is not necessarily suitable for use by all projects. Each of the available methodologies is best suited to specific kinds of projects, based on various technical, organizational, project and team considerations.

You might also like