Software Requirements Engineering, functional and non functional requirements
-Requirement analysis – Requirement engineering process– Requirement engineering– software Requirement engineering – Requirement engineering specification -Software -Software engineering concept -Software engineering MCQ -Software engineering Interview Question –Software engineering question paper –free course online –past papers -final year projects for computer science with source code -semester project ideas -computer programming -computer science interview questions- tutorial –cui
Requirements Engineering
- The process of establishing the services that the customer requires from a system and the constraints under which it operates and is developed.
- The requirements themselves are the descriptions of the system services and constraints that are generated during the requirements engineering process.
Types of requirement
- User requirements
–Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers.
- System requirements
–A structured document setting out detailed descriptions of the system’s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.
User and system requirements
Functional requirements
- Describe functionality or system services.
- Depend on the type of software, expected users and the type of system where the software is used.
- Functional user requirements may be high-level statements of what the system should do.
- Functional system requirements should describe the system services in detail.
Functional requirements for the PMS
- A user shall be able to search the appointments lists for all clinics.
- The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments that day.
- Each staff member using the system shall be uniquely identified by his or her 8-digit employee number.
Non-functional requirements
- These define system properties and constraints e.g. reliability, response time, and storage requirements
- Constraints are I/O device capability, system representations, etc.
- Process requirements may also be specified mandating a particular IDE, programming language or development method.
- Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.
Metrics for specifying non-functional requirements
Property | Measure |
Speed | Processed transactions/second
User/event response time Screen refresh time |
Size | Mbytes |
Ease of use | Training time |
Reliability | Mean time to failure Probability of unavailability Availability |
Robustness | Time to restart after failure
Percentage of events causing failure |
Portability | Number of target systems |
The software requirements document
- The software requirements document is the official statement of what is required of the system developers.
- Can include both a definition of user requirements and a specification of the system requirements.
- It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it.
Users of a requirements document
The requirements elicitation and analysis process
Process activities
- Requirements discovery
–Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage.
- Requirements classification and organization
–Groups related requirements and organizes them into coherent clusters.
- Prioritization and negotiation
–Prioritizing requirements and resolving requirements conflicts.
- Requirements specification
–Requirements are documented
Requirements management
- Requirements management is the process of managing changing requirements during the requirements engineering process and system development.
- New requirements emerge as a system is being developed and after it has gone into use.
- You need to keep track of individual requirements and maintain links between dependent requirements so that you can assess the impact of requirements changes. You need to establish a formal process for making change proposals and linking these to system requirements.
Requirements management planning
- Establishes the level of requirements management detail that is required.
- Requirements management decisions:
–Requirements identification Each requirement must be uniquely identified so that it can be cross-referenced with other requirements.
–A change management process This is the set of activities that assess the impact and cost of changes.
–Tool support
Requirements change management
- Deciding if a requirements change should be accepted
–Problem analysis and change specification
- During this stage, the problem or the change proposal is analyzed to check that it is valid. This analysis is fed back to the change requestor who may respond with a more specific requirements change proposal, or decide to withdraw the request.
–Change analysis and costing
- The effect of the proposed change is assessed using traceability information and general knowledge of the system requirements. Once this analysis is completed, a decision is made whether or not to proceed with the requirements change.
–Change implementation
- The requirements document and, where necessary, the system design and implementation, are modified. Ideally, the document should be organized so that changes can be easily implemented.
#Requirementanalysis #Requirementengineeringprocess #Requirementengineering #softwareRequirementengineering #Requirementengineeringspecification #Software#Softwareengineeringconcept#SoftwareengineeringMCQ#SoftwareengineeringInterviewQuestion#Softwareengineeringquestionpaper#freecourseonline#pastpapers#finalyearprojectsforcomputersciencewithsourcecode#semesterprojectideas#computerprogramming#computerscienceinterviewquestions#tutorial–cui
#courses #pastpaper #Finalyearproject #tutorial #cui #project #programming #computer science #computersciecnemcq’s #computerscienceinterviewquestion