Darshan Institute of Engineering & Technology for Diploma Studies

Size: px
Start display at page:

Download "Darshan Institute of Engineering & Technology for Diploma Studies"

Transcription

1 REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all the necessary information from a large number of people and documents and to form a clear understanding of a problem. Availability of working model helps in gathering the requirement. Studying the existing documentation The analyst usually studies all existing documents regarding the system to be developed before visiting the customer site. These documents are about the basic purpose, the stakeholders etc. Interview All the different categories of users are interviewed to gather the different functionalities required by them. For example, to perform the requirements analysis of library automation software, the analyst might interview the library members, the librarian, and the accountants. In this technique, the analyst get the requirements as understood by him and then based on their feedback, he filter his document. This procedure is repeated till the different users agree on the set of requirements. Task analysis The users usually view software as a black box that provides a set of service is also called a task. For each identified task, the analyst tries to create the different steps necessary to the service in guidance with the users. For example, for the issue book service, the steps may be: authenticate user, check the number of books issued to the customer and determine if the maximum number of books that this member can borrow has been reached, check whether the book has been reserved, post the book issue details in the member s record, and finally print out a book issue slip that can be presented at the security counter to take out the book. Scenario analysis A task can have many scenarios of operation. The different scenarios of a task can occur when the task is invoked under different situations. For different types of scenarios of a task, the behavior of the system can be different. For example, the different scenarios for the book issue task of a library automation software may be: Book issue service is satisfactorily performed and the book issue slip is printed. The book is reserved and cannot be issued to the member. The maximum number of books that can be issued by the member is exceeded, and the book cannot be issued to the member. 1 Dept: CE FSD ( ) Piyush Bhut

2 REQUIREMENTS ANALYSIS After requirements gathering is completed the analyst analyzes the gathered requirements to clearly understand the exact customer requirements and to check out any problems in the gathered requirements. The main purpose of the requirement analysis activity is to analyze the collected information to obtain a clear understanding of the product to be developed, with a view to removing all ambiguities, incompleteness and inconsistencies. The following basic questions should be clearly understood by the analyst: What is the problem? Why is it important to solve the problem? What are the possible solutions to the problem? What exactly are the data input to the system and what exactly are the data output by the system? What are the complexities that might arise while solving the problem? If there are external software or hardware with which the developed software has to interface, then what exactly would the data interchange formats with the external system be? When the analyst detects any inconsistencies, anomalies or incompleteness in the gathered requirements, he resolves them by carrying out further discussions with the end users and the customers. SOFTWARE REQUIREMENTS SPECIFICATION After the analyst has gathered all the required information regarding the software to be developed and has remove all incompleteness, inconsistencies, and anomalies from the specification he starts to systematically organize the requirements in the form of an SRS document. SRS document contains all the user requirements. CHARACTERISTICS OF A GOOD SRS DOCUMENT The important properties of a good SRS document are the following: Correct An SRS is correct if every requirement included in the SRS, required in the final system. Correctness ensures that what is specified is done correctly. Unambiguous An SRS is unambiguous if and only if every requirement stated has one and only one interpretation. Requirements are often written in natural language. The SRS should be unambiguous both to those who create it and to those who use it. Complete The SRS is complete if, and only if, it includes the following elements: All requirements, whether relating to functionality, performance, design constraints, attributes, or external interfaces. 2 Dept: CE FSD ( ) Piyush Bhut

3 Definition of the response of the software in all situations. Note that it is important to specify the response to both valid and invalid input values. Consistent A consistent requirement does not conflict with other requirements in the requirement specification. It uses the same terminology throughout the requirement specification, and does not duplicate. Ranked for importance The SRS is ranked for importance if, and only if, has an identifier to indicate the importance of the particular requirement. Typically, all of the requirements that relate to a software product are not equally important. Some requirements may be essential, especially, while others may be desirable. Each requirement in the SRS should be identified to make these differences clear and explicit. Verifiable A requirement is verifiable if, and only if, there exists some process with which a person or machine can check that the software product meets the requirement. Verifiable means that it can be tested by inspection or analysis. Modifiable The SRS is modifiable if, and only if, its structure and style are such that any changes to the requirement can be made easily, completely, and consistently while retaining the structure and style. Modifiability generally requires an SRS to Have easy-to-use organization with a table of contents, and an index Not be redundant (i.e., the same requirement should not appear in more than one place in the SRS) Express each requirement separately, rather than intermixed with other requirements. Structured The SRS is structured if, and only if, it is moduled, and easy to understand and modify. Over the time customer requirements changes, requirement specification also changes. In order to make modification to SRS it is necessary that SRS should be well structured. Traceable A traceable requirement has a unique identity or number. It cannot be separated or broken into smaller requirements. It can easily be traced through to specification, design, and testing. REQUIREMENTS SPECIFICATION TYPES Requirement specification activity is translating the gathered information during the analysis phase into a document that defines a set of requirements. Two types of requirements may be included in this document: 1. Customer Requirement 2. System Requirement 3 Dept: CE FSD ( ) Piyush Bhut

4 System Requirements are further classified into more two types. i. Functional requirements ii. Nonfunctional requirements CUSTOMER (USER) REQUIREMENT Customer requirements are high level abstract statements of the system requirement for the customer and end user of the system. These statements are in a natural language. It describes what services the system is expected to provide to customer and the situation under which it must operate. The customer requirement is quite general and simple. SYSTEM REQUIREMENT System requirements are a more detailed description of the functionality to be provided. It describes what the system should do. The system requirements document should define exactly what is to be implemented. The system requirements provide more specific information about the services and function of the system. Functional Requirements The functional requirements discuss the functionalities expected from the system. These are statements of services that provide how the system should react to particular inputs and how the system should behave in particular situation. It describes the relationship between input and output. It also state what the system should do if any situation occurs. The system is considered to perform a set of high level functions. Each function of the system can be considered as a transformation of set of input data to the corresponding set of output data. The user can get some meaningful pieces of work done using a high level function. Document the functional requirements of a system it is necessary to first learn to identify the high level function of the system. The high level function would be split into smaller sub requirement. A high level function is one using which the user can get some useful piece of work done. For example, the receipt printing work during withdrawal of money from an ATM is called a useful piece of work? Receipt printing should not be considered a high-level requirement, because the user does not specifically request for this activity. The receipt gets printed automatically as part of the withdraw money function. In a library automation software a high level functional requirement might be search-book. This function involves accepting a book name or a set of keywords from the user running a matching algorithm on the book list and finally outputting the matched books. The generated system response can be in several form e.g. display on the terminal, a print out or transferred to the other system. High level function usually involves a series of interactions between the system and one or more users. For example as shown in figure user inputs have been represented by rectangles and the response produced by the system by circles. 4 Dept: CE FSD ( ) Piyush Bhut

5 In figure the different scenarios occur depending on the amount entered for withdrawal. Different behavior for different scenarios of the system for the same high level functions. Select withdraw cash Display account type options Enter option Prompt for amount to be withdrawn Enter amount Enter amount in multiple of 100 Print receipt Insufficient balance in account Nonfunctional requirements Nonfunctional requirements deal with the characteristics of the system which cannot be expressed as functions - such as the maintainability of the system, portability of the system, usability of the system, maximum number of current users etc. Nonfunctional requirements may include: reliability issues accuracy of results human - computer interface issues Constraints on the system implementation, etc. Example of a non functional requirement can be that the user interface of software should be usable by factory shop floor worker who may not even have a high school degree. 5 Dept: CE FSD ( ) Piyush Bhut

6 Organization of the SRS Document Organization of the SRS document depends on the system analyst, he is guided by the polices and standard followed by the company. It also depends on type of the product developed. Three basic points that any SRS document should discuss are: functional requirement, non- functional requirement and guidelines for system implementation. Depending on the specific problem being specified some section can be omitted, introduce or interchange as may be considered by the analyst. The SRS document should be organized into the indicated sections and each of the section should discuss the items mentioned under the respective section heading. For example sample organization of an SRS document which can be used as a guideline to organize an SRS document. 1. Introduction a) Purpose b) Overview c) Environmental Characteristics I. Hardware II. People 2. Goals of Implementation 3. Functional requirement a) User class 1 I. Functional requirement 1.1 II. Functional requirement 1.1 b) User class 2 I. Functional requirement 1.1 II. Functional requirement Non-Functional requirement a) External interface b) User interface c) Software interface d) Communication interface 5. Behavioral description a) System states b) Events and actions The introduction section describes the context in which the system is being developed, an overall description of the system and the environmental characteristics. The environmental characteristics subsection describes the properties of the environment with which the system will interact. For example this may include the hardware that the system will run on, the device that the system will interact. 6 Dept: CE FSD ( ) Piyush Bhut

7 Specification of the behavioral may not be necessary for all system. It is usually necessary for those system in which the system behavior depends on the state in which the system is, and the system transits among a set of states depending on some prespecified conditions and events. DESIGN PROCESS The design process is a sequence of steps that enable the designer to describe all aspects of the software to be built. It describes how the system will be implemented and how it will work. Software design deals with transforming the customer requirements, as described in the SRS document, into appropriate form that is suitable for implementation in a programming language. CLASSIFICATION OF DESIGN ACTIVITIES The activities in the design process vary depending on the type of system being developed. The below figure suggest that the stage of the design process are sequential. Design Model Database Design Architectural Design Interface Design Component Design Diagram Data Dictionary, Diagram Data Flow Diagram Data Flow Diagram, State Transition Diagram State Transition Diagram ER Architectural design, where you identify the overall structure of the system, the principal components (sometimes called sub-systems or modules), and their relationships and how they are distributed. Interface design, where you define the interfaces between system components. An interface involves a flow of information (e.g. data and control) and a specific type of behaviour. Component design, where you take each system component and design how it will operate. This is defined the expected functionality to be implemented. Database design, where you design the system data structures and how these are to be represented in a database. The data objects and relationships defined in the ER diagram and the detailed data content illustrated in the data dictionary. CLASSIFICATION OF DESIGN METHODOLOGIES A design methodology can be simply defined as a set of design procedure that one follows from the beginning to the completion of the software development process. 7 Dept: CE FSD ( ) Piyush Bhut

8 The nature of the methodology is dependent on a number of factors including type of the software being developed, requirements of the users, qualification and training of software development team, available hardware and software resources. There are fundamentally two different approaches: 1. Function oriented design: it can be further divided in two category I. Structured Analysis II. Structured Design 2. Object oriented design Function oriented design (Top-Down approach) A function oriented design is viewed as something that performs a set of functions. Starting at this high-level view of the system, each function is successively refined into more detailed functions. Each of these sub-functions may be split into more detailed sub-functions and so on. The term top-down decomposition is also used for function oriented design. This top-down design directs designer to start with a top-level description of a system and then treat this view step by step. With each improvement, the system is decomposed into lower-level and smaller modules. Top-down decomposition requires identifying the major higher level system requirements and functions and the breaking them down in sub modules. Thus this design approach reduces the size of each module. Some well established function oriented approaches are Jackson s Structure Design and DFD. Structured Analysis It is used to transform a textual problem description into graphical form. It carry out functional decomposition, each function that the system performs is analyzed and hierarchically decomposed into more detailed function. Structured analysis is based on the following philosophy: i) top-down decomposition, ii) decompose each function individually, and iii) analyze result using graphical representation. Graphical representations used for functional decomposition are DFD and ER Diagram. Structured Design During Structured design all functions identified during analysis mapped to module structure. Structured design defines a structure of solution that is suitable to implement to programming language. The aim of structured design is to transform the results of the structured analysis (i.e. DFD) into a structure chart. The structure chart is tree like diagram a popular way to represent the control hierarchy in a high level design. Object oriented design In the Object oriented design approach the system is viewed as collection of objects (i.e. entities). Object Oriented Design supports following object oriented concepts such as Abstraction, Information Hiding, Functional Independence, and Modularity. 8 Dept: CE FSD ( ) Piyush Bhut

9 Design is the initial step in moving towards from the problem domain to the solution domain. A detailed design includes specification of all the classes with its attributes, detailed interface. The purpose of design is to specify a working solution that can be easily translated into a programming language code. UML modeling and Use Case are used in object oriented designing. COHESION Cohesion means the measure of the strength of function relatedness of elements within a module. Elements include instructions, groups of instructions, data definition, and call of another module. Cohesion means how closely the elements of a module are related to each other. It represents how tightly bound the internal elements of the module are to one another. The classification of cohesion are given beloved: Coincidental cohesion A module is said to have coincidental cohesion, if it performs a set of tasks that relate to each other very loosely. In this case, the module contains a random collection of functions. It is likely that the functions have been put in the module out of pure coincidence without any thought or design. For example, in a transaction processing system (TPS), the get-input, print-error, and summarizemembers functions are grouped into one module. The grouping does not have any relevance to the structure of the problem. Logical cohesion A module is said to be logically cohesive, if all elements of the module perform similar operations, e.g. error handling, data input, data output, etc. An example of logical cohesion is the case where a set of print functions generating different output reports are arranged into a single module. Temporal cohesion When a module contains functions that are related by the fact that all the functions must be executed in the same time span, the module is said to exhibit temporal cohesion. The set of functions responsible for start-up, shutdown of some process, etc. exhibit temporal cohesion. Procedural cohesion A module is said to possess procedural cohesion, if the set of functions of the module are all part of a procedure (algorithm) in which certain sequence of steps have to be carried out for achieving an objective, e.g. the algorithm for decoding a message. Communicational cohesion A module is said to have communicational cohesion, if all functions of the module refer to or update the same data structure, e.g. the set of functions defined on an array or a stack. 9 Dept: CE FSD ( ) Piyush Bhut

10 Sequential cohesion A module is said to possess sequential cohesion, if the elements of a module form the parts of sequence, where the output from one element of the sequence is input to the next. For example, in a TPS, the get-input, validate-input, sort-input functions are grouped into one module. Functional cohesion Functional cohesion is said to exist, if different elements of a module cooperate to achieve a single function. In a functionally bound module, all the elements of the module are related to performing a single function. For example, a module containing all the functions required to manage employees pay-roll exhibits functional cohesion. COUPLING Coupling between two modules is a measure of the degree of interdependence or interaction between the two modules. A module having high cohesion and low coupling is said to be functionally independent of other modules. If two modules interchange large amounts of data, then they are highly interdependent. The degree of coupling between two modules depends on their interface complexity. The interface complexity is basically determined by the number of types of parameters that are interchanged while invoking the functions of the module. The classification of cohesion are given beloved: Data coupling Two modules are data coupled, if they communicate through a parameter. An example is an elementary data item passed as a parameter between two modules, e.g. an integer, a float, a character, etc. This data item should be problem related and not used for the control purpose. Stamp coupling Two modules are stamp coupled, if they communicate using a composite data item such as a record in PASCAL or a structure in C. Control coupling Control coupling exists between two modules, if data from one module is used to direct the order of instructions execution in another. An example of control coupling is a flag set in one module and tested in another module. Common coupling Two modules are common coupled, if they share data through some global data items. 10 Dept: CE FSD ( ) Piyush Bhut

11 Content coupling Content coupling exists between two modules, if they share code. That is a jump from one module into the code of another module can occur. e.g. a branch from one module into another module. DATA MODELING CONCEPTS ER diagram represent a set of real-world entities and the logical relationships among them. This diagram depicts entities, the relationships between them, and the attributes pictorially in order to provide a high-level description of conceptual data models. Once an ER diagram is created, the information represented by it is stored in the database. Note that the information depicted in an ER diagram is independent of the type of database and can later be used to create database of any kind such as relational database, network database, or hierarchical database. An ER diagram comprises data objects and entities, data attributes, relationships, and cardinality and modality. Data object Data object is a representation of composite information used by software. Composite information refers to different features or attributes of a data object and this object can be in any of the following forms. External entity: Describes the data that produces or accepts information. For example, a report. Occurrence: Describes an action of a process. For example, a telephone calls. Event: Describes a happening that occurs at a specific place or time. For example, an alarm. Role: Describes the activities assigned to an individual or object. For example, a systems analyst. Place: Describes the location of objects or storage area. For example, CE Department. Structure: Describes the arrangement and composition of objects. For example, a file. An entity is the data that stores information about the system in a database. Examples of an entity include real world objects, transactions, and persons. Data attributes Data attributes describe the properties of a data object. Attributes that identify entities are known as key attributes. On the other hand, attributes that describe an entity are known as non-key attributes. Generally, a data attribute is used to perform the following functions. Naming an instance (occurrence) of data object Description of the instance Making reference to another instance in another table. Data attributes help to identify and classify an occurrence of entity or a relationship. These attributes represent the information required to develop software and there can be several attributes for a single entity. For example, attributes of 'account' entity are 'number', 'balance', and so on. Similarly, attributes of 'user' entity are 'name', 'address', and 'age'. However, it is important to consider the maximum attributes during requirements gathering because with more attributes, it is easier for the software development team to develop the software. 11 Dept: CE FSD ( ) Piyush Bhut

12 Relationships Entities are linked to each other in different ways. This link or connection of data objects or entities with each other is known as relationship. Note that there should be at least two entities to establish a relationship between them. Once the entities are identified, the software development team checks whether a relationship exists between them. Relationship is represented using diamond shape symbol with joined relationship name. To understand entities, data attributes, and relationship, let us consider an example. Suppose in a computerized banking system, one of the processes is to use a saving account,' which includes two entities, namely, 'user' and 'account'. Each 'user' has a unique 'account number', which makes it easy for the bank to refer to a particular registered user. Depending upon the type and nature of transactions, it can be of various types such as current account, saving account, or overdraft account. The relationship between the user and the account can be described as 'user has account in a bank'. Entities are represented by rectangles, attributes are represented by ellipses, and relationships are represented by diamond symbols. A key attribute is also depicted by an ellipse but with a line below it. This line below the text in the ellipse indicates the uniqueness of each entity. Cardinality Cardinality specifies the number of occurrences (instances) of one data object or entity that relates to the number of occurrence of another data object or entity. It also specifies the number of entities that are included in a relationship. Different cardinalities are explained below: One-to-one (1:1): Indicates that one instance of an entity is related only to one instance of another entity. For example, in a bank, each user is related to only one account number. 12 Dept: CE FSD ( ) Piyush Bhut

13 One-to-many (1:M): Indicates that one instance of an entity is related to several instances of another entity. For example, one user can have many accounts in different banks. Many-to-many (M: M): Indicates that many instances of entities are related to several instances of another entity. For example, many users can have their accounts in many banks. Modality Modality describes the possibility whether a relationship between two or more entities and data objects is required. The modality of a relationship is 0 if the relationship is optional. However, the modality is 1 if an occurrence of the relationship is essential. To understand the concept of cardinality and modality properly, let us consider an example. User entity is related to order entity. Here, cardinality for 'user' entity indicates that the user places an order whereas modality for 'user' entity indicates that it is necessary for a user to place an order. Cardinality for 'order' indicates that a single user can place many orders whereas modality for 'order' entity indicates that a user can arrive without any 'order'. DATA FLOW DIAGRAM (DFD) The DFD (also known as a bubble chart) is a hierarchical graphical model of a system that shows the different processing activities or functions that the system performs and the data interchange among these functions. Each function is considered as a processing station (or process) that consumes some input data and produces some output data. The system is represented in terms of the input data to the system, various processing carried out on these data, and the output data generated by the system. PRIMITIVE SYMBOLS OF DFD A DFD model uses a very limited number of primitive symbols as shown in figure to represent the functions performed by a system and the data flow among these functions. External entity: The external entities are those physical entities external to the software system which interact with the system by inputting data to the system or by consuming the data produce by the system. External entity is represented by a rectangle. For example librarian, library member. 13 Dept: CE FSD ( ) Piyush Bhut

14 External entity Process Output Data flow Data store Function: A function is represented using a circle. This symbol is called a process or a bubble. Data flow: A directed arc or an arrow is used as a data flow symbol. A data flow represents the data flow occurring between two processes or between an external entity and a process in the direction of the data flow arrow. Data store: A data store is represented using two parallel lines. It represents a logical file. It represents data structure or a physical file on disk. Each data store is connected to a process. The direction of the data flow arrows shows whether data is being read from or written into a data store. Output: The output symbol is as shown in figure. The output symbol is used when a hard copy is produced. DEVELOP DFD MODEL OF SYSTEM A DFD model of a system graphically depicts the transformation of the data input to the system to the final result through a hierarchy of levels. The top level DFD is called the level 0 DFD or the context diagram. A DFD starts with the most abstract definition of the system (lowest level) and at each higher level DFD, more details are successively introduced. To develop a higher-level DFD model, processes are decomposed into their sub-processes and the data flow among these sub-processes is identified. To develop the data flow model of a system, first the most abstract representation of the problem is to be worked out. The most abstract representation of the problem is also called the context diagram. After, developing the context diagram, the higher-level DFDs have to be developed. Context Diagram (Level 0) The context diagram is the most abstract data flow representation of a system. It represents the entire system as a single bubble. This bubble is labeled according to the main function of the system. The various external entities with which the system interacts and the data flow occurring between the system and the external entities are also represented. The data input to the system and the data output from the system are represented as incoming and outgoing arrows. These data flow arrows should be annotated with the corresponding data names. The name context diagram is well justified because it represents the context in which the system is to exist, i.e. the external entities who would interact with the system and the specific data items they would be supplying the system and the data items they would be receiving from the system. 14 Dept: CE FSD ( ) Piyush Bhut

15 The context diagram is also called as the level 0 DFD. To develop the context diagram of the system, it is required to analyze the SRS document to identify the different types of users who would be using the system and the kinds of data they would be inputting to the system and the data they would be receiving the system. Here, the term users of the system also includes the external systems which supply data to or receive data from the system. Construction of the context diagram: Examine the SRS document to determine: Different high level functions that the system needs to perform Data input to every high level function Data output from every high level function Interactions (data flow) among the identified high level function Level 1 15 Dept: CE FSD ( ) Piyush Bhut

16 Include all entities and data stores that are directly connected by data flow to the one process you are breaking down. Show all other data stores that are shared by the processes in this breakdown. Decomposition at further level 1 DFD have processes with label 1.0, 2.0, 3.0, and so on. Shortcoming (Disadvantage) of DFD Model DFDs for large system can be become complex, difficult to understand and be time consuming in their construction. Data flow can become confusing to programmer if it is not well defined. DFD does not specify exactly in which order processes are executed. There are multiple possible ways to execute processes. So several alternate presentations can be possible. In DFD which inputs are consumed and which outputs are produced are not specified. DFD does not provide clear view about decomposition of any process to its sub-process. SCENARIO BASED MODELING UNIFIED MODELING LANGUAGE (UML) UML, as the name implies, is a modeling language. It provides a set of notations (e.g. rectangles, lines, ellipses, etc.) to create a visual model of the system. UML has its own syntax (symbols and sentence formation rules) and semantics (meanings of symbols and sentences). UML is not a system design or development methodology, but can be used to document objectoriented and analysis results obtained using some methodology. WRITING USE CASES While developing software, it is essential for the development team to consider user satisfaction as a top priority to make the software successful. For this, the development team needs to understand how users will interact with the system. This information helps the team to carefully characterize each user requirements and then create a meaningful and relevant analysis model and design model. For this, the software engineer creates scenarios in the form of use-cases to describe the system from the users' perspective. In addition, use-cases describe the tasks or series of tasks in which the users will use the software under a specific set of conditions. Each use-case provides one or more scenarios in order to understand how a system should interact with another system to accomplish the required task. Note that use-cases do not provide descriptions about the implementation of software. Use-cases are represented with the help of a use-case diagram, which depicts the relationships among actors and use cases within a system. A use-case diagram describes what exists outside the system (actors) and what should be performed by the system (use-cases). The notations used to represent a use-case diagram are listed in Table. 16 Dept: CE FSD ( ) Piyush Bhut

17 Name Actor Use-case Communication link Use link Description Relates to the roles people play in an organization or a project. Actors are different kinds of users who use the system in various ways. For example, one actor can be a library user whereas another user can be part of the library staff. Describes a specific instance of a system function. Indicates the interaction between the actor and the system. Communication link is the default line used in a use-case diagram. Indicates that one of the use-case uses the behavior described by another use-case. Customer (actor) uses bank ATM to check balances of his/her bank accounts, deposit funds, withdraw cash and transfer funds (use cases). ATM Technician provides maintenance and repairs. All these use cases also involve Bank actor whether it is related to customer transactions or to the ATM servicing. Generalization Use case generalization can be used when one use case that is similar to another, but does something slightly differently or something more. Generalization works the same way with use cases as it does with classes. The child use case inherits the behavior and meaning of the parent use case. The notation for generalization is as shown in figure. It is important to remember that the base and the derived use cases are separate use cases and should have separate text descriptions. 17 Dept: CE FSD ( ) Piyush Bhut

18 Pay membership fee Pay through credit card Pay through library pay card Includes The includes relationship involves one use case including the behavior of another use case in its sequence of events and actions. The includes relationship occurs when a part of behavior that is similar across a number of use cases. The factoring of such behavior will help in not repeating the specification and implementation across different use cases. The includes relationship explores the issue of reuse by factoring out the commonality across use cases. It decomposes a large and complex use cases into more manageable parts. As shown in figure, the includes relationship is represented using a predefined stereotype <<include>>. In the includes relationship, a base use case compulsorily and automatically includes the behavior of the common use cases. As shown in example figure, deposit funds and withdraw cash both include customer authentication use case. The base use case may include several use cases. Deposit Funds Withdraw cash <<include>> <<include>> Customer Authentication ACTIVITY DIAGRAM An activity diagram illustrates the dynamic nature of a system by modeling the flow of control from activity to activity. An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business processes and internal operation. 18 Dept: CE FSD ( ) Piyush Bhut

19 Basic Activity Diagram Symbols and Notations Action states Action states represent the actions of objects. You can draw an action state using a rectangle with rounded corners. Action Flow Action flow arrows illustrate the relationships among action states. Initial State A filled circle followed by an arrow represents the initial action state. Final State An arrow pointing to a filled circle nested inside another circle represents the final action state. Branching A diamond represents a decision with alternate paths. The outgoing alternates should be labeled with a condition or guard expression. You can also label one of the paths "else." 19 Dept: CE FSD ( ) Piyush Bhut

20 20 Dept: CE FSD ( ) Piyush Bhut

21 Synchronization A synchronization bar helps illustrate parallel transitions. Synchronization is also called forking and joining. Swimlanes Swimlanes group related activities into one column. For example, activity diagram of ATM machine ARCHITECTURAL DESIGN DECISIONS Design and implementation Software design and implementation is the stage in the software engineering process at which an executable software system is developed. Software design is a creative activity in which you identify software components and their relationships, based on a customer s requirements. Implementation is the process of realizing the design as a program. Software Architecture The design process for identifying the sub-systems making up a system and the framework for subsystem control and communication is architectural design. The output of this design process is a description of the software architecture. 21 Dept: CE FSD ( ) Piyush Bhut

22 Architectural design decisions Architectural design is a creative process so the process differs depending on the type of system being developed. However, a number of common decisions span all design processes and these decisions affect the nonfunctional characteristics of the system. Is there a generic application architecture that can be used? How will the system be distributed? What architectural styles are appropriate? What approach will be used to structure the system? How will the system be decomposed into modules? How should the architecture be documented? ARCHITECTURAL VIEWS What views or look are useful when designing and documenting a system s architecture? What notations should be used for describing architectural models? Each architectural model only shows one view or look of the system. It might show how a system is decomposed into modules, how the run-time processes interact or the different ways in which system components are distributed across a network. For both design and documentation, you usually need to present multiple views of the software architecture view model of software architecture 1. A logical view, which shows the key abstractions in the system as objects or object classes. 2. A process view, which shows how, at run-time, the system, is composed of interacting processes. 3. A development view, which shows how the software is decomposed for development. Means it shows the breakdown of software into modules. 4. A physical view, which shows the system hardware and how software components are distributed across the processors in the system. ARCHITECTURAL PATTERNS Patterns are a means of representing, sharing and reusing knowledge. An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments. Patterns should include information about when they are and when they are not useful. MVC (Model-View-Controller) Pattern Separates presentation and interaction from the system data. The system is structured into three logical components that interact with each other. The Model component manages the system data and associated operations on that data. The View component defines and manages how the data is presented to the user. The Controller component manages user interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View and the Model. 22 Dept: CE FSD ( ) Piyush Bhut

23 Used when there are multiple ways to view and interact with data. Also used when the future requirements for interaction and presentation of data are unknown. Allows the data to change independently of its representation and vice versa. Supports presentation of the same data in different ways with changes made in one representation shown in all of them. Can involve additional code and code complexity when the data model and interactions are simple. Layered architecture Pattern Organizes the system into layers with related functionality associated with each layer. A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system. 23 Dept: CE FSD ( ) Piyush Bhut

24 Client-server In client server architecture, the functionality of the system is organized into services, with each service delivered from a separate server. Clients are users of these services and access servers to make use of them. Used when data in a shared database has to be accessed from a range of locations. Because servers can be replicated, may also be used when the load on a system is variable. The principal advantage of this model is that servers can be distributed across a network. General functionality (e.g., a printing service) can be available to all clients and does not need to be implemented by all services. APPLICATION ARCHITECTURES Software application architecture is the process of defining a structured solution that meets all the technical and operational requirements. Application architecture is the organizational design of an entire software application including all sub component and external applications. Application architecture helps us to understand the operations of the system. It describes the layout of application s deployment. Use of application architectures As a starting point for architectural design. As a way of organizing the work of the development team. As a means of assessing components for reuse. As a vocabulary for talking about application types. 24 Dept: CE FSD ( ) Piyush Bhut

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than

More information

UNIT II Requirements Analysis and Specification & Software Design

UNIT II Requirements Analysis and Specification & Software Design UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they

More information

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. SE Assignment III 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example. There are essentially 5 different types of symbols used

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING. 2 Marks and 11 Marks for Unit - 3

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING. 2 Marks and 11 Marks for Unit - 3 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Subject Name: Subject Code: Staff name: Software Engineering CS T55 Dr K. Shantha Kumari 2 Marks and 11 Marks for Unit - 3 Software Design and Function Oriented

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur Module 5 Function-Oriented Software Design Lesson 12 Structured Design Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the aim of structured design. Explain

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

SOFTWARE ANALYSIS & DESIGN TOOLS

SOFTWARE ANALYSIS & DESIGN TOOLS SOFTWARE ANALYSIS & DESIGN TOOLS http://www.tutorialspoint.com/software_engineering/software_analysis_design_tools.htm Copyright tutorialspoint.com Software analysis and design includes all activities,

More information

Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Software Design. Software design is a blueprint or a plan for a computerbased solution for system Software Design Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 6 Architectural Design. Chapter 6 Architectural design Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

Lecture 1. Chapter 6 Architectural design

Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process

More information

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of CA INTERNAL ASSESSENT TEST II Date : 20/09/2016 ax.arks: 50 Subject & Code: Software Engineering

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

Data. Entities. Accounting Information Systems. Chapter 4: Data Management

Data. Entities. Accounting Information Systems. Chapter 4: Data Management Accounting Information Systems Chapter 4: Data Management Data Data may be defined broadly to include two interrelated components: Data Models that provide structure to data File Orientation Data-base

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

Recommended Practice for Software Requirements Specifications (IEEE)

Recommended Practice for Software Requirements Specifications (IEEE) Recommended Practice for Software Requirements Specifications (IEEE) Author: John Doe Revision: 29/Dec/11 Abstract: The content and qualities of a good software requirements specification (SRS) are described

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Software Design Fundamentals. CSCE Lecture 11-09/27/2016

Software Design Fundamentals. CSCE Lecture 11-09/27/2016 Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department 1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

Chapter 4: Data Management

Chapter 4: Data Management Accounting Information Systems: Essential Concepts and Applications Fourth Edition by Wilkinson, Cerullo, Raval, and Wong-On-Wing Chapter 4: Data Management Slides Authored by Somnath Bhattacharya, Ph.D.

More information

Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license.

Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license. Working with Health IT Systems is available under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported license. Johns Hopkins University. Welcome to the Fundamentals of Health Workflow

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases

More information

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior CS 307: Software Engineering Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person

More information

Ch 4: Requirements Engineering. What are requirements?

Ch 4: Requirements Engineering. What are requirements? Ch 4: Engineering What are? Functional and non-functional The software document specification engineering processes elicitation and analysis validation management The descriptions of what the system should

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural Design. Architectural Design. Software Architecture. Architectural Models Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

1. i. What are the 3 major components of a information system and show their relationship input output

1. i. What are the 3 major components of a information system and show their relationship input output Higher National Diploma in Information Technology First Year, Second semesterexamination-2011 IT2005: System Analysis and Design Answer Script No. of pages: 11 1. i. What are the 3 major components of

More information

System Analysis & design

System Analysis & design Assiut University Faculty of Computers and Information System Analysis & design Year 2 Academic Year 2014/ 2015 Term (2) 5 A PICTURE IS WORTH A 1,000 WORDS A process model is a graphical way of representing

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

OBJECT ORIENTED MODELLING & DESIGN 1

OBJECT ORIENTED MODELLING & DESIGN 1 OBJECT ORIENTED MODELLING & DESIGN 1 Contents 1. OBJECT ORIENTED CONCEPTS... 6 OBJECT... 6 CLASS... 6 CLASS vs OBJECT... 6 WHAT IS OBJECT ORIENTED?... 6 OBJECT ORIENTED METHODOLOGY... 7 ADVANTAGES OF OBJECT

More information

Chapter 6 Architectural Design

Chapter 6 Architectural Design Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural

More information

Restricted Use Case Modeling Approach

Restricted Use Case Modeling Approach RUCM TAO YUE tao@simula.no Simula Research Laboratory Restricted Use Case Modeling Approach User Manual April 2010 Preface Use case modeling is commonly applied to document requirements. Restricted Use

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

Unit-3 Software Design (Lecture Notes)

Unit-3 Software Design (Lecture Notes) Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) Appendix H Unified Modeling Language (UML) Preview The Unified Modeling Language (UML) is an object-oriented modeling language sponsored by the Object Management Group (OMG) and published as a standard

More information

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system)

Topics. Overview- The UML Functional Model. Structural Model. Behavioral Models. Use Case Diagram (essential and system) Topics Overview- The UML Functional Model Use Case Diagram (essential and system) Structural Model Class/object, Component and Deployment Diagram Behavioral Models Activity, State chart, sequence /collaboration

More information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2) SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen

More information

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS Previously Key features of programming languages Software Development Lifecycle Using tools to demonstrate

More information

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III Analysis Modeling What is Analysis Modeling? Analysis modeling uses a combination of text and diagrammatic forms to depict(represent) requirements for data, function, and behavior These text and diagrammatic

More information

10조 이호진 이지 호

10조 이호진 이지 호 10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.

More information

Lesson 06. Requirement Engineering Processes

Lesson 06. Requirement Engineering Processes Lesson 06 Requirement Engineering Processes W.C.Uduwela Department of Mathematics and Computer Science Objectives To describe the principal requirements engineering activities and their relationships To

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML What s Next INF 117 Project in Software Engineering Lecture Notes -Spring Quarter, 2008 Michele Rousseau Set 6 System Architecture, UML Set 6 2 Announcements kreqs should be complete Except minor changes

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Chapter 6 Structuring System Requirements: Process Modeling 6.1

Chapter 6 Structuring System Requirements: Process Modeling 6.1 Chapter 6 Structuring System Requirements: Process Modeling 6.1 Learning Objectives Explain process modeling Discuss data-flow diagramming mechanics, definitions, and rules Discuss balancing data-flow

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) A process has a: 1) A) pronoun label B) noun phrase label C) verb phrase label D) adjective

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504 Subjective Midterm Examination 2011 Question No: 1 ( Marks: 3 ) Define Asynchronous Messages and Synchronous

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Chapter 2: Entity-Relationship Model

Chapter 2: Entity-Relationship Model Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Lecture 9 Requirements Engineering II

Lecture 9 Requirements Engineering II Lecture 9 Requirements Engineering II Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 23, 2008 Announcements

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

UML- a Brief Look UML and the Process

UML- a Brief Look UML and the Process UML- a Brief Look UML grew out of great variety of ways Design and develop object-oriented models and designs By mid 1990s Number of credible approaches reduced to three Work further developed and refined

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

Software Architecture and Design I

Software Architecture and Design I Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How

More information

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 9 Process Modeling McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives Define systems modeling and differentiate logical and physical models. Define

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

More information

Structured and Object Oriented Analysis and Design

Structured and Object Oriented Analysis and Design RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NERUL Department of Computer Engineering Lab Manual Structured and Object Oriented Analysis and Design 2015-2016 List of Experiments Subject: Structured and object

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development Goals The object-oriented philosophy and why we need to study it.

More information

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis. SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented

More information

Modeling Issues Modeling Enterprises. Modeling

Modeling Issues Modeling Enterprises. Modeling Modeling Issues Modeling Enterprises SE502: Software Requirements Engineering Modeling Modeling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements

More information

Characterizing your Objects

Characterizing your Objects Characterizing your Objects Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 2, No. 5 By: Rebecca J. Wirfs-Brock In this column I ll describe some vocabulary I find useful to characterize

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Use Cases" Software Models and Representations" Part 4" More, and Multiple Models"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Use Cases Software Models and Representations Part 4 More, and Multiple Models Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

Computer Science 520/620 Spring 2013 Prof. L. Osterweil" Software Models and Representations" Part 4" More, and Multiple Models" Use Cases"

Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Computer Science 520/620 Spring 2013 Prof. L. Osterweil Software Models and Representations Part 4 More, and Multiple Models Use Cases Specify actors and how they interact with various component parts

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

CASE TOOLS LAB VIVA QUESTION

CASE TOOLS LAB VIVA QUESTION 1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

UNIT-II Introduction to UML

UNIT-II Introduction to UML UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development

More information