Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
tasks that go into determining the needs or conditions to meet for a new or altered product,
taking account of the possibly conflictingrequirements of the various stakeholders, such as
beneficiaries or users.
Eliciting requirements: the task of communicating with customers and users to determine
what their requirements are. This is sometimes also called requirements gathering.
Analysts can employ several techniques to elicit the requirements from the customer.
Historically, this has included such things as holding interviews, or holding focus
groups (more aptly named in this context as requirements workshops) and creating
requirements lists
Where necessary, the analyst will employ a combination of these methods to establish the
exact requirements of the stakeholders, so that a system that meets the business needs is
produced.
Requirements engineering
Systematic requirements analysis is also known as requirements engineering.
Requirements elicitation,
Requirements analysis and negotiation,
Requirements specification,
System modeling,
Requirements validation,
Requirements management.
Functional requirement
From Wikipedia, the free encyclopedia
The plan for implementingfunctional requirements is detailed in the system design. The plan for
implementing non-functional requirements is detailed in the system architecture.
In some cases a requirements analyst generates use cases after gathering and validating a set
of functional requirements.
The hierarchy of functional requirements is: user/stakeholder request -> feature -> use case ->
business rule.
A typical functional requirement will contain a unique name and number, a brief summary, and a
rationale. This information is used to help the reader understand why the requirement is
needed, and to track the requirement through the development of the system.
the crux of the requirement is the description of the required behavior, which must be clear
and readable. The described behavior may come from organizational or business rules, or it
may be discovered through elicitation sessions with users, stakeholders, and other experts
within the organization.
Non-functional requiremen
(Insystems engineering and requirements engineering, a non-functional requirement is
a requirement that specifies criteria that can be used to judge the operation of a system,
rather than specific behaviors.
Knowledge areas
The business analysis body of knowledge defines 6 knowledge areas, which group together
related sets of tasks and techniques. Each of these tasks and techniques describes the typical
knowledge, skills, processes, and deliverables that the business analyst requires to be able to
perform those tasks competently.
While a flow of tasks and processes is suggested by these knowledge areas, the BABOK is
deliberately not setting out a prescribed methodology. Indeed, version 2.0 has separated
techniques from the knowledge area tasks, into a new section.
Business analysis planning and monitoring
how business analysts plan the tasks and activities for business analysis.
1. It covers stakeholder analysis,
2. selecting an approach to managing issues, risks and requirements;
3. deciding how to monitor and report on requirements activities; and
4. negotiating how to manage change on a project.
Elicitation
how business analysts work with stakeholders to help them understand their
requirements within the scope of a project. It covers eliciting
requirements; brainstorming; analysing documents; running focus groups; analysing
system interfaces; interviewing; observing; prototyping; facilitating
requirements workshops; reverse engineering existing systems; and collecting input
via surveys and questionnaires.
Requirements management and communication
how business analysts ensure that the project team and stakeholders stay in agreement
on project scope. It covers communicating requirements; resolving conflicts;
gaining formal approval; baselining and tracking requirements through to
implementation.
Enterprise analysis
how business analysts take a business need: define that need; identify gaps in current
capabilities that stop that need being met; then if change is required, to propose an
approach and scope for finding a solution and building the case to justify the work. It
explores assessing business architecture; undertaking capability gap analysis; feasibility
studies; defining the solution scope; and developing a business case.
Requirements analysis
how business analysts work with the whole project team towards defining a solution that
should meet the agreed requirements. It covers documenting and
analysing business,stakeholder, functional, and non-functional (quality of service)
requirements; modelling the business domain using process diagrams, flowcharts, data
models; exploring behaviour models using use case, user experience
design, storyboards, wireframes, user profiles and user stories; and finally verifying and
validating requirements.
Solution assessment and validation
how business analysts assess proposed solutions to help the stakeholders select the
solution which best fits their requirements, and once selected how the business should
prove that the solution meets those requirements and ultimately whether the project has
met its objectives. It covers evaluating alternate solutions, quality assurance
processes, supportthrough implementation, and post-implementation reviews.
Underlying competencies
covers the leadership, problem solving, and communication skills; business and
technical knowledge that support effective business analysis.
Techniques
defines a range of specific skills, methods, and tools that enable the business analysis
tasks in the six knowledge areas - there are 34 techniques listed in
the Techniques section, with a further 15 defined within the knowledge areas.
Requirement elicitation :
Requirements elicitation is non-trivial because you can never be sure you get all requirements
from the user and customer by just asking them what the system should do. Requirements
elicitation practices include interviews, questionnaires, user observation, workshops,
brain storming, use cases, role playing and prototyping.
Verification Phases
[edit]Requirements analysis
In the Requirements analysis phase, the requirements of the proposed system are collected by
analyzing the needs of the user(s). This phase is concerned about establishing what the ideal
system has to perform. However it does not determine how the software will be designed or
built. Usually, the users are interviewed and a document called the user requirements
document is generated.
The user requirements document will typically describe the system’s functional, physical,
interface, performance, data, security requirements etc as expected by the user. It is one which
the business analysts use to communicate their understanding of the system back to the users.
The users carefully review this document as this document would serve as the guideline for the
system designers in the system design phase. The user acceptance tests are designed in this
phase. See also Functional requirements. this is parallel processing
[edit]System Design
Systems design is the phase where system engineers analyze and understand the business of
the proposed system by studying the user requirements document. They figure out possibilities
and techniques by which the user requirements can be implemented. If any of the requirements
are not feasible, the user is informed of the issue. A resolution is found and the user
requirement document is edited accordingly.
The software specification document which serves as a blueprint for the development phase
is generated. This document contains the general system organization, menu
structures, data structures etc. It may also hold example business scenarios, sample
windows, reports for the better understanding. Other technical documentation like entity
diagrams, data dictionary will also be produced in this phase. The documents for system testing
are prepared in this phase.
[edit]Architecture Design
The phase of the design of computer architecture and software architecture can also be referred
to as high-level design. The baseline in selecting the architecture is that it should realize all
which typically consists of the list of modules, brief functionality of each module,
their interface relationships, dependencies, database tables, architecture diagrams, technology
details etc. The integration testing design is carried out in the particular phase.
[edit]Module Design
The module design phase can also be referred to as low-level design. The designed system is
broken up into smaller units or modules and each of them is explained so that the programmer
can start coding directly. The low level design document or program specifications will contain a
detailed functional logic of the module, in pseudocode:
database tables, with all elements, including their type and size
V model
Use Case. A use case defines a goal-oriented set of interactions between external actors and the system under
consideration.
That is, use cases capture who (actors) does what (interactions) with the system, for what purpose
(goal). A complete set of use cases specifies all the different ways to use the system, and thus defines all
behavior required of the system--without dealing with the internal structure of the system.
Requirements for the requirements
JAD SESSION
JAD (Joint Application Development) is a methodology that involves the client or end user in the
design and development of an application, through a succession of collaborative workshops
called JAD sessions.
Well, I have been working as ba for last 4 years, so for me my past experience is my
biggest strength, moreover that I have a mixing of functional and technical knowledge,
That help me to communicate effectively between users and development team,
Quick learning capability, and adaptability of the work environment as desired,
The black box testing is the type of testing whereby the entire unit is tested as whole
without considering contents or even how the inner components of the units work under
test work. The testers only consideration is to enter a known input signal and check
whether the output behavior is one expected or not.
What is SDLC
Sdlc is stand for software development life cycle, is the process to develop the new
system or software, it comprises different phases, like planning, requirement capturing,
design, coding, testing, release and maintainance
In planning phase feasibility study is conducted and determine the scope of the project
to be success.
Requirement capturing, main functional area of the business analyst, where he capture
the business requirements by interviewing the stakeholders, users, consumers, research
and analysis of the current working system.
Design phase architecture make the design by using the uml methodology, and figure
out the possibilities and technique by which the users requirements is implemented, and
if any requirements is unfeasible, they informed the business analyst, and resolutions is
found and informed to ba and user requirements documents is edited accordingly,
The software specification documents which serve as a blue print for the development
phase which is generated. This documents contain the general system organization,
menu structure, data structure, etc. the documents for the system testing is done in this
phase.
Coding phase, developer coding the system by using the software specification
documents, and system is developed
Testing phase, this is the process to test the correctness, completeness and quality of
the software that has been developed, it include the set of the activities to find out the
error , that could be corrected before it release to users
Good requirements start with the context of the business and its processes and
address what the business is trying to achieve, rather than focusing on how the
goals will be accomplished.
Requirement specification
• Easily misunderstood
• Too large to comprehend
• Hard to test for completeness
• Provide no context
What is actor
What is a UML Use Case Diagram (UCD), and when should I use it?
UML Use Case Diagrams can be used to describe the functionality of
a system in a horizontal way. That is, rather than merely
representing the details of individual features of your system, UCDs
can be used to show all of its available functionality. It is important
to note, though, that UCDs are fundamentally different from
sequence diagrams or flow charts because they do not make any
attempt to represent the order or number of times that the systems
actions and sub-actions should be executed. There are a number of
graphical examples in this FAQ; you might want to look over them to
familiarize yourself with the look of them.
UCDs have only 4 major elements: The actors that the system you
are describing interacts with, the system itself, the use cases, or
services, that the system knows how to perform, and the lines that
represent relationships between these elements.
Back to top
Back to top
Back to top
Back to top
How is a UML Use Case Diagram different from a traditional flow chart?
As mentioned above, UCDs represent functionality in a top-down
way, whereas flow charts represent behavior in a linear, time-based
way. Also, the way you develop them is all-together different.
- "X uses Y" indicates that the task "X" has a subtask "Y"; that is, in
the process of completing task "X", task "Y" will be completed at
least once.
- "X extends Y" indecates that "X" is a task fo the same type as "Y",
but "X" is a special, more specific case of doing "Y". That is, doing X
is a lot like doing Y, but X has a few extra processes to it that go
above and beyond the things that must be done in order to
complete Y.