Вы находитесь на странице: 1из 3

User Interface Design- is the design of user Data Flow Design- is a way of representing a

interfaces for machines and software, such as flow of a data of a process or a system (usually an
computers, home appliances, mobile devices, and information system) The DFD also provides
other electronic devices. information about the outputs and inputs of each
entity and the process itself.
DIFFERENT TYPES OF USER INTERFACE
Software Development
 BATCH INTERFACE
 COMMAND-LINE USER INTERFACE  Software- the programs and other
 TEXT-BASED USER INTERFACE operating information used by a computer.
 GRAPHICAL USER INTERFACE  Development- the process of developing
or being developed
UNBREAKABLE LAWS OF CREATING A GOOD
USER INTERFACE DESIGN Software Development- is the process of
conceiving, specifying, designing, programming,
1. LAW OF CLARITY- The user will avoid documenting, testing, and bug fixing involved in
interface elements without a clear creating and maintaining applications, frameworks,
meaning. or other software components.
2. LAW OF PREFERRED ACTION- The user
will feel more comfortable when they Software Developer- is a person concerned with
understand what the preferred action is. facets of the software development process,
including the research, design, programming, and
3. LAW OF CONTEXT- The user expects to
testing of computer software
see interface controls close to the object he
wants to control. System Software- includes the programs that are
4. LAW OF DEFAULTS- The user will rarely dedicated to managing the computer itself, such as
change default settings the operating system, file management utilities,
5. LAW OF GUIDED ACTION- The user will and disk operating system (or DOS).
probably do something if he is asked to do
it Application Software- is computer software
6. LAW OF FEEDBACK- The user will feel designed to perform a group of coordinated
functions, tasks, or activities for the benefit of the
more confident if you provide clear and
user.
constant feedback.
7. LAW OF EASING- user will be more Software Development Process- also known as
inclined to perform a complex action if it’s a software development methodology, model, or
broken down into smaller steps. life cycle) is a framework that is used to structure,
plan, and control the process of developing
Modularity- is the degree to which a system's information systems.
components may be separated and recombined,
Stages of Software Development Process:
often with the benefit of flexibility and variety in
use.  Analyzing the problem
 Market research
Definition of a module
 Gathering requirements for the proposed
 Function business solution
 Interface  Devising a plan or design for the software-
 Strategy based solution
 Implementation of the software
Structured programming - is a programming  Testing the software
paradigm aimed at improving the clarity, quality,  Deployment
and development time of a computer program by  Maintenance and bug fixing
making extensive use of the structured control flow
constructs of selection (if/then/else) and repetition Planning- is an objective of each and every
(while and for), block structures, and subroutines. activity, where we want to discover things that
belong to the project.
Designing-once the requirements are established,  Reduce Total Cost of Ownership (TCO)
the design of the software can be established in a  Loosely coupled application
software design document.
Types of pattern design
Implementation, testing and documenting
 Structural
 Implementation- is the part of the
process where software engineers actually  Creational
program the code for the project.  Behavioral
 Testing- This part of the process ensures
that defects are recognized as soon as Design pattern best practices
possible.
 Keep it simple stupid
 Documenting- the internal design of
software for the purpose of future  Excess of everything is bad
maintenance and enhancement is done  Focus on loosely coupled code
throughout development.  Design first, code later

Deployment and maintenance Refactoring - is a technique for restructuring an


existing body of code, altering its internal structure
 Deployment- starts directly after the code
is appropriately tested, approved for without changing its external behavior.
release, and sold or otherwise distributed
into a production environment. Benefits
 Maintenance- Maintaining and enhancing
 Maintainability- It is easier to fix bugs
software to cope with newly discovered
faults or requirements can take substantial because the source code is easy to read
time and effort, as missed requirements and the intent of its author is easy to grasp.
may force redesign of the software.  Extensibility- It is easier to extend the
capabilities of the application if it uses
Types of Software Development
recognizable design patterns and it provides
 Web Development some flexibility where none before may
 Mobile Development have existed.
 Data Science
 Application Development PROGRAMMING LANGUAGES
 Back-end Development
 Software Tools Development Programming language - is a vocabulary and
 API Development set of grammatical rules for instructing
 Embedded Systems Development a computer or computing device to perform specific
 Security Software Development tasks
 Cloud Computing
 PHYTON- is an advanced programming
Design Pattern language that is interpreted, object-oriented
and built on flexible and robust semantics.
 A well-defined solution to a common
 Java - is a general-purpose, object-
problem.
oriented, high-level programming language
 Language independent
with several features that make it ideal for
web-based development.
 Ruby - is an open-sourced, object-oriented
Benefits of Design Pattern scripting language that can be used
 Robust code independently or as part of the Ruby on
Rails web framework.
 Code reusability
 Highly maintainability
 C Language - is a structure-oriented, to direct the efforts of people who will make
middle-level programming language mostly it work
used to develop low-level applications.
 C++ - language is used to create
computer programs and packaged software,
such as games, office applications, graphics
and video editors and operating systems.
 C# - is a multi-paradigm programming
language that features strong typing,
imperative, declarative, functional, generic,
object-oriented and component-oriented
disciplines.
 Objective-C - is a simple, general-purpose
and object-oriented language. It uses a
system of message passing borrowed from
the language Smalltalk
 SQL - is a database query language (not a
development language) that allows for
adding, accessing and managing content in
a database.
 Swift - is Apple’s newest open-source,
multi-paradigm programming language for
iOS and OS X apps
 Pascal - is a general-purpose, high-level
language that was originally developed by
Niklaus Wirth in the early 1970s. It was
developed for teaching programming as a
systematic discipline and to develop reliable
and efficient programs.

Programming Large

- In software development, programming in


the large can involve programming by larger
groups of people or by smaller groups over
longer time periods.

Requires

 ABSTRACTION-CREATING SKILLS - is
the process of removing physical, spatial, or
temporal details or attributes in the study of
objects or systems in order to more closely
attend to other similar interest.
 MANAGEMENT SKILLS - The process of
building abstractions aims not just to
describe something that can work but also

Вам также может понравиться