L06 - Design and Development of Information System Flashcards
Operational Feasibility
How well the proposed system will support the business priorities of the organization, solve the identified problem and fit with the existing organizational structure.
Economic Feasibility
Assessment if cost savings, increased revenue, decreased investment requirements, increased profits and a cost/ benefit analysis.
Technical Feasibility
Can Hardware, Software and the Network meet the needs of a proposed system and can be acquired or developed in the required time?
Legal/ Political Fesaibility
Assessment of possible patent or copyright violations, violations of antitrust laws, foreign trade restrictions, any existing contractual obligation and changes to existing reporting and power structures.
Types of User Interfaces
- Command-line user interfaces
- Graphical user interfaces
- Speech-based user interfaces
- Gestural user interfaces
The trend is towards development of multi-modal interfaces. The Impact of a badly designed interface can be tremendous (e.g. false missile alert S.13). A successful user interface creatively balances the task, the context and the user in connection with business goals and technology.
Phases of the Interaction Design Lifecycle Model
- Identify needs/ establish requirements: Identify what the user of the system need and establish and document the according requirements
- Design: Translate the requirements into appropriate models and create alternative designs.
- Build an Interactive version: Develop interactive (and therefore evaluable) versions of the different designs.
- Evaluate: Check if the interactive version fulfills the requirements established in phase 1 and ideally evaluate interactive versions with actual users.
The Importance of Prototyping
Prototyping is the rapid development and testing of working models. It is an interactive, iterative process used during the design phase. It makes the development faster and easier when end-users are hard to define and enlarges the role of business stakeholders.
User-Centered Design (UCD)
UCD is a universally applicable process to develop usable systems and is a design approach that grounds the process in information about the people who will use the product. It is based on the principles for the design of useful and easy to use computer systems (early focus on users and tasks)
Participant Observation and Fieldwork
Provides valuable insights, specially where the workflow is rich in action and interaction.
- It can happen anywhere and anytime
- Involves an extended period of engagement
- Engage in informal conversations with people
- Hear the unofficial story
- Observe what people actually do
Elicitation Workshops
Bring together all stakeholders in one room, through a series of intense but focused interactions, attempt to get consensus on the requirements.
Scenarios
Scenarios are informal, narrative descriptions of a user´s tasks along with the respective context and the user´s needs. Focus on people´s activities rather than on specific interactions. A scenario tells a story describing the workflow of using a future solution.
Structured Approach: Waterfall
Analysis > Design > Coding > Testing > Implementation
It is an phased approach in a sequential fashion.
- Analysis: Study, understand and specify the system requirements
- Design: Study, understand and design the system architecture
- Testing: Integrate modules and the increasingly large system
- Implementation: implement the systems and maintain its various components
It failed e.g. with FoxMeyer as the system wasn´t good but was still implemented which lead to bankruptcy.
Advantages and Disadvantages of the Waterfall Approach
Advantages
- Clear sequence of specific tasks
- Complete, well-defined products
- Easy to manage process model
Disadvantages
- Inflexible portioning into stages
- Insensitive to changing requirements
- High-risk due to “big-bank” integration
Agile Methods
They focus on the code rather than the design and are based on an iterative approach to software development. They are intended to deliver working software quickly. They evolve small pieces of quickly delivered software to meet changing requirements.
Agile Approach
The most common reasons for adopting agile are to accelerate time to market, increase productivity and easily manage changing priorities.
It focuses on new paradigms in software engineering: Rapid development, frequent releases, reducing process overheads and producing high-quality codes.
The involve the costumer directly in the development process.