Sign In
Not register? Register Now!
You are here: HomeEssayTechnology
Pages:
1 page/≈275 words
Sources:
5 Sources
Level:
APA
Subject:
Technology
Type:
Essay
Language:
English (U.S.)
Document:
MS Word
Date:
Total cost:
$ 5.4
Topic:

Software Engineering Body of Knowledge (Essay Sample)

Instructions:

The instructions were to write about the functional and non-functional requirements in the software development lifecycle

source..
Content:

Title of Paper
Author(s)
Date
Supervisor
(Study Program)
Introduction
Software engineering involves the methodical and disciplined approach to developing software products (Lehman, n.d.). Software Engineering develops and maintains reliable software systems that exhibit several features. Such features include; affordability, completeness, scalability, portability, integration, and dependability. The interpretation is that such systems must satisfy all user requirements as defined by the users. Such characteristics are important in meeting the organization’s objectives. The result of software engineering, therefore, is an efficient and reliable software system.
The precise definition of functional and non-functional requirements forms one of the main sections in the software development lifecycle that presents a challenge to developers. Definition of such requirements is essential for meeting both business and system performance objectives. Software requirements detail the main functions that the system must aim to fulfill. They represent the user’s expectations of the real-world system features (Mishra and Mohanty, 2012). Usability is the main feature of any software system under development that demonstrates the system as understandable and usable to the users under specified conditions. Challenges encountered in the different phases of the software development cycle, if not properly managed, may lead to poor usability in software systems a feature that significantly contributes to software failure.
Types of Requirements in Software development
Requirements form the basic functionalities that any system under development must satisfy in order for it to be a success. The two main types of requirements in software development include:
* User requirements: these describe the services provided by the system including the operational restrictions.
* System requirements: These describe in detail the main areas of implementation in a system development process. Such descriptions provide information regarding the systems functions and operational constraints.
The requirements have further classifications as functional, non-functional and domain requirements. Functional requirements detail the services performed by the system. They are reliant on users, nature of the software under development, and the supporting system platform. Non-functional requirements, on the other hand, detail the properties and constraints of the system such as; response time and storage requirements. Domain requirements define the system characteristics and features that reflect the domain. Such classifications usually pose a challenge to the developers. The developers must strive to maintain proper accounts of completeness and consistency issues. In the real sense, it’s hard to come up with a requirements document that is full complete and consistent. Such creates ambiguity causing different interpretations by the developers. Failure to meet the non-functional requirements also renders the system inadequate. On the other hand, failure to satisfy the domain requirements makes the system unworkable. It is imperative; therefore, that the developers pay attention to the requirements phase of the systems development life cycle (Poza, Kovacic and Keating, n.d.).
Defining Software Requirements
The process software requirements definition constitutes the following necessary steps:
* Elicitation: Elicitation is the first step in any software development process. At this stage, the client approaches a developer with certain requirements regarding a software product. At this point, the developer initiates the requirement engineering process that starts with conducting a feasibility study. The study aims to establish whether the development process should kick off or not depending on the client’s requirements. The developer takes into consideration different aspects of feasibility of the project such as; implementation, cost constraints, and the system objectives. Implementation entails technical aspects such as usability, maintenance, and integration with other systems. A feasibility study report indicates whether to commence the development process or drop the project altogether. If the outcome of the feasibility report is positive, the developer moves on to the next process (Haskins, 2011).
* Analysis: Analysis is the step that follows after a project passes the elicitation stage of requirements phase. The process involves a comprehensive understanding of each requirement thus formulating harmonized ways of representing such requirements.
* Specification: Software requirement specifications clearly demonstrate the ways in which the system should interact with different entities. Such include; compatibility with different hardware, portability across different operating systems platforms, system response time, maintenance, integration with other systems, etc. (Haskins, 2011). In order to define such metrics, the developer must consolidate requirements from different stakeholders who are to form part and parcel of the system operators. Specification, therefore, in this case, must involve proper organization of the requirements in an effort to facilitate proper co...
Get the Whole Paper!
Not exactly what you need?
Do you need a custom essay? Order right now:

Other Topics:

  • The Technology of Electrical Engine Used in Airplanes
    Description: The technological advancements in the field of clean technology have significantly influenced the advancement of the use of electric motors with the aim of converting electrical energy into mechanical energy. This has in turn influenced significant advancements in the research on electric aircrafts, which ...
    2 pages/≈550 words| 1 Source | APA | Technology | Essay |
  • Electric Engines in Aircrafts Essay #2
    Description: The existing technology on the use of electric engines on aircrafts encompasses the usage of solar power, fuel cell and batteries to provide electric power for powering the electric engines...
    2 pages/≈550 words| 1 Source | APA | Technology | Essay |
  • Distance-Vector and Link-State Routing Protocols
    Description: Distance is the cost of attaining a destination built in a number of paths followed by the host. According to Campista & Rubinstein...
    1 page/≈275 words| No Sources | APA | Technology | Essay |
Need a Custom Essay Written?
First time 15% Discount!