Determine technical requirements Reading notes Identify technical requirements Identifying technical requirements involves assessing the business problem (including input/output requirements, interface requirements, process requirements) developing a business solution investigating products and documenting results. Assess the business problem To assess a problem or an opportunity faced by a business, it is necessary to look at the technical requirements of the business. These fall into three general categories: input/output requirements interface requirements process requirements. Once the technical requirements have been identified, it is possible to develop a solution such as software or hardware upgrade, network installation, inventory management or an ecommerce solution. At this stage, the solution will include an investigation into suitable products. Finally, the recommendations will need to be measured against the technical requirements and documented. The following figure illustrates the relationship between the systems within a business and the data flow between the systems. Automation of processes Computers and applications are commonly used to automate stable repetitive tasks. In the past, the focus was to automate internal Figure 1: Business systems and data flow relationships processes, and this remains a priority today. However, many organisations that are satisfied with the automation of internal processes are now shifting their focus to automating processes which integrate interaction with their suppliers and customers. Supply chain management Supply chain management covers a broad spectrum of business activities including contractual arrangements, service level agreements, relationship development, disclosure of information, and more. Our interest is to identify the technical requirements for the computer-based interaction. Two common interfacing methods are EDI (electronic data interchange) and XML (extendable mark-up language). Interacting with customers Organisations are actively pursuing methods of automating procedures for communicating with customers. Two of the main types of automation are interfacing with external computer systems (B2B) enabling customer self-service over the Internet (B2C). Interfacing with external computer systems Interfacing with external computer systems means you are accessing a computer outside of your organisation. In a business-to-business (B2B) environment you may need to consider the following: DetermineTechReq.docx © State of NSWs, DET 1 Determine technical requirements in a sales system: there is a need to provide data (price, availability, invoice number, etc.) to the buyer's computer system. in a purchasing system: there is a need to provide data (order number, product identification, quantity, delivery address, etc.) to the seller's computer system. if the system requires data from third parties: such as credit-check information or authentication of users, you need to consider the data that must be provided and what data will be returned. The other side of interfacing with customers' systems is interfacing with suppliers' systems. The organisation's position within the supply chain determines whether it is a customer or a supplier. Enabling self-service over the Internet Figure 2: Business-to-business environment Enabling self-service over the Internet means you are enabling customers to negotiate and search your website for information. More advanced self-service involves enabling the customer to enter data to automate or trigger a business process. In a business-to-consumer (B2C) environment you may need to consider the following: if the system supplies information: what information should be displayed on screen? How should the customer interact with the system? if the system is an e-commerce solution: you will need to consider the technical requirements of a payment gateway for a financial institution. if the system deals with confidential or personal information: you may need to consider passwords and encryption. An ideal example of self-service is an e-commerce transaction where the customer selects a product, then provides their delivery address and credit card details to enable the transaction. Figure 3: Business-to-consumer environment Table 1: Identifying technical requirements for input/output The stages involved in identifying technical requirements for input/output: Identify the interaction process (whether for business to business or business to consumer). Identify the trigger/s that begins the interaction. Identify the input/output data required for the process. Identify relevant protocols for the data exchange. Document the input and output requirements for the interaction DetermineTechReq.docx © State of NSWs, DET 2 Determine technical requirements Interface requirements Many systems need to provide data for other business systems or for users. For example: if the system is a sales system it may need to source or provide data to the inventory or accounting systems. if the system is to be used by remote workers you may need to provide dial-up access or enable WAP. if the system is a web-based e-commerce solution you may need to interface with backend sales systems. if the system is a network you may need to connect a number of LANs. Interfacing with computer systems Many computer-based systems require data from other Figure 4: Example of e-commerce self-service systems and/or provide data to another system. Consider an e-commerce solution. Customers want to know if products are in stock, so the ecommerce solution may need to interface with the backend inventory system to enable the identification of product availability. In addition, the e-commerce solution will capture data regarding customer transactions; this information is required for accounting and sales systems. The methods of interfacing with backend systems vary depending on the desired level of automation and control. Interface methods Four possible levels of interface are provided here. The examples are not fully comprehensive; that is, other interface options exist. 1. Data from one system is printed and re-keyed into another system. This method has inherent risks of errors and fraud and is labour intensive and costly. This method is not recommended! 2. Data from one system is manually uploaded/downloaded from one system to another. This method reduces the risk of typing errors and reduces the risk of fraud, but if data is not uploaded/downloaded in a regular and timely manner, there may be risks of inaccuracy in the backend systems. 3. Data from one system is uploaded/downloaded in automated batch processing. This method reduces errors and fraud; however, there are still risks of data inaccuracy in the backend systems between the batch uploads/downloads. The duration between batch processings may be specified from minutes to overnight to weekly. The greater the frequency of batch processing, the lower the risk of data inaccuracy, but there will also be an increase in network traffic and CPU usage. 4. Data from one system is seamlessly interfaced with another system. In this situation a shared database may be used or systems are dynamically connected. This method reduces the risk of errors associated with data inaccuracy but increases the risk of hacking into backend systems. In addition, there may be less control over inappropriate data transfers. The technical requirements for each of the interface systems above are significantly different. Interfaces for internal users Staff within the organisation may need to access information or enter data into the system. You need to consider the display requirements and the data capture requirements for internal users. Typically, the interface required for internal users is an on-screen display or report, such as data entry in a sales or accounting system an order screen for a purchasing officer sales reports for a sales manager. DetermineTechReq.docx © State of NSWs, DET 3 Determine technical requirements When assessing technical requirements for interfacing with internal users, you need to consider exactly what data needs to be captured, and you also need to consider any protocols that may be appropriate. For example: is an encryption system required? will there be a password field that shouldn't display clear text? which job roles should have access to reports and data entry screens? There may be other interface-related requirements specified by the client such as screen colour and type of navigation. Table 2: Identifying interface requirements The stages involved in identifying the interface requirements: Identify the sources of required data. Identify the data items and data structures required for the exchange. Consider alternatives or select methods of data exchange. Identify relevant protocols for the data exchange. Document or reference the technical requirements for data exchange including the source, data items, data structures, timing, method and protocols. Process requirements Most computer-based systems perform some automated procedures or processes; even the simplest website enables a visitor to navigate around the site to find information. More complex websites authenticate visitors and may automate transactions through e-commerce. Technical requirements for system procedures and processes identify the non-functional specifications of the proposed system itself. The non-functional requirements can include the following: performance or speed of the system quality environmental requirements or business rules size ease of use reliability robustness portability. Here are some examples: If the system is a sales system technical requirements may address the number of transactions per minute. If the system is a website the technical requirements may address the page display speed, compatibility with browsers and hardware platforms. If the system is a database-centred system the technical requirements may address the constructs of the database, number of records or processing time. If the system is an inventory control system the technical requirements may address the ability to set the alarm levels for high and low stocks. If the system is a network the technical requirements may address download or response times, application access, redundancy procedures, disk access speeds, number of users, etc. In addition, technical requirements for system procedures and processes may address the application architecture, development environment or network topology and protocols. DetermineTechReq.docx © State of NSWs, DET 4 Determine technical requirements System requirements To date we have discussed the technical requirements for transferring data to and from external suppliers, external customers and internal systems. This section discusses the technical requirements for the system itself. The technical requirements for the system will influence the design and construction of the system. You need to have some idea of the technology to be used in the solution before defining the technical requirements for the system. The technical requirements for the proposed system describe what the system will do and how it will do it. Technical requirements for the proposed system should be high level - that is, the requirements or specifications may constrain the design but they should not determine the design. Environmental requirements Technical requirements for the system may describe the environment of the proposed system (eg operating system or network infrastructure). The environment may be specified by the client or sponsor, or it may be left undetermined. Often the client will specify an environment in order to standardise their computing infrastructure. You may need to locate and read the client's IT infrastructure policy. Environmental requirements may constrain the solution. In addition, the environmental requirements may determine the skill set of project team members. The extent of environmental influence must be confirmed with the client. An example of an environmental requirement specified by the client is that the client requires a database built for Microsoft Access or MySQL or Oracle. Generally, technical requirements influenced by the environment are associated with one or more of the following: systems hardware network infrastructure operating system application architecture internal/external interface requirements and protocols the development tools industry standards or guidelines. Website development example If the system being developed is a website, there are likely to be environmental requirements related to usability and accessibility. These are constraints based on general industry standards or guidelines. These requirements are not necessarily imposed by the client. The client may not in fact know what these guidelines are. However, a professional site should conform to these guidelines. To determine these requirements, the developer may need to conduct an ’environmental scan’ of industry websites and/or publications. Identifying technical requirements for processes and quality The stages in identifying technical requirements for how the system will function and what the system will do include identifying the process, quality and environment requirements of the system, such as the clients, the infrastructure policy or industry standards. confirming with clients any boundaries or constraints associated with the environment. documenting the technical requirements. DetermineTechReq.docx © State of NSWs, DET 5 Determine technical requirements Develop a business solution Once you have assessed the business problem and identified the technical requirements, you need to develop a solution based on these requirements. In an iterative approach to system development, you need to develop an initial solution and present this to the client for feedback. The feedback is then incorporated (where appropriate) into the specifications and another solution is developed. The ‘solution’ in this case does not refer to the full implementation of the system - just a description, model or prototype of the solution. Modelling techniques When the requirements of a business have been determined, the relevant information is gathered, organised and documented. As part of requirements analysis, this information is then analysed and descriptions of the recommended solution are generated. Analysts and developers need a language to construct visual and other models at different levels of abstraction for the current system requirements and/or the proposed solutions. Modelling the system One of the better ways to develop technical requirements for the system is to use modelling techniques. The choice of modelling technique is based on the proposed solution and the technology to be used. For example: A website modelling technique is prototyping (either paper-based or computer-based). This shows selected pages of a website and the navigation between the pages. A database-centred modelling technique uses data flow diagrams (DFD) and entity relationship diagrams (ERD). These diagrams show the data stores, processes which interact with the data stores and where the data has been sourced or supplied. Prototyping A prototype is an appropriate technique at both the requirements and design phases of development. At the technical requirements stage, however, the focus is more on technical issues such as testing a solution within a specific operating environment. A prototype can be paper-based illustrating screen shots of the interface, navigation elements, etc. It is more detailed than a storyboard. A computer-based prototype involves the development of a cut-down version of the proposed system. The developer implements just enough of the system to provide the stakeholders with a working example of the system. A useful prototype would probably show the interface design and the typical functions provided by the system. The following example illustrates this. Notice there is no content added, just the navigation and major divisions in the web page. Figure 5: Prototype example Prototypes are used in rapid application development (RAD) because they provide a means to communicate the proposed solution to the client quickly and effectively. The client is able to provide DetermineTechReq.docx © State of NSWs, DET 6 Determine technical requirements feedback and suggestions about whether the prototype meets their needs. This feedback is used to make adjustments and so the process continues until a solution is reached which is acceptable to all key stakeholders. The graphic below illustrates this. Prototyping is an appropriate technique for many applications including website design. Structured analysis Structured analysis is most appropriate for use with business information systems as these systems are usually data-driven. A data-driven system begins with the input of data. The data is then moved through processes and changed into information. The data and the processes that change the data into information must be modelled and documented. Each process's logic must also Figure 6: Rapid application development (RAD) prototyping be included in the documentation. The toolset for structured analysis may include - but is not limited to - the following: data flow diagram: used for process modelling to represent the flow of data through the system context diagram: a top-level DFD that represents top-level functions and their components data dictionary: a text document that contains detailed definitions of all data flows, processes and data stores structured English: a descriptive method used to describe process decision logic (often called ‘mini-specs’) decision trees and tables: a diagrammatic method used to illustrate process decision logic system flow charts: primarily used for the physical modelling of the major processes, inputs and outputs of a system structure charts: a hierarchical diagram of system components entity relationship diagram: used for data modelling to show entities, their attributes and relationships. Object-oriented analysis Object-oriented analysis is most appropriate for the development of complex event-driven systems with real-time functionality such as e-commerce. Models evolve as requirements are defined and refined. Models of real-world events and interactions can be produced. The diagramming conventions for object-oriented modelling have been incorporated into a standard object-oriented language called unified modelling language (UML). The toolset within UML may include - but is not limited to - the following which you can read about: Use case diagrams: (62 KB 2836_reading4.doc) used to model static system functions by illustrating the interactions between external entities (actors) and a sequence of activities in a system (use cases). A narrative description of each use case diagram should also be included. Class diagrams: or Object class diagrams: (66 KB 2836_reading5.doc) used for data modelling to illustrate objects, object properties (attributes and behaviours) and associations with other objects. Sequence diagram: (40 KB 2836_reading6.doc) used to model dynamic system functions by illustrating the interactions (messages) and sequence of interactions among objects. Activity diagrams: (42 KB 2836_reading7.doc) used to represent the decision logic of processing activities. Statechart diagrams: (36 KB 2836_reading8.doc) used to model the state changes of an object and the events that cause an object to change (temporal logic). Source: Abstracts on this page (Structured analysis and Object-oriented analysis) have been authored by Barrier Reef Institute of TAFE in consortium with TAFE Qld On-Line. DetermineTechReq.docx © State of NSWs, DET 7 Determine technical requirements Investigate products Once you've made decisions regarding technical requirements, you should investigate off-the-shelf products that will fulfil these requirements. This is likely to involve a search on the Internet for product specifications or consultation with experts in the field. Most manufacturers of hardware and software have websites which list the product specifications, so it should be a relatively straightforward process to identify product specifications. Some of the issues that may guide your choice are industry or organisational standards: In some fields there may be industry guidelines or standards governing the choice of product; for example, government organisations may have a policy of supporting certain manufacturers (such as Microsoft, Cisco, etc.). industry conventions: In some cases, certain products have become almost a de facto standard where certain products are used by the majority of organisations in the field. One example would be Adobe Photoshop for graphic design. support for the product: The level of support for a given product may be a consideration; an uncommon or customised product may lack good support or documentation. ease of use: This is an important consideration where non-expert users will be accessing the product. existing infrastructure: The existing hardware or software may dictate product selection. For example, if the organisation is a Microsoft-only environment, it may not be feasible to choose a product that doesn't run in a Microsoft environment. Document results The contents and degree of detail for a Requirements report will vary depending on the size and scope of a project, but the report is generally an informal document that can be easily understood by the customer. The report may contain only business requirements, or it may extend to technical requirements and a feasibility study. Your organisation will often provide a template for requirements documentation. The purpose of the Requirements report is to communicate and confirm the requirements. Note: A Requirements report is produced as part of the process of gathering data. The technical specification is usually one component of the overall report. It is sometimes referred to as the nonfunctional requirements. Table 3: Requirements report example Introduction Purpose Scope Definitions Overview of document System description Overall system Sub-systems Operating environment Functional requirements Logical view Physical view Non-functional requirements I/O requirements Interface requirements Process requirements. For example: – Performance – Quality DetermineTechReq.docx © State of NSWs, DET 8 Determine technical requirements – Business rules Information domain Data definitions Structure Project costs Analysis Software development Hardware and network Benefits Tangible Intangible Introduction Define the purpose of the document with a summary of the entire document. The introduction should describe the scope of the system – that is, what functions the system will implement. System description Describe top-level functions of the system and the system environment. Diagrams (eg use cases and context diagrams) can be used to model the system and interactions with its environment. For example, if the system is a website you could include a top-level storyboard to demonstrate to the client the main functions. Functional requirements Define the services that the system provides. Examples of mandatory and desirable functional requirements might include the following: The system must associate non-stock purchases of raw materials to a specified customer order. The system must associate design work as well as production work to customer special orders. The system must provide a users' guide for products. The system must capture customer details online. The system may have password protection for a members-only section. The system may track the completion status of customer special orders. Use case diagrams, data flow diagrams and statechart diagrams are common techniques used to describe the system functions. Non-functional requirements Define any constraints within which the current system operates, such as database size, response times, web page download times, etc. This is the section that will be added in the technical requirements phase of the requirements definition. It should specify I/O requirements interface requirements process requirements such as performance or speed of the system quality environmental requirements or business rules size ease of use reliability robustness portability. DetermineTechReq.docx © State of NSWs, DET 9 Determine technical requirements Information domain Define the data requirements of the system. Entity relationship diagrams, class diagrams and data dictionaries are common techniques used to describe a system’s data. Project costs Define estimated costs of the project in terms of development and running costs. Benefits Define the areas that the new system will improve. This includes benefits measurable in dollars (tangible) and those that cannot be measured in dollars (intangible) but are important nonetheless. Other project-specific topics Define any other topics that may impact on the project. These may include such things as methodology, legal implications or employee acceptance. Summary Technical requirements are not goals - they are requirements and should be achievable and measurable. The purpose of this resource is to reinforce this and demonstrate identification and documentation methods for technical requirements DetermineTechReq.docx © State of NSWs, DET 10
© Copyright 2026 Paperzz