Functional and non-functional

Size: px
Start display at page:

Download "Functional and non-functional"

Transcription

1 UNIT II SOFTWARE REQUIREMENTS Functional and non-functional - user system requirement engineering process feasibility studies requirements elicitation validation and management software prototyping prototyping in the software process rapid prototyping techniques user interface prototyping -S/W document. Analysis and modeling data, functional and behavioral models structured analysis and data dictionary. Key points: Functional requirements of the system Non-functional requirements of the system, and Goals of implementation Functional and non-functional Functional requirements capture the intended behavior of the system-or what the system will do. This behavior may be expressed as services, tasks or functions the system is required to perform. Non-functional Requirements. Non-functional requirements or system qualities, capture required properties of the system, such as performance, security, maintainability, etc.-in other words, how well some behavioral or structural aspect of the system should be accomplished. Requirements Engineering Must be adapted to the needs of a specific process, project, product, or people doing the work. Begins during the software engineering communication activity and continues into the modeling activity. In some cases requirements engineering may be abbreviated, but it is never abandoned. It is essential that the software engineering team understand the requirements of a problem before the team tries to solve the problem. What is a requirement? It may range from a high-level abstract statement of a service or of a system Constraint to a detailed mathematical functional specification This is inevitable as requirements may serve a dual function

2 May be the basis for a bid for a contract - therefore must be open to interpretation May be the basis for the contract itself - therefore must be defined in detail Both these statements may be called requirements 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 services. Written as a contract between client and contractor. Requirements Engineering Tasks Inception (software engineers use context-free questions to establish a basic understanding of the problem, the people who want a solution, the nature of the solution, and the effectiveness of the collaboration between customers and developers) Elicitation (find out from customers what the product objectives are, what is to be done, how the product fits into business needs, and how the product is used on a day to day basis) Elaboration (focuses on developing a refined technical model of software functions, features, and constraints using the information obtained during inception and elicitation) Negotiation (requirements are categorized and organized into subsets, relations among requirements identified, requirements reviewed for correctness, requirements prioritized based on customer needs) Specification (written work products produced describing the function, performance, and development constraints for a computer-based system) Requirements validation (formal technical reviews used to examine the specification work products to ensure requirement quality and that all work products conform to agreed upon standards for the process, project, and products) Requirements Management Set of activities that help project team to identify, control, and track requirements and changes as project proceeds Many of these activities are identical to those that make up the software configuration management (SCM) process Requirements are first identified, tagged with a unique identifier and classified by type (functional, data, behavioral, interface, or output)

3 Traceability tables (e.g., features, source, dependency, subsystem, interface) are developed and updated any time a requirement is modified) Database systems are invaluable in helping software teams track requirement changes Initiating Requirements Engineering Process Identify stakeholders Recognize the existence of multiple stakeholder viewpoints Work toward collaboration among stakeholders These context-free questions focus on customer, stakeholders, overall goals, and benefits of the system o Who is behind the request for work? o Who will use the solution? o What will be the economic benefit of a successful solution? o Is there another source for the solution needed? The next set of questions enable developer to better understand the problem and the customer's perceptions of the solution o How would you characterize good output form a successful solution? o What problem(s) will this solution address? o Can you describe the business environment in which the solution will be used? o Will special performance constraints affect the way the solution is approached? The final set of questions focuses on communication effectiveness o Are you the best person to give "official" answers to these questions? o Are my questions relevant to your problem? o Am I asking too many questions? o Can anyone else provide additional information? o Should I be asking you anything else? Eliciting Requirements Collaborative requirements gathering o Meetings attended by both developers and customers o Rules for preparation and participation are established o Flexible agenda is used o Facilitator controls the meeting

4 o Definition mechanism (e.g., stickers, flip sheets, electronic bulletin board) used to gauge group consensus o Goal is to identify the problem, propose solution elements, negotiate approaches, and specify preliminary set of solutions requirements Quality function deployment (QFD) o Identifies three types of requirements (normal, expected, exciting) o In customer meetings function deployment is used to determine value of each function that is required for the system o Information deployment identifies both data objects and events that the system must consume or produce (these are linked to functions) o Task deployment examines the system behavior in the context of its environment o Value analysis is conducted to determine relative priority of each requirement generated by the deployment activities User-scenarios o Also known as use-cases, describe how the system will be used o Developers and users create a set of usage threads for the system to be constructed Elicitation Work Products Statement of need and feasibility Bounded statement of scope for system or product List of stakeholders involved in requirements elicitation Description of system's technical environment List of requirements organized by function and applicable domain constraints Set of usage scenarios (use-cases) that provide use insight into operation of deployed system Prototypes developed to better understand requirements Software prototyping: A model of s/w to be built is called a prototype. A prototype is constructed for customer and developer assessment. (i) Selecting a prototyping approach: * The prototyping paradigm can be either close ended or open ended * The close ended approach also called throw away prototyping. Using this prototype serves as a rough demonstration of requirements. * An open ended approach, called evolution of the prototyping uses the prototype as the first part of

5 an analysis activity that will be continued into design and construction. * Before a close ended or open ended approach can be chosen, it is necessary to determine whether the system to be built is amenable to prototyping. * Prototyping factors are application area, application complexity, customer characteristics and project characteristics. (ii) Prototyping s/w process: * In common with other types of s/w development, the prototyping process follows a define s/w process model. * This model indicated the processes and tasks, which have to be performed during development of the prototype. * Process model device for this particular approach comprise the following stages. 1. Analysis requirements: This involved the developer understanding the content and nature of the customer s initial requirements. 2. Prototype design: Here the developer should choose a suitable implementation approach for which to develop the prototype. Also a design is derived for the prototype based upon the results of analysis phase. 3. Prototype construction: This stage involves actual coding of the prototype Rapid prototyping: * An evolutionary s/w prototyping process is produced based on a requirement analysis of the customer s problem. This analysis is needed to ensure the initial version of the prototype is close enough to what the customer need to enable them to provide meaningful evaluations and criticism. * Each succeeding version of the prototype is produced based upon an analysis of the customer s reaction to the demonstration of the previous version. * Delivered products are delivered from the prototypes that are accepted by the customers via an optimal optimization process. * Maintenance activities are sparked by new customer s requirements, which restart the prototyping process and extent the series of prototypes until a new stable point is reached. * The spiral model is well known because it combines the common knowledge of water fall model, incremental method and process model work into an attractive notation, even with less specific variation of the process. * Some advantage of this approach are that prototype of different aspects of the system can be developed concurrently and independently, that each fragment is relatively small, simple and easy to change, and that different tools and environments can be used for different aspects. The last property

6 can be important in the short term, if tools are available for solving different parts of the problem, but these tools have not been integrated together into a comprehensive prototyping environment. User interface prototyping Interface generation systems may be based around user interface management systems which provide basic user interface functionality such as menu selection, object display and so on. From a software engineering point of view, it is important to realize that user interface prototyping is an essential part of the process. It is impossible to pre-specify the look and feel of a user interface in an effective way UI development consumes an increasing part of overall system development costs. User interface generators may be used to draw the interface and simulate its functionality with components associated with interface entities. Web interfaces may be prototyped using a web site editor Software Document It is the agreed statement of the system requirement. It should be organized so that it can be used by both system customers and software developers. SRS is the official statement of what is required of the system developers. SRS includes 1. User requirements for a system 2. Detailed specification of the system requirements Six Requirements of SRS: It should specify only the external system behavior. It should specify the constraints on the implementation. It should be easy to change. It should serve as a reference tool for system maintainers It should record the forethought about the lifecycle of the system. It should characterize acceptance responses to undefined events Analysis Model

7 Intent is to provide descriptions of required information, functional, and behavioral domains for computer-based systems Analysis Model Elements o Scenario-based elements (describe system from user perspective) o Class-based elements (relationships among objects manipulated by actors and their attributes) o Behavioral elements (depict system and class behavior as states and transitions between states) o Flow-oriented elements (shows how information flows through the system and is transformed by the system functions) Many different representations can be used to depict the analysis model o Use-case diagrams o Activity diagrams o Class diagrams o State diagram o Data flow diagram (DFD) Analysis Pattern Template o Name o Intent o Motivation o Forces and context o Solution o Consequences o Design o Known use examples o Related patterns Negotiating Requirements Negotiation activities o Identification of system key stakeholders o Determination of stakeholders' "win conditions" o Negotiate to reconcile stakeholders' win conditions into "win-win" result for all stakeholders (including developers) Key points o It's not a competition

8 o o o o o o Map out a strategy Listen actively Focus on other party's interests Don't let it get personal Be creative Be ready to commit Requirement Review (Validation) Is each requirement consistent with overall project or system objective? Are all requirements specified at the appropriate level off abstraction? Is each requirement essential to system objective or is it an add-on feature? Is each requirement bounded and unambiguous? Do you know the source for each requirement? Do requirements conflict with one another? Is the requirement achievable in the proposed technical environment for the system or product? Is each requirement testable? Does the requirements model reflect the information, function, and behavior of the system to be built? Has the requirements model been partitioned in a way that exposes more detailed system information progressively? Have all the requirements patterns been properly validated and are they consistent with customer requirements? The analysis model is the first technical representation of a system. Analysis modeling uses a combination of text and diagrams to represent software requirements (data, function, and behavior) in an understandable way. Building analysis models helps make it easier to uncover requirement inconsistencies and omissions. Two types of analysis modeling are commonly used: structured analysis and object-oriented analysis. Scenario-based modeling represents the system from the user's point of view. Flow-oriented modeling shows how data are transformed inside the system by processing functions. Class-based modeling defines objects, attributes, and relationships. Behavioral modeling uses state transition diagrams to show the impact of events on the system states. Analysis work products must be reviewed for completeness, correctness, and consistency. Analysis Model Guidelines

9 Analysis products must be highly maintainable, especially the software requirements specification. Problems of size must be dealt with using an effective method of partitioning. Graphics should be used whenever possible. Differentiate between the logical (essential) and physical (implementation) considerations. Find something to help with requirements partitioning and document the partitioning before specification. Devise a way to track and evaluate user interfaces. Devise tools that describe logic and policy better than narrative text. Analysis Model Objectives Describe what the customer requires. Establish a basis for the creation of a software design. Devise a set of requirements that can be validated once the software is built. Analysis Model Rules of Thumb The model should focus on requirements that are visible within the problem or business domain and be written as a relatively high level of abstraction. Each element of the analysis model should add to the understanding of the requirements and provide insight into the information domain, function, and behavior of the system. Delay consideration of infrastructure and non-functional models until design. Minimize coupling throughout the system. Be certain the analysis model provides value to all stakeholders. Keep the model as simple as possible. Domain Analysis Activities Define the domain to be investigated Categorize the items extracted from the domain Collect a representative sample of applications in the domain Analyze each application in the sample o Identify candidate reusable objects o Indicate reasons the objects may be reused o Define adaptations of the objects that may be reused o Estimate percentage of applications in the domain that might make reuse of the objects

10 o Identify objects by name and use configuration management techniques to control them Develop an analysis model for the objects Structured Analysis Model Elements Data dictionary - contains the descriptions of all data objects consumed or produced by the software Entity relationship diagram (ERD) - depicts relationships between data objects Data flow diagram (DFD) - provides an indication of how data are transformed as they move through the system; also depicts functions that transform the data flow (a function is represented in a DFD using a process specification or PSPEC) State diagram (SD) - indicates how the system behaves as a consequence of external events, states are used to represent behavior modes. Arcs are labeled with the events triggering the transitions from one state to another (control information is contained in control specification or CSPEC) Data Modeling Elements (ERD) Data object - any person, organization, device, or software product that produces or consumes information Attributes - name a data object instance, describe its characteristics, or make reference to another data object Relationships - indicate the manner in which data objects are connected to one another Cardinality and Modality (ERD) Cardinality - in data modeling, cardinality specifies how the number of occurrences of one object are related to the number of occurrences of another object (1:1, 1:N, M:N) Modality - zero (0) for an optional object relationship and one (1) for a mandatory relationship Functional Modeling and Information Flow (DFD) Shows the relationships of external entities, process or transforms, data items, and data stores DFD's cannot show procedural detail (e.g., conditionals or loops) only the flow of data through the software Refinement from one DFD level to the next should follow approximately a 1:5 ratio (this ratio will reduce as the refinement proceeds)

11 To model real-time systems, structured analysis notation must be available for time continuous data and event processing (e.g., Ward and Mellor or Hatley and Pirbhai) Behavioral Modeling (STD) State transition diagrams represent the system states and events that trigger state transitions STD's indicate actions (e.g., process activation) taken as a consequence of a particular event A state is any observable mode of behavior Hatley and Pirbhai control flow diagrams (CFD) and UML sequence diagrams can also be used for behavioral modeling Creating Entity Relationship Diagrams Customer asked to list "things" that application addresses, these things evolve into input objects, output objects, and external entities Analyst and customer define connections between the objects One or more object-relationship pairs is created for each connection The cardinality and modality are determined for an object-relationship pair Attributes of each entity are defined The entity diagram is reviewed and refined Creating Data Flow Diagram Level 0 data flow diagram should depict the system as a single bubble Primary input and output should be carefully noted Refinement should begin by consolidating candidate processes, data objects, and data stores to be represented at the next level Label all arrows with meaningful names Information flow must be maintained from one level to level Refine one bubble at a time Write a PSPEC (a "mini-spec" written using English or another natural language or a program design language) for each bubble in the final DFD Creating Control Flow Diagrams Begin by stripping all the data flow arrows form the DFD Control items (dashed arrows) are added to the diagram

12 Add a window to the CSPEC (contains a SD that is a sequential specification of the behavior) for each bubble in the final CFD Object-Oriented Concepts Objects - encapsulate both data (attributes) and data manipulation functions (called methods, operations, and services) Class - generalized description (template or pattern) that describes a collection of similar objects Super class - a collection of objects Subclass - an instance of a class Class hierarchy - attributes and methods of a super class are inherited by its subclasses Messages - the means by which objects exchange information with one another Inheritance - provides a means for allowing subclasses to reuse existing super class data and procedures; also provides mechanism for propagating changes Polymorphism - a mechanism that allows several objects in an class hierarchy to have different methods with the same name (instances of each subclass will be free to respond to messages by calling their own version of the method) Object-Oriented Analysis Model Elements Scenario-based - depict how the user interacts with the system (use-case diagram) and the sequence of activities that occur during software use (activity diagrams and swim lane diagrams) Class-based - model the system objects, operations, class relationships (class diagram) Behavioral - depict how external events change the state of the system or the system classes (state diagram and sequence diagrams) Flow-oriented - represent the system as an information transform and depict how data objects are transformed as they flow through system function (dataflow diagram) Data Dictionary Contents

13 Name - primary name for each data or control item, data store, or external entity Alias - alternate names for each data object Where-used/how-used - a listing of processes that use the data or control item and how it is used (e.g., input to process, output from process, as a store, as an external entity) Content description - notation for representing content Supplementary information - other data type information, preset values, restrictions, limitations, etc. Data dictionary It is the alphabetic list of the names which are included in the different models of a system. The data dictionary has the named entity and its associated description. Data dictionary are generally useful when developing system models and used to manage all information from all types of system model Advantages Mechanism for name management. It serves as a store of organizational information that can link analysis, design, implementation and evolution. Review Questions: 1. What is known as functional requirements? Statements of services the system should provide how the system should react to particular inputs and how the system should behave in particular situations. Describe functionality or system service These services depend on o the type of software being developed o the expected users of the software Functional user requirements may be high-level statements of what the system should do; Functional system requirements should describe the system services in detail. Problems arise when

14 requirements are not precisely stated. Ambiguous requirements may be interpreted in different ways by developers and clients. Examples: The user shall be able to use an existing exam. Requirements should be both complete and consistent. Complete o They should include descriptions of all required functionality Consistent o There should be no conflicts or contradictions in the descriptions of the system functions 2. What are the types of 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 CASE system, programming language or development method. Types of Non-Functional Requirements 1. Product requirements 2. Organisational requirements 3. External requirements 1. Product Requirements Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc. To specify product behavior Examples: How fast the system must execute and how much memory it requires. 2. Organizational Requirement Requirements which are a consequence of organisational policies and procedures e.g. process standards used, implementation requirements, etc. Derived from polices and procedures in the customer s and developer s organisation 3. External Requirements Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc. It covers all requirements. Define how the system interact with systems in other organizations Examples: System shall not disclose any personal information about customers apart from their name and reference number to the operators of the system 4. What are the problems arise in user requirements. How can it solve?

15 Should describe functional and non-functional requirements in such a way that they are understandable by system users who don t have detailed technical knowledge. User requirements are defined using natural language, tables and diagrams as these can be understood by all users. Problems with natural language Lack of clarity, ambiguity Precision is difficult without making the document difficult to read Requirements confusion Functional and non-functional requirements tend to be mixed-up Requirements amalgamation Several different requirements may be expressed together Requirement problems 1. Database requirements includes both conceptual and detailed information Describes the concept of a financial accounting system that is to be included in LIBSYS; However, it also includes the detail that managers can configure this system - this is unnecessary at this level. 2. Grid requirement mixes three different kinds of requirement Conceptual functional requirement (the need for a grid); Non-functional requirement (grid units); Non-functional UI requirement (grid switching). Some Guidelines for User Requirements Invent or find a standard format and use it for all requirements. Use language in a consistent way. Use text highlighting (e.g., italics) to identify key parts of the requirement. Every requirement must be verifiable. Every requirement should be numbered for trace ability 5. What do you mean by System Requirements? More detailed specifications of system functions, services and constraints than user requirements. Requirements may be defined operationally using a programming language (e.g. Java) They are intended to be a basis for designing the system. They may be incorporated into the system contract. Serve as a basis for the Design

16 o In principle Reqs. And Design are separated (WHAT vs. HOW). Using natural language, Further Problems can arise o Leads to misunderstandings o Over flexible o Difficult to find all related requirements Alternatives to NL Specification Structured natural language Design description languages Graphical notations Mathematical specifications Notation Structured natural language Design description languages Graphical notations Mathematical specifications Description This approach depends on defining standard forms or templates to express the requirements specification. This approach uses a language like a programming language but with more abstract features to specify the requirements by defining an operational model of the system. A graphical language, supplemented by text annotations is used to define the functional requirements for the system. An early example of such a graphical language was SADT. Now, use-case descriptions and sequence diagrams are commonly used. These are notations based on mathematical concepts such as finite-state machines or sets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality 6. List out the general activities of requirement engineering processes? The processes used for requirement engineering vary widely depending on the application domain, the people involved and the organisation developing the requirements. There are a number of generic activities common to all processes: 1. Feasibility study A feasibility study decides whether or not the proposed system is worthwhile A short focused study that checks If the system contributes to organisational objectives If the system can be engineered using current technology and within budget

17 2. Elicitation and Analysis Involves technical staff working with customers to find out about the application domain, what the services that the system should provide,the system performance May involve end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc. These are called stakeholders. Problems of requirements analysis Stakeholders don t know what they really want Stakeholders express requirements in their own terms Different stakeholders may have conflicting requirements 3. Software Requirements Specification (SRS): The software requirement and specification focuses on what the system will do not how the system will be implemented. 4. Requirements Validation Concerned with showing that the requirements define the system that the customer really wants. Requirements error costs are high so validation is very important 5. Requirements Management Requirements management is the process of managing changing requirements during the requirements engineering process and system development New requirements emerge during the process as business needs change and a better understanding of the system is developed. 7. What are the objectives of software prototyping? Prototyping is the rapid development of a system. the boundary between prototyping and normal system development is blurred and many systems are developed using an evolutionary approach Prototyping objectives The objective of evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood. An approach to system development where an initial prototype is produced and refined through a number of stages to the final system. The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood. A prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process.

18 Uses of system prototypes The principal use is to help customers and developers understand the requirements for the system o Requirements elicitation. Users can experiment with a prototype to see how the system supports their work. o Requirements validation. The prototype can reveal errors and omissions in the requirements. Prototyping can be considered as a risk reduction activity which reduces requirements risks Prototyping benefits Misunderstandings between software users and developers are exposed Missing services may be detected and confusing services may be identified The system can support user training and system testing. 8. What are the techniques used in Rapid proto typing? Various techniques may be used for rapid development. Dynamic high-level language development Database programming Component and application assembly These are not exclusive techniques - they are often used together Visual programming is an inherent part of most prototype development systems Dynamic high-level languages Languages which include powerful data management facilities. Need a large run-time support system. Not normally used for large system development Some languages have an integrated support environment whose facilities may be used in the prototype. Database programming languages Domain specific languages for business systems based around a database management system. it include a database query language, a screen generator, a report generator and a spreadsheet. May be integrated with a CASE toolset. Cost-effective for small to medium sized business systems Component and application assembly Prototypes can be created quickly from a set of reusable components plus some mechanism to glue these components together. The composition mechanism must include control facilities and a mechanism for component communication.

19 The system specification must take into account the availability and functionality of existing components. 9. Write short notes on class-based modeling. The following section describes the representation of class based modeling in detail. Identifying analysis classes Specifying attributes Defining operation Class responsibility collaborator Associations and dependencies Analysis packages 1. Identifying Analysis Classes An analysis class represents themselves in one of the following ways. External entities, Things, Occurrences or events, Structures, Places, Organizational units, In order to identify the classes want to find out the nouns in the statement. 2. Specifying Attributes Attributes describe a class that has been selected for inclusion in the analysis model. Attributes are also called as properties. Properties represent the state of an object. 3. Defining Operations Operations define the behavior of an object. It can be divided into four broad categories.operations that manipulate data in some way 4. Class Responsibility Collaborator (CRC) Modeling A CRC model is a simple means for identifying and organization of the classes. The cards are divided into 3 sections. class name,description,responsibility and description. 5. Collaborations Classes fulfill their responsibilities in one of the two ways. A class can use its own operations to manipulate its own attributes. A class can collaborate with other classes.collaborations identify relation between classes 6. Responsibilities Guidelines for allocating responsibilities to classes. Each responsibility should be stated as generally as possible. Responsibilities should be shared among related classes, when appropriate. 7. Associations and Dependencies Two analysis classes may be related to one another. These relations are known as associations. An association may be further defined by indicating multiplicity. In that situation a client class depends on the server class in some way. 8. Analysis Packages

20 An important part of analysis modeling is categorization.i.e.various elements of this model are categorized in a manner that packages them a grouping- called an analysis package 10. What is the role of software document and data dictionary? It is the agreed statement of the system requirement. It should be organized so that it can be used by both system customers and software developers. SRS is the official statement of what is required of the system developers. SRS includes 1. User requirements for a system 2. Detailed specification of the system requirements. How SRS used for various users? FOR SYSTEM CUSTOMERS: o To specify the requirements and read them to check that they meet their needs. FOR MANAGERS: o To plan the system development process. FOR SYSTEM ENGINEERS: o Use the requirement to understand what system is to be developed. FOR SYSTEM TEST ENGINEERS: o Use the requirements to develop validation tests for the system. FOR SYSTEM MAINTENANCE ENGINEERS: o To understand the system and relationship between its parts. DATA DICTIONARY It is the alphabetic list of the names which are included in the different models of a system.descriptions of the entities, relationships and attributes are also included. Advantages Support name management and avoid duplication; Many CASE workbenches support data dictionaries. It serves as a store of organizational information that can link analysis, design, implementation and evolution. STRUCTURE OF DATA DICTIONARY ENTRIES NAME DESCRIPTION TYPE DATE 11. What are the types of analysis model? Explain one of them.

21 Analysis model uses the competition of text and diagrammatic forms to show the requirements for data, function and behavior. It is important to validate software requirements from a different point of view. Types of Analysis Model 1. Data modeling 2. Flow oriented modeling 3. Scenario based modeling 4. Behavioral modeling 5. Class based modeling Data modeling Data flow diagrams (DFDs) may be used to model the system s data processing. These show the processing steps as data flows through a system. DFDs are an intrinsic part of many analysis methods. Simple and intuitive notation that customers can understand. Show end-to-end processing of data. Data Objects Data object is a composite information A data object description incorporates the data objects and all its attributes. A data object encapsulates the data only Data Attributes It defines the properties of data object Attributes defined the properties of the data objects. Relationships Data objects are connected to one another in different ways. For example. A person owns a car. The relationship owns an insured to drive define the relevant connections between person and car. Example Man is the Data object, Name, Sex, Age is the attributes Cardinality: It is the Data model must be capable of representing number of occurrences of objects. Modality: It is Relationship denotes the necessity of relationships between data objects. Two Mark Questions: 1. Define Software Engineering: Software Engineering is the establishment of engineering principles in order to obtain a software which is more reliable and works more efficiently on real machines. Software Engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of software.

22 2. Define System Engineering: Software engineering occurs as a consequence of a process called system engineering. System engineering focuses on a variety of elements, analyzing, designing, and organizing those elements into a system that can be a product, a service, or a technology for the transformation of information or control. 3. Define Computer based system. Both business process engineering and product engineering attempt to bring order to the development of computer based systems. Business process engineering is focuses on a business enterprise. When a product is to be built, the process is called product engineering. 4. What are all the elements supported by the computer based system. System, Hardware, People, Database, Documentation, Procedures. 5. Define system modeling Define the processes that serve the needs of the view under consideration Represent the process behavior and the assumptions on which the behavior is modeled Explicitly define the exogenous (links between constituents) and endogenous (links between constituent components) input to the model Represent all linkages (including outputs) required to understand the view 6. Define Requirement Validation Requirements validation (formal technical reviews used to examine the specification work products to ensure requirement quality and that all work products conform to agreed upon standards for the process, project, and products) 7. List out the System Model Restraining Factors Assumptions Simplifications Limitations Constraints Preferences 8. List out System Engineering Hierarchy World view Domain view Element view Detailed view

23 9. Define System Simulation If simulation capability is not available for a reactive system, project risk increases. Consider using an incremental, iterative process model that will allow the delivery and testing of incrementally more complete products. 10. List out the Business Process Engineering Hierarchy Information Strategy Planning (world view) Business Area Analysis (domain view) Business System Design (element view - software engineers) Construction and Integration (detailed view - software engineers) 11. Define Business Process Engineering Architectures Data architecture - provides framework for information needs of a business or business function Applications architecture - those system elements that transform objects within the data architecture for some business purpose Technology infrastructure - provides foundation for the data and application architectures 12. Define Product Engineering Hierarchy Requirements engineering (world view) Component engineering (domain view) Analysis and Design modeling (element view - software engineers) Construction and Integration (detailed view - software engineers) 13. Define System Model Template User interface Input Process and control functions Output Maintenance and self test 14. Define Systems Modeling Process System Context Diagram (SCD) - top level node in system hierarchy used to establish the boundary between the system being implemented (system model template serves as its basis) System Flow Diagram (SFD) - refinement of the process and control functions from SCD, derived by identifying the major subsystems and lines of information flow (precursor to Data Flow Diagram discussed in Chapter 12) Initial SFD is becomes the top level node of a hierarchy of more successively more detailed SFD's

24 System Specification - developed by writing narrative description for each subsystem and definitions for all data that flow between subsystems 15. List out the System Modeling with UML Diagrams: Deployment diagram, Activity diagram, class diagram, Use case diagram. 16. Define Deployment Diagram: Deployment diagram - depicts hardware elements that are part of the physical architecture of the system 17. Define Activity diagram: Activity diagram - used to represent the procedural aspects of the system software elements, similar to a flowchart in that system functions are shown as nodes, decision points are shown as diamonds,and arrows are used to show flow through the system 18. Define Class diagram: o Class diagram - shows the class attributes and operations that may be applied to the class within the context of the system 19. Define Use case diagram: o Use-case diagram - illustrates the manner in which an actor interacts with the system, each labeled oval within a system boundary represents one text scenario or use-case 20. Define Requirements Engineering Must be adapted to the needs of a specific process, project, product, or people doing the work. Begins during the software engineering communication activity and continues into the modeling activity. In some cases requirements engineering may be abbreviated, but it is never abandoned. It is essential that the software engineering team understand the requirements of a problem before the team tries to solve the problem. 21. Requirements Engineering Tasks Inception, Elicitation, Elaboration, Negotiation, Specification, Validation. 22. Define Inception: Inception (software engineers use context-free questions to establish a basic understanding of the problem, the people who want a solution, the nature of the solution, and the effectiveness of the collaboration between customers and developers) 23. Define Elicitation: Elicitation (find out from customers what the product objectives are, what is to be done, how the product fits into business needs, and how the product is used on a day to day basis)

25 24. Define Elaboration: Elaboration (focuses on developing a refined technical model of software functions, features, and constraints using the information obtained during inception and elicitation) 25. Define Negotiation: Negotiation (requirements are categorized and organized into subsets, relations among requirements identified, requirements reviewed for correctness, requirements prioritized based on customer needs) 26. Define Specification: Specification (written work products produced describing the function, performance, and development constraints for a computer-based system) 27. Define Requirement Validation Requirements validation (formal technical reviews used to examine the specification work products to ensure requirement quality and that all work products conform to agreed upon standards for the process, project, and products) 28. Define Requirements Management Set of activities that help project team to identify, control, and track requirements and changes as project proceeds Many of these activities are identical to those that make up the software configuration management (SCM) process Requirements are first identified, tagged with a unique identifier and classified by type (functional, data, behavioral, interface, or output) Traceability tables (e.g., features, source, dependency, subsystem, interface) are developed and updated any time a requirement is modified) Database systems are invaluable in helping software teams track requirement changes 16 mark questions: 1. What is software requirement? Explain different types of requirements with examples. 2. Explain the requirement engineering process with neat diagram. 3. Write short notes on: i) Rapid prototyping techniques. ii) User interface prototyping 4. Explain the various types of requirement models with an example. 5. What is data flow oriented design? What are the components of it? Draw a detailed data flow diagram for library information system.

26

Software Requirements

Software Requirements Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and

More information

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005] IF2261 Software Engineering Engineering Program Studi Teknik Informatika STEI ITB Overview Before software can be engineered: the system it is part of must be understood, the overall objective of the system

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur. School of Computing, Department of IT

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur. School of Computing, Department of IT SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 Analysis Modeling Cardinality and Modality Cardinality

More information

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective: CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if

More information

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group

More information

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition. Software Requirements Descriptions and specifications of a system Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Objectives To introduce the concepts of user and system To describe

More information

What is a requirement? Software Requirements. Descriptions and specifications of a system

What is a requirement? Software Requirements. Descriptions and specifications of a system What is a requirement? Software Requirements Descriptions and specifications of a system May range from a high-level abstract statement of a service or a statement of a system constraint to a detailed

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Requirements Engineering Process

Requirements Engineering Process Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their

More information

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model Software Design Design (I) Software Design is a process through which requirements are translated into a representation of software. Peter Lo CS213 Peter Lo 2005 1 CS213 Peter Lo 2005 2 Relationships between

More information

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1 Objectives To describe the principal requirements engineering activities and their relationships

More information

Introduction to Systems Analysis and Design

Introduction to Systems Analysis and Design Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

SOFTWARE REQUIREMENTS

SOFTWARE REQUIREMENTS SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

More information

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe

More information

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis Requirements engineering processes Requirements Engineering Processes The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the.

More information

Chapter 8 Approaches to System Development

Chapter 8 Approaches to System Development Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

User experience storyboards: Building better UIs with RUP, UML, and use cases

User experience storyboards: Building better UIs with RUP, UML, and use cases Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements

More information

Software Requirements. Objectives

Software Requirements. Objectives Software Requirements cmsc435-1 Objectives To introduce the concepts of user and system requirements To describe functional and non-functional requirements To explain how software requirements may be organized

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Lecture 9: Requirements Modelling

Lecture 9: Requirements Modelling A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview

More information

Software Requirements 1

Software Requirements 1 Software Requirements 1 Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate Requirements can range from high-level abstract

More information

Requirements Management

Requirements Management REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering

More information

Software Engineering. What is a system?

Software Engineering. What is a system? What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,

More information

STSG Methodologies and Support Structure

STSG Methodologies and Support Structure STSG Methodologies and Support Structure STSG Application Life Cycle Management STSG utilizes comprehensive lifecycle tools that are fully integrated and provide capabilities for most of the roles in its

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

3SL. Requirements Definition and Management Using Cradle

3SL. Requirements Definition and Management Using Cradle 3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification

More information

www.iacpe.com Knowledge, Certification, Networking

www.iacpe.com Knowledge, Certification, Networking www.iacpe.com Knowledge, Certification, Networking Page : 1 of 95 Rev. 01- Feb 2016 IACPE No 19, Jalan Bilal Mahmood 80100 Johor Bahru Malaysia Introduction to Software Engineering The International of

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University

Data Analysis 1. SET08104 Database Systems. Copyright @ Napier University Data Analysis 1 SET08104 Database Systems Copyright @ Napier University Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship?

More information

A UML Introduction Tutorial

A UML Introduction Tutorial A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software

More information

Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e.

Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e. Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e., a representation of information as a continuous flow that

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas... Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled

More information

Object Oriented Analysis and Design and Software Development Process Phases

Object Oriented Analysis and Design and Software Development Process Phases Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University

Unit 2.1. Data Analysis 1 - V2.0 1. Data Analysis 1. Dr Gordon Russell, Copyright @ Napier University Data Analysis 1 Unit 2.1 Data Analysis 1 - V2.0 1 Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes,

More information

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software

More information

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR) Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT Monday 28 th September 2015 Case Study for both sections A and

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

Algorithms, Flowcharts & Program Design. ComPro

Algorithms, Flowcharts & Program Design. ComPro Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of

More information

i. Node Y Represented by a block or part. SysML::Block,

i. Node Y Represented by a block or part. SysML::Block, OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes

More information

Software Requirements. Objectives. Topics covered

Software Requirements. Objectives. Topics covered Software Requirements Sommerville Chapter 6 Objectives To introduce the concepts of user and system requirements To describe functional and non-functional requirements To explain how software requirements

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Teaching Methodology for 3D Animation

Teaching Methodology for 3D Animation Abstract The field of 3d animation has addressed design processes and work practices in the design disciplines for in recent years. There are good reasons for considering the development of systematic

More information

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and

More information

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011

Use Cases. Massimo Felici. Massimo Felici Use Cases c 2004 2011 Use Cases Massimo Felici Use Cases 1 Support requirements engineering activities and the requirement process Capture what a system is supposed to do, i.e., systems functional requirements Describe sequences

More information

Software Processes. Topics covered

Software Processes. Topics covered Software Processes cmsc435-1 Topics covered Systems vs. software engineering Software process models Process iteration Process activities Computer-aided software engineering cmsc435-2 What is a system?

More information

A Methodology for the Development of New Telecommunications Services

A Methodology for the Development of New Telecommunications Services A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,

More information

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML System Development (SD) : - o SD refers to all activities that go into producing

More information

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Quantification and Traceability of Requirements

Quantification and Traceability of Requirements Quantification and Traceability of Requirements Gyrd Norvoll Master of Science in Computer Science Submission date: May 2007 Supervisor: Tor Stålhane, IDI Norwegian University of Science and Technology

More information

THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design

THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design Section A General Comments Many candidates lack the skill of being able to apply theoretical knowledge

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013 The purpose of these questions is to establish that the students understand the basic ideas that underpin the course. The answers

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Business Requirements Guidelines

Business Requirements Guidelines August 25, 2001 Version 1.0 1 Important Information This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing

More information

Software Requirements Specification

Software Requirements Specification 1 of 7 17.04.98 13:32 Software Requirements Specification The sub-sections : 1. What is a Software Requirements Specification 2. Why is a Software Requirement Specification Required 3. What is Contained

More information

Requirements Traceability. Mirka Palo

Requirements Traceability. Mirka Palo Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Chapter 3. Technology review. 3.1. Introduction

Chapter 3. Technology review. 3.1. Introduction Technology review Chapter 3 3.1. Introduction Previous chapter covers detail description about problem domain. In this chapter I will discuss the technologies currently available to solve a problem in

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

More information

Requirements engineering and quality attributes

Requirements engineering and quality attributes Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................

More information

Software Engineering UNIT -1 OVERVIEW

Software Engineering UNIT -1 OVERVIEW UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and

More information

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK Office of Safety and Mission Assurance NASA-GB-9503 SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK AUGUST 1995 National Aeronautics and Space Administration Washington, D.C. 20546 PREFACE The growth in cost

More information

Ten steps to better requirements management.

Ten steps to better requirements management. White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten

More information

Quick Guide Business Process Modeling Notation (BPMN)

Quick Guide Business Process Modeling Notation (BPMN) Quick Guide Business Process Modeling Notation (BPMN) IDM Technical Team January 2007 Quick Guide: BPMN 2 of 14 The scope of this document is to provide a quick guide to the concepts and usage of the Business

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle

More information

Masters of Science in Software & Information Systems

Masters of Science in Software & Information Systems Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January

More information

Object-oriented design methodologies

Object-oriented design methodologies Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0 NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5

More information

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language. UML 1 Introduction UML = Unified Modeling Language It is a standardized visual modeling language. Primarily intended for modeling software systems. Also used for business modeling. UML evolved from earlier

More information

Reaching CMM Levels 2 and 3 with the Rational Unified Process

Reaching CMM Levels 2 and 3 with the Rational Unified Process Reaching CMM Levels 2 and 3 with the Rational Unified Process Rational Software White Paper TP174 Table of Contents INTRODUCTION... 1 LEVEL-2, REPEATABLE... 3 Requirements Management... 3 Software Project

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

Requirements Definition and Management Processes

Requirements Definition and Management Processes Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information