130 likes | 243 Views
Getting Ready for the NOCTI test. April 30, 2013. Study checklist #1. Analyze Programming Problems and Flowchart Solutions Study Checklist. How to analyze user requirements (including functional and non-functional requirements?. What is user requirements?
E N D
Getting Ready for the NOCTI test April 30, 2013
Study checklist #1 • Analyze Programming Problems and Flowchart Solutions Study Checklist
How to analyze user requirements (including functional and non-functional requirements? • What is user requirements? • Is what the customer wants or desire from a computer system, which you believe will deliver you a business advantage. • Your job is to determine what the customer actually wants it to do! • How? Talk to your customer, ask questions….probe….find out all you can! You are not a mind reader! This is where your communication skills come into play.
So, what is Functional Requirements? • Are what you want a system to do. • These are the type of behavior you want the system to perform. • Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish. • Example: • If you where buying vehicles for a business your functional requirement might be: • The vehicle should be able to take a load from a warehouse to a shop. • For a computer system you define what the system is to do – example: • The system should store all details of a customer’s order. • Note that WHAT is wanted is specified, and not how it will be delivered.
More Examples: • The system shall charge users credit cards for purchases • The system shall validate all passwords contain upper and lowercase characters and one number • The system shall store user information including name, • DOB, address and SSN. <-- Good! • The system shall store user information in an Oracle • database including name, DOB, address, SSN. <-- bad • Is Oracle really REQUIRED? Hard to say… maybe, but probably not. This is a decision you would make at implementation design time.
Documentation? The URD. • The user requirement(s) document (URD) or user requirement(s) specification is a document usually used in software engineering that specifies the requirements the user expects from software to be constructed in a software project. • Your job is to determine what the customer actually wants it to do! • Once the required information is completely gathered it is documented in a URD. • Which is meant to spell out exactly what the software must do and becomes part of the contractual agreement. • A customer cannot demand features not in the URD without renegotiating and a developer cannot claim the product is ready if it does not meet an item of the URD. • The URD can be used as a guide to planning cost, timetables, milestones, testing, etc.
So, what is Non-functional Requirement? • A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than the behaviors. • They are the restrictions or constraints to be placed on the system and how to build it! • Basically, it is usually some form of constraint or restriction that must be considered when designing the solution. • Example: “ The customer must be able to access their account 24 hours a day, seven days a week”. • Non-functional requirements define how a system is supposed to be • The plan for implementing non-functional requirements is detailed in the system architecture. • Non-functional requirements are "system shall be <requirement>". • Non-functional requirements are often called qualities of a system.
More Examples • A system may be required to present the user with a display of the number of records in a database. This is a functional requirement. How up-to-date this number needs to be is a non-functional requirement. If the number needs to be updated in real time, the system architects must ensure that the system is capable of updating the displayed record count within an acceptably short interval of the number of records changing. • Sufficient network bandwidth may be a non-functional requirement of a system.
How to determine input and output formats for a program? • What is input? • Input in computer science is the act of entering data into a computer or data processing system • Information, any data entered into a computer or data processing system • Input device, any peripheral (piece of computer hardware equipment) used to provide data and control signals to an information processing system (such as a computer).
What is output? • Output is information produced by the computer program and perceived by the user. The kinds of output the program makes, and the kinds of input the program accepts, define the user interface of the program. • Output is any data leaving a computer system. • Example: • This could be in the form of printed paper, audio, video. • In the medical industry this might include CT scans or x-rays. • Typically in computing, data is entered through various forms (input) into a computer, the data is often manipulated, and then information is presented to a human (output).
Systems Development Life Cycle • The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project. • SDLC steps are: • Requirement analysis • Design • Implementation • Testing • Evolution
SDLC Steps: • The existing system is evaluated. • Deficiencies are identified. This can be done by interviewing users of the system and consulting with support personnel. • The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement. • The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues. • The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage. • The system is put into use. This can be done in various ways. The new system can phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once. • Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.
Flowchart • A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows.