Imp questions: Imp questions
1.)
The Spiral model:
• It’s a hybrid model that couples the iterative nature of prototyping model and controlled and
systematic aspect of waterfall model.
• It provides potential for rapid development of more complex versions of software. It is a part
evolutionary model.
• A spiral model is divided into a set of framework activities. Each framework activity represents one
segment of the spiral path.
As this process begins, the software team performs activities that are implied by a circuit around the
spiral in a clockwise direction, beginning at the center.
Anchor path milestones – a combination of work products and conditions are attained along
the path of spiral.
The positives and negatives of Spiral model
Positives are:
The spiral model is a realistic approach to the development of large- complex systems.
It helps developer to understand and react to the risks at each evolutionary levels.
It sees prototype as one of risk reducing mechanism, and it enable the developer to use
prototyping approach at every evolutionary levels.
Problems are: It is very difficult to convince a customer (particularly in contract situations) that the model
is controllable.
• It demands risk assessment expertise and relies on this expertise on success. If a major risk is
uncovered, problems will occur.
2).
The RAD Model:
It is an incremental process model that emphasizes a short development cycle.
It is a high speed adoption of the waterfall model, in which rapid software development is
achieved by using a component based development.
If customer requirements are full understood and project scope is constrained, the RAD process
enables a development team to create a “fully functional system” within a very short period of
time. (Ex:- 60 to 90 days)
Like other process models, RAD model maps into process framework activities.
1. Communication & Planning: helps to understand business problem
and information characteristics that the software must accommodate.
2. Modeling: It encompasses three major phases:
1. Business modeling
2. Data modeling
3. Process modeling
3. Construction: emphasizes the use of pre-developed software components and automatic code
generation.
4. Deployment: initiates subsequent iteration.
Drawbacks of RAD Model
For large and scalable projects (continuous development) RAD model requires more human
resources to create more number of teams.
If developers and customers are not committed to the rapid-activities that are necessary to
complete the system within a short-time, the entire system will fail.
If a system cannot be properly modularized, the RAD will be problematic.
RAD may not be suitable if technical risks are high.
If performance is an issue, and high performance can be achieved through tuning the interfaces
among components, the RAD is useless.
Requirements analysis is very critical process that enables the success of a system or software project to be assessed. Requirements are generally split into two types: Functional and Non-functional requirements.
4).
Functional Requirements: These are the requirements that the end user specifically demands as basic facilities that the system should offer. All these functionalities need to be necessarily incorporated into the system as a part of the contract. These are represented or stated in the form of input to be given to the system, the operation performed and the output expected. They are basically the requirements stated by the user which one can see directly in the final product, unlike the non-functional requirements.
Non-functional requirements: These are basically the quality constraints that the system must satisfy according to the project contract. The priority or extent to which these factors are implemented varies from one project to other. They are also called non-behavioral requirements.
They basically deal with issues like:
- Portability
- Security
- Maintainability
- Reliability
- Scalability
- Performance
- Reusability
- Flexibility
Following are the differences between Functional and Non Functional Requirements
Functional Requirements Non Functional Requirements A functional requirement defines a system or its component. A non-functional requirement defines the quality attribute of a software system. It specifies “What should the software system do?” It places constraints on “How should the software system fulfill the functional requirements?” Functional requirement is specified by User. Non-functional requirement is specified by technical peoples e.g. Architect, Technical leaders and software developers. It is mandatory. It is not mandatory.
5).What is legacy software?
Legacy software is software that has been around a long time and still fulfills a business need. It is mission critical and tied to a particular version of an operating system or hardware model (vendor lock-in) that has gone end-of-life. Generally the lifespan of the hardware is shorter than that of the software. As time goes on, the hardware gets harder to maintain but is kept because it is installed and (for now) working and has proven too complex and/or expensive to replace
6).
The fundamental activities of a software process are:
- Specification
- Design and Implementation
- Validation
- Evolution
COMMUNICATION PRINCIPLE :
Principle #2: Prepare before you communicate.
Principle #3: Someone should facilitate the activity.
.
Principle #4: Face–to-face communication is best.
Principle #5: Take notes and documentation decisions:
Principle #6: Stay focused, modularize your discussion.
Principle #7: If something is unclear, draw a picture.
Principle #8: (a) Once you agree to something, move on; (b) If you can’t agree to something, move on; (c) If a feature or function is unclear and cannot be clarified at the moment move on.
Principle #9: Negotiation is not a contest or a game. It works best when both parties win.
What Use Cases Do 1. They hold Functional Requirements in an easy to read and tracking format. 2. They represent the goal of an interaction between an actor and the system. 3. They are multi-level, one use case can use/extent the functionality of another. What Use Cases Do Not Do 1. They don't specify user interface design. They specify the intent, not the action Detail. 2. They don't specify implementation detail. Definitions 1. Actor: An actor is something with behavior, such as a person, computer system, or organization. 2. Scenario: A scenario is a specific sequence of actions and interactions between actors and the system under discussion; it is also called a use case instance 9. 10)Design guidelines are sets of recommendations on how to apply design principles to provide a positive user experience. Designers use such guidelines to judge how to adopt principles such as intuitiveness, learnability, efficiency and consistency so they can create compelling designs and meet and exceed user needs. 1 2. 3 Style - e.g., brand logos, colors Layout - e.g., grid or list structure User interface (Ul) components - e.g., menus, buttons 4 5 Text - e.g., font, tone, labels/fields Accessibility - e.g., Aria markup for disabled users 6. Design Patterns - e.g., forms |