Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Vision...................................................................................................................................................2
Scope....................................................................................................................................................2
Glossary................................................................................................................................................3
Detailed Software Requirements..........................................................................................................3
Components.....................................................................................................................................3
Use Case Descriptions.....................................................................................................................4
Functional Capabilities....................................................................................................................8
Business Rules / Validations............................................................................................................8
Security Requirements.....................................................................................................................8
User Management and Authentication:.......................................................................................8
User roles and access control:.....................................................................................................8
Non-functional requirements...........................................................................................................8
Environment.........................................................................................................................................9
Implementation Architecture...........................................................................................................9
Program Structure:......................................................................................................................9
Development tool set for code development:...........................................................................10
Other APIs, web services if any:...............................................................................................10
Deployment deliverables and process:......................................................................................10
User Interface.................................................................................................................................11
Connectivity requirements.............................................................................................................11
Portability (devices / platforms / browsers to be supported).........................................................11
Mobile application characteristics.................................................................................................11
Design.................................................................................................................................................12
Conceptual Structure......................................................................................................................12
Logical and Physical Structure......................................................................................................13
Technology Notes...............................................................................................................................15
Vision
Scope
Example:
The students of a college or University can give feedback about a particular course or class. The
application will provide a feedback form for the students with some options so that students can
select an option and send it to the server. The consolidated results can be viewed by the lecturer of
the class or the college management later. The feedback needs to be anonymous. The application
requires a mechanism to authenticate the student and the teacher.
Requirements List:
Requirement Id Description
R1 The user should be able to provide a Company of his interest and
his Budget.
R2 The user should be able to select among the given features.
R3 He should be able to identify a car of his choice.
Actors:
Component Diagram:
Use Case Descriptions
<< The detailed descriptions of the use cases in two-column format (user action and system response) with
the following columns: Use Case Id, Use case name, Actors, Goal, Description, Interface Devices,
Operational Flow, Preconditions and Post conditions >>
{
Use Case Definitions:
A way to model how user interacts with a system
A story about some way of using a system to do something useful
Use case defines a goal-oriented set of interactions between external actors and the
system under consideration
A use case is a description of a valuable end-to-end service provided by a system to a
primary actor
The purpose of a use case is to result in some sort of value to the actor
Use case ids can begin with 'UC' and concatenated with a serial number
Use case names should reflect the goal of the primary actor and should start with a verb (e.g.
'View Feedback Report' is preferred to 'Feedback Report').
}
Example:
User selects a course from the list. An option to select feedback about
either the selected course or a
particular lecture of that course is
given to the user.
User selects one option. The feedback results are shown for
all items in a scrollable (as needed)
manner. After viewing the complete
results, an option to select another
course or to quit the application is
given.
User selects a course from the list or The list of teachers for that course is
all courses. shown with an option to select a
teacher or all.
User selects a teacher or all The feedback results are shown for
teachers option. all items in a scrollable (as needed)
manner. After viewing the complete
results, an option to select another
course or to quit the application is
given.
Functional Capabilities
<< Generic requirements across multiple needs / features / use cases (e.g. identification of the student
should be anonymous) and / or specific actions (e.g. sending e-mail) or capabilities of the system in given
situations >>
Example:
The feedback providers' identities are anonymous.
E-mail should be sent to HR for any vacation approvals or cancellations.
The leave records should be automatically updated and only after a leave request is
approved.
Example:
An employee cannot work in more than one department at the same time.
Only the principal can approve vacation over and above the eligibility.
Only the HOD can cancel vacation after it is approved.
Security Requirements
<< Capabilities that generally refer to the ability to prevent / forbid the access to the unauthorized parties
and control access to the application for authenticated users. Also includes mechanisms to manage the users
of the system (if they are not covered under specific use cases) >>
Example:
The telephone number of the user should be the identification for the user.
The user id should be the same as the network id of the user.
User roles and access control:
Example:
Only authorized payroll personnel will be allowed to access the salary information.
The system has to authenticate a user, determine whether he is a student or teacher or
management.
Different user work with different applications (even though the database is shared), hence
the concept of roles is not needed here.
Non-functional requirements
<<
Usability, Reliability, Performance and Supportability requirements, standards
Usability refers to the ease with which the system can be used or learned.
Reliability typically refers to availability, mean time between failures, and predictability of
behavior in abnormal conditions.
Performance refers to response time, transaction throughput and capacity / load.
Supportability refers to ability to support or be easily modified or maintained to accommodate
usage or change scenarios.
>>
Example:
There should be no text input. (Usability)
The application should support the case of intermittent network connectivity i.e. the student
should be able to submit the feedback form in multiple sessions (one or more responses at a
time). (Reliability and Supportability)
The application should support interruptions for regular mobile device tasks i.e. receiving a
call or a message. (Supportability)
The form should load within 2 seconds. (Performance)
Flexible service based architecture will be highly desirable for future extension
(Supportability)
The system should be available 24 X 7. (Reliability/ availability)
Downtime should be less than 1%. (Reliability/ availability)
Environment
Implementation Architecture
Program Structure:
<< e.g. 3-tier, servlets, database, database access programs like PL/SQL, web services and architecture
diagram showing different tiers / layers including any web services >>
Example:
The controller which is a servlet/JSP receives the request from the client (the web
browser) and communicates with the application logic and data layers according to the
request. The servlet/JSP retrieves the key areas, quality indicators, themes, questions
from the XML repository using Xalan parser. The parser gives the html output. The
servlet retrieves the ratings for quality indicators, themes, questions from the database.
These ratings are embedded in to the html output generated by the parser using
javascript. In situations where the application logic is complex, the servlet hands over
the request to the application layer which generates intermediatory XML from the XML
repository and this XML will be used by the servlet/JSP.
Symbian / C++
OR
J2ME, NetBeans 6.5, GlassFish
<< Any third party APIs or web services or pre-developed libraries / servlets etc.>>
Example:
Yahoo Astrology, Google weather, Google maps
<< Description of how the final application will be delivered e.g. installer, compressed file, app code plus
database code, etc.) and how it will be expected to be installed >>
{
This is not a detailed installation guide, but a brief notes on what will be the deliverables and on the process
of installing e.g. porting the application from a computer on to a mobile device or installing on a web server
for a web application
}
Example:
User Interface
<< Guidelines about the characteristics of the user interface depending on the form factor i.e. Web or
mobile or client/server etc. and any additional considerations >>
Example:
The user interface should be intuitive, clean and efficient and should require minimum
amount of data entry.
The user interface should be consistent across different screens of a Feedback form and
across different Feedback forms.
The user interface should be consistent across different device types and multiple platforms.
Connectivity requirements
<< Self-explanatory >>
Example:
GPRS connectivity is needed for authorization and uploading results.
Wi-Fi / Blootooth connectivity also should be supported if the student is in the campus
or very close to the server.
Moderate speed Internet Connection for web user.
Platforms:
In case of Symbian, .....
In case of J2ME, ....
>>
>>
Example:
Bandwidth – Moderate speed
Battery - ????
Processing Power - ????
Screen Size - ????
Memory - ????
>>
Example:
Hands-free required? - No
Patience level : Low to very low
Text input? - Should be eliminated
Example:
Application needs to be tested on the actual device.
Design
Conceptual Structure
<< A digram showing the functional / technical components (including third party components / services
and their relationships and where each component resides (i.e. installed) in the final deployed application
>>
Authentication
Module
Results
Store
SERVER
Feedback
Form
<<Class diagram:>>
Data Dictionary:
User:
Column Name Remarks
Mobile Number Used as user id (<<is it technically
feasible?>>)
Passwd No encryption
User Type Student / Teacher / Management (S/T/M)
Teacher
Column Name Remarks
Id
Name
Department
Other details
Student
Column Name Remarks
Id
Name
Department
Other details
Course
Column Name Remarks
Id
Name
Department
Other details
TeacherCourse
Column Name Remarks
TeacherCourseId
TeacherId
CourseId
Other details
StudentCourse
Column Name Remarks
StudentId
TeacherCourseId
Other details
FeedbackForm
Column Name Remarks
SerialNo
Question
FeedbackResultForCourse
Column Name Remarks
TeacherCourseId
QuestionSerialNo
CumulativeScore
FeedbackResultForLecture
Column Name Remarks
TeacherCourseId
LectureDate
QuestionSerialNo
CumulativeScore
Technology Notes
<< 10-12 page notes about the technology e.g. Symbian or J2ME and /or Java / Servlets etc.>>