You are on page 1of 10

Summary of Software Engineering Technical Reference. eTechnology Curriculum.

NIIT2000 Section One: System Development Life Cycle


Introduction to IS 1. A system is a collection of components that work towards achieving a common goal 2. An information system provides information to the people in organisation 3. An IS comprises of: People, Process, Equipment 4. There two types of IS: transaction processing system ( interaction in computer database) and decision support system (assist user in making complex decision) 5. People involved in IS are: users, managers, system analysis, programmers. Users define their requirement for the new system. Manager concerns in efficiency and effectiveness of new system, decide whether a system needs to be automated, organises and allocates resources, determines the projects goals and estimates the cost, System analysis involves in analysing the user requirement and designing the system, overcoming any resistance from people, and gaining the acceptance. System Analyst has to have good communication skill, interpretation skill, business system knowledge and interpersonal skill Phases in a System Development Project 6. 7. 8. A system development life cycle (SDLC) encompasses all activities required to define, develop, test, deliver, operate and maintain a software system. The process to implement the SDLC is called software production process Software Production process may implement the following models: waterfall (phase model), evolutionary model (prototyping model), and spiral model. Waterfall model views software development process as collection of phase: a. Conception: identify the problem, objective of the phase, goal to be achieved, benefit of new system and scope of the project. All details should be recorded in a form document called project request form b. Initiation: to conduct preliminary study of user needs. This information will cover: proposed solution, alternative solution, cost benefit analysis, time schedule and cost estimate of the project. Detailed document to record those information is called system proposal c. Analysis: User and analyst come to detail agreement on the function of the project, input and output system, procedure to get output from given input. Output of this information is recorded in a document called functional specification. It also include: system acceptance criteria (system quality, system performance, accuracy, sample test, completeness of documentation and training) d. Design: translating the model into a design e. Construction : writing code and operation instruction f. Testing

Appendix D. Summary Software Engineering

D.1

g. Implementation and maintenance: converting a new system design into operation: abrupt cut over, parallel run, location conversion, staged conversion 9. In evolutionary model, a prototype is built to understand requirement. Then the prototype is used to build full-scale system. 10. Spiral model aims at incorporating the strength and avoiding the difficulties of the other model by shifting the management emphasis to risk analysis evolution and resolution. Each phase in the spiral model has activities: objective setting, risk analysis, engineering, and customer evaluation. Review questions What are different type of information systems What are the phases in the Waterfall model of system development Linsey Inc. provides software solution to organize across the world. All their customers ask for a model of the final product. Which software development model should be employed: waterfall, prototyping and Spiral model Draw context analysis diagram for payroll system: The payroll system gets the employee details from the personnel department and prepare the salary statement, which is sent to the account department, and salary slips, which are sent to the Personal department

Section Two: Data Flow Diagram


1. DFD was developed by DeMarco (1978), Gane and Sarson (1979). It provides a graphic tool to explain their understanding of the user system. It can readily be converted into a structure which is used in designing a system DFD does not show the sequence of process. 2. Need to be simple, so that user can go through, understand and suggest corrections. DFD has four elements: a. An external entity: it is a source and/or destination of data. It lies outside of the context system b. A data flow represents path of data as it flows through the system. It portrays an interface among the different components. c. A process represents some work being done on data. Each Process has one or more data input and products one or more data output. d. A data source: a repository of data. 3. The steps to draw DFD a. fix the scope of system and identify all the external entities b. identify all inputs and outputs systems c. fill in a body of DFD d. label all data flow e. label all the processes f. Omit trivial error handling details. Error can be considered trivial if: they are not important financially, low probability in occurrence, and irrelevant. g. show data flow correctly (balanced DFD) Appendix D. Summary Software Engineering D.2

h. do not depict control flow, if there is no information flowing, then the flow is control flow. 4. A data flow can connect: two processes, external entity and a process, a process and a data store. A data flow cannot connect: a. two external entities b. two data store c. a data store and an external entity 5. A flow between a data store and a process is double headed if the data accessed by the process is being used in processing, and the data store is also being updated. Ideally, the data flow should not across. 6. Type of DFD are: a. Physical DFD depicts various people doing jobs in an organisation. It represents physical components of a system b. Logical DFD depicts the processes in a system 7. Verifying DFD. A DFD may have the following four common flaws (process): a black hole (all inputs, no output), white hole (miracle bubble-all output, no input), uncommunicative DFD and unrelated model. 8. A DFD can be further exploded in order to provide clarity Review Questions What are DFDs? Why are they required? In which phase of SDLC are DFDs used? What is the difference between logical and physical DFD? Why do you need to explode a DFD? Draw a CAD and logical DFD for the following case The front office of a five star hotel is responsible for room reservations, room allocation, and the final settlement of bills. Any company or person can reserve rooms for their future stay. They have to inform about the period of their stay, and about the number of rooms required. Sometimes, a reservation could be cancelled or the dates or number of rooms changed. For all transactions including reservation, cancellation, and modification, the customer receives an appropriate acknowledgment

Section Three. Identifying the Automation Boundary


1. The context of a system is identified by drawing a dotted line around the processes that are directly related to the goals of the system 2. The context of a new system might have to be extended for the following reasons: to include processes which creates files used by new system, if the system in online and to satisfy user request 3. Two thumb-rules for drawing DFD new system are: omit query and reporting processes from the explosion of new system, and use data store to connect all the processes. 4. The organisation of data may have to change in the new system. It can facilitate new system or to remove manual processing Appendix D. Summary Software Engineering D.3

5. In a batch processing system, processes must be included within the automated system

Section Four Defining the DFD Elements


1. Data dictionaries are the tools of describing DFD elements: external entities, data store and data flow, data element and data structure. It also describes processes and process logic. 2. The smallest unit of data is called a data element 3. A data structure consists of data elements, data structure, or both 4. Data flows and data stores are defined by data structures. Several convention used to defining data structures are: {} one of the enclose options is selected *(n-m) it deno0tes the range of iteration [] the enclosed component are optional 5. The process logic for a process can be describe using one of the following tools: structured English: describing for any process decision tress: providing graphics representation of decision logic that non-technical people can find easy way to understand decision table: checking all possible combinations that might arise for all the conditions Review Questions What is a data dictionary? Why do you require it? An international airline initiated a frequent traveller program designed to encourage passengers to fly regularly and earn awards based on miles flown. The airline policy is specify as follows: Passengers who fly more than 100000 miles per calendar year and in addition pay cash for tickets or have been flying the airline regularly for more than five years are to receive a free-round trip ticket around the world. Passengers who fly less than 100000 miles per calendar year and have been flying the airline regularly for more than five years also gets a free round trip ticket around the world. Develop a decision table for passenger free ticket Represent the logic using structure English Given below is the process specification for deleting of suspected accounts as narrated by a user. Convert the specification into structured English We go through the account file, one customer record at a time. For each customer record, we do the following things: First we ask, if it has been marked suspended in the account status indicator. If so, we ask if the date of the last transaction is more than 30 days before the current date. If it is, we marked the account status as retired,

Appendix D. Summary Software Engineering

D.4

set the date of the last transaction to the current date, write a copy of the customer record to the history log, and delete the customer from the account file.

Section Five Entity Relationship Model


1. Modelling simplifies the job understanding complex situations by introducing clarity into the system. There are two models: process modelling and data modelling. 2. Process modelling refers to the system in terms of the processes that the system made up of, interaction between the process and internal entity, and interaction between processes (top-down approach and supported widely by DFD). 3. Data modelling refers to the system in terms of its entities, their attributes, and relationship among the entities. This model should be stable, consistent and universal. Stability means resistant to change as requirements evolve and scope expand. Consistency means definitions of data objects are concise and mutually exclusive. Universality means the model supports the information requirements of all the concerned users. 4. In ERD technique, entities are represented by rectangles, relationship by diamonds and attributes by ellipses. The type of relationships: many to many, one to many and one to one are represented symbolically. Weak entities are dependent entities and represented by double-lined box. Subtypes are connected to a super type by an unnamed relationship marked with a crossbar on the top. 5. Entity type is a set of things that share common properties, for example student, course, and grade. Entity instance is specific individual thing or object, for example Sally Chang, Philosophy. 6. Entity B is existence-dependent on entity A when: An instance of A must exist before B can exist, and if A ceases to exist, B must also cease to exist. Dependent entity is weak entity and independent entities are regular entities. 7. In a relational model, data is represented in tables of rows (tuples) and columns (attributes). An attribute or set of attributes that is unique in every tuple is called primary key. Unknown or missing information is represented by a NULL. The foreign key is a column in one table that matches the primary key of another table. 8. Each entity maps on to a table. Each attribute in an E/R diagram maps on an attribute in a table. Subtypes and super type map on to tables. 9. Many-to-many relationships map on to tables, One-to-many and many-to-one relationships become foreign keys. One-to-one relationships are not very common and may map on to the foreign keys in the tables. 10. A database that conforms to an ER diagram can be represented by collection of tables in the relational system. 11. Regular entities will map on to two separate tables. Entities with common attributers should be merged. Attribute may be split into sub-attributes and become entities. 12. Primary key is used to uniquely identify each tuple in a table. Any attribute that are uniquely identify a row in a table can be primary key or candidate key. Any attribute that is candidate key but not primary key is called alternate key. Composite key is made up of two or more attribute. Foreign key always represent relationship. Appendix D. Summary Software Engineering D.5

13. Optional attributes should be replaced with sub-entities, which is called specialisation. To simplify references a new super-entity should be introduced, which is termed as generalisation Review Questions What are the different types of modelling? What are different elements of an E/R Diagram? A computer institute registers various students for different courses. The courses are taught by faculty members at the institute. A student may register for one or more courses and a course may have one or more students. A course is taught by one faculty. However, a faculty may conduct multiple courses. The information to be stored about students includes the registration number, name, address, phone, date-ofbirth and date-of-joining. The course details to be stored include course_ID, course_name, duration, and fees. Faculty details to be stored are faculty_id, name, address, and phone number. Draw an E/R diagram using the above specifications. Map the E/R diagram to tables.

Section Six Normalization


1. 2. 3. There are two approaches: top-down (best for synthesis of new design: ERD), and bottom-up (validating of existing design) Normalization is step by step decomposition of complex records into simple record. A normalized design ensures that the repetition of data is eliminated, all necessary data can be represented and no loss information occurs. Normal form 1st normal form: no repeating group and single atomic value 2nd normal form: 1st normal form + every attribute is functionally dependent upon the whole key and not part of a key 3rd normal form: 2nd normal form+ every non-key attribute is functionally dependent on the only primary key. There is no indirect dependence Boyce-Codd normal form: every determinant is a candidate key Converting a table to 1st NF: separate all elements in repeating group, represent them in new data structure, identify key field from original data structure, and represent them in new data structure. Given a relation R. The attribute Y of R is functionally dependent on the attribute X of R if and only if each value of X in R has precisely on value of Y in R associated with it at any one time. The attribute Y of R is fully functionally dependent on the attribute X of R if it is functionally dependent on X and not functionally dependent on any proper subset of X. Converting a table to 2nd NF: find and remove attribute that are functionally dependent on only a part of the key and not on the whole key. Place them in a different table. Group remaining table.

4. 5.

6.

Appendix D. Summary Software Engineering

D.6

7.

A determinant in a table is an attribute or a composite of attributes on which some other attributes of the table is fully functionally dependent. For reason of speed, denormalisation may be desirable Review Questions Course_id C001 C002 What do you understand by normalization What are the different normal form What is de-normalization? Under what circumstances would you decide to de-normalise Normalize the following data structure Coursename DNIIT fees 4000 Duration (months) 24 36 Student ID S001 S002 S003 S1004 S005 Student Name Tina Lisa Toni William John Address NY NJ CA NY CA Date of Birth 01/01/80 01/10/78 02/28/69 03/02/82 age 20 22 31 18

e10000 Business 0

02/05/81 19

Section Seven Process hierarchy Charts


1. A chart structure or a process hierarchy chart is a graphical tool to represent the structure of a system. It depicts the hierarchy of modules 2. A process hierarchy chart is required for designing a system since: Hierarchy chart shows all functions in a simple graphic format It shows relationship of all functions in term of controller module and child modules It is excellent document for planning and monitoring program development and implementation 3. A module is a set of program statements with a given input, function, and output. A module must be named so as to be describe its function clearly 4. The module numbers indicate the hierarchical structure of the modules 5. Coupling refers to interdependence between different modules in a process hierarchy chart. There are two types: data coupling, and control coupling 6. Cohesion refers to interdependence activities within a particular module. There are several types. coincidental cohesion: element within a module have no relationship to each other. It should be avoided. logical cohesion: there are some relationship among the elements temporal cohesion: contains a set of function that are executed at the same time Appendix D. Summary Software Engineering D.7

communicational cohesion: posses cohesion refer to the same set of input or output element sequential cohesion: output of one element become input of the next element functional cohesion: all element in the module are related to perform of a single function Review Questions What are process hierarchy chart. How do they help in system development What do you mean by cohesion and coupling What is the difference between data couples and control couples What are different types of cohesions

Section Eight Software Quality Assurance


1. Software quality is defined as conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of professionally developed software 2. Factors that affect software quality are complex of conditions that can be measured based on certain data 3. SQA is a planned and systematic approach required to ensure the quality of a software product 4. Standards are criteria to which products are compared. Procedures are criteria to which the development and control processes are compared 5. SQA activities are: the application of technical methods, conduct of formal technical reviews, software testing, enforcement of standard, control of change, measurement, SQA audit, keeping record and reporting. 6. SQA audits the configuration management functions for adherence to standards and procedures and prepares report 7. A software review purifies the products of all errors by acting as a filter that can be applied at various points during software development such as analysis, design and coding 8. A Defect Amplification Model illustrates the generation and detection of errors during various stage of software engineering 9. A Cost analysis reveals that when no reviews are conducted, the development costs are three times more than that for software development without any reviews. 10. Formal Technique Review (FTR) are well-planned, controlled, and attended meetings that are conducted uncover the defects that can be removed in a software product 11. The documents to be maintained during FTR are: Technical Review Summary Report, Review Summary Report,

Appendix D. Summary Software Engineering

D.8

System Engineering Review Checklist, Software Project Plan Review List, Software Requirement Review Checklist, Preliminary architecture Review Checklist, Detailed Design Review Checklist, Code Review Checklist, Test Plan Review Checklist, Test Procedure Review Checklist, and Maintenance Review Checklist. 12. Software quality metric facilitates an evaluation of the effectiveness of techniques and tools, the productivity of development activities and the quality of products 13. Metric enable managers and developers to monitor the activities and proposed changes throughout the software development cycle 14. A Metric should be measurable, independent, accountable, and precise 15. The direct measures in a product include line of code (LOC), the execution speed, memory size, and defect report. 16. The indirect measures in a product include functionality, quality, complexity, efficiency, reliability, and maintainability. 17. Size oriented metric are used to collect direct measures of software engineering output and quality 18. Function Oriented metric Provides indirect measures that focus on functionality and utility 19. Software testing is the process of testing software in a controlled manner to ensure it behaves the way it is expected to. 20. The level of testing that software goes through are: Unit testing System Testing (integration testing, acceptance testing) 21. Test Design: consists of the following stages: Test strategy Test Planning Test Case Design (white box test, black box test) Test Procedure Design 22. Debugging is the process of analysing and locating errors when software does not behave as expected. The traditional debugging technique: snapshot dumps, trace facilities, the traditional breakpoint facility. Review Questions Define Quality. What is software quality What is an FTR Differentiate between size oriented and function-oriented metric What is software testing? What are the level of testing that software goes through Differentiate between black box testing and white box testing

Appendix D. Summary Software Engineering

D.9

Appendix D. Summary Software Engineering

D.10

You might also like