Anda di halaman 1dari 32

qwertyuiopasdfghjklzxcvbnmqwertyui opasdfghjklzxcvbnmqwertyuiopasdfgh jklzxcvbnmqwertyuiopasdfghjklzxcvb nmqwertyuiopasdfghjklzxcvbnmqwer ADDRESS BOOK tyuiopasdfghjklzxcvbnmqwertyuiopas dfghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyuio pasdfghjklzxcvbnmqwertyuiopasdfghj klzxcvbnmqwertyuiopasdfghjklzxcvbn mqwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

Project title: Address book Subjects: Objective oriented analysis and design Principles of software engineering

Project members:

B.Siva Rushi

10MSE1063

A.Sudhakar Reddy 10MSE1059 G.Nandini Ch.Sridevi - 10MSE1073 - 10MSE1066.

Project steps:

Introduction (me) Back ground work(me) User Requirements(nandu) Critical System Specifications(baddu) Software process Model(sri) Software Design/ Architecture(baddu) System Testing(nandu $ sri) System verification and Validation(me) UML Diagram Algorithm(me) Conclusion(me)

Introduction:

In this project we are going to build a software model for A SIMPLE ADDRESS BOOK. Our main aim of this project is to store the address data of N number of persons and arrange them by using their names and other formats like sort by zip, state, name. By this Address Book Application we are going to store the details of people. It mainly contains the following details Create a address book, Add a person, Edit a person, Delete a person, Sorting the entries, Open existing address book We are going to implement using the methods and sources of Objective Oriented Analysis & Design and Principles of Software Engineering.

Back ground Work:


The software to be designed is a program that can be used to maintain an address book. An address book holds a collection of entries, each recording a person's first and last names, address, city, state, zip, and phone number. The most important entries to add to a new entry are the Name and zip code The name entry shows up as a "friendly" name, but there are lots of spaces to fill in(like home address, working address, home & work phone & fax numbers etc) The address book actually has two components; Sort by name & sort by zip. You specify the address type when you create a new entry , so you don't need to memorize the address formats

Requirements:
a) User Requirements: It must be possible to add a new person to an address book, to edit existing information about a person (except the person's name), and to delete a person. It must be possible to sort the entries in the address book alphabetically by last name (with ties broken by first name if necessary), or by ZIP code (with ties broken by name if necessary). It must be possible to print out all the entries in the address book in "mailing label" format. The initial requirements call for the program to only be able to work with a Single address book at a time. b) Functional Requirements: If the user chooses the New or Open menu option, any current address book will be closed before creating/opening a new one. A later extension might allow for multiple address books to be open, each with its own window which can be closed separately, with closing the last open window resulting in terminating the program. In this case, New and Open will result in creating a new window, without affecting the current window. The program will keep track of whether any changes have been made to an address book since it was last saved, and will offer the user the opportunity to save changes when an address book is closed either explicitly or as a result of choosing to create/open another or to quit the program. The program will provide the features like sort by name or zip Colorful appearance to make the user satisfactory and system is fast without any delay.

c) Non-Functional Requirements: Security for confidential details. Proper design of the system and its architecture. Access to the system during a defined period of time. Good performance and efficiency.

d)System Requirements:
The main functionality of the software is generating the details of a particular person by sorting in the order of name or by zip. Updating the software when ever a new changes occur e)Domain Requirements: 1) There shall not be any new user who will see the private and protected contents without the permission of the administrator. 2) There shall be an interface which shall provide the information in proper, simple and in readable format.

Critical System Specification


i. Risk Driven Specification: Its objective is to understand the risks faced by the system and generate dependability requirements to cope with them. This specification has been widely used by the safety and security system critical system developers. ii. Risk identification: The possible risks in a address book system can be: 1) There can be overlapping of similar names & Zip code. 2) The person may not be available in particular address. 3) There should not be more details about the person. 4) The system may be stopped working in middle. 5) The system cannot be store more details than the available once 6) The address book memory size may be lower. 7) Address or the details may be wrong. iii. RISK ANALYSIS AND CLASSIFICATION We need to make this analysis to understand whether a risk is a serious threat to the system or environmental and to provide a basis for deciding the resources that should be used to manage the risk.

The above risks can be categorized as


Risk no. 1 2 3 4 5 6 7 Probability High Low Low Medium High Medium Low Severity Medium Low Low Medium Medium Medium Low Estimated risk High Low Low Medium High Medium Low Acceptability Intolerable Acceptable Acceptable ALARP Intolerable Intolerable Acceptable

iv. RISK DECOMPOSITION: Risk decomposition is the process of discovering the root causes of risks in a particular system. Risk analysis can be deductive or inductive. v. RISK REDUCTION MANAGEMENT: There are three possible strategies that we can use here are 1)Risk avoidance The system is designed so that the risk or hazard cannot arise. 2)Risk detection and removal The system is designed so that risks are detected and neutralized before they result in an accident. 3)Damage limitation The system is designed so that the consequences of an accident are minimized. vi. Safety Specification: Functional safety requirements : The Exceptions that occur when the user is running the system is taken care by the Exception Handler mechanism which is embedded inside the code for different types of exception.

The Architectural Model is chosen in such a way that the Overloading of data, almost never occurs at all Safety integrity requirements : The Data Protection System, Exception Handling Mechanism etc. is made for a purpose, i.e to make the system easier, safer , better to use. Assurance can be given to this Safety system as it is made to work 24 X 7 , round the clock. The Code is designed in such a way. Security forms an important aspect of any critical system. The safety critical system itself is designed and implemented, as are related external systems that may provide additional protection. Safety management doesnt stop on delivery of the system, the system must be installed as planned so that the hazard analysis remains valid. Safety must also be managed during the operation and the maintenance of the system.

vii. Security specification:

Privacy requirements: Data privacy is to be maintained only for Admin as he manages all the operations. The files for proper functioning of the system are held private and no one but the Admin can access it. Only who are stored data in the system that set of persons are allowed to be private for as this system is meant for sharing information. Security auditing requirements: System can be audited and checked by the Admin and the Board of Directors to give a well maintained , refined and updated system to the users.

Any security requirement is often shall not requirements that define unacceptable system behavior rather than system functionality. The conventional approach to security analysis is based around the assets to be protected and their value to an organization. A possible security specification process has three basic processes. They are:
1)Asset Identification:

Here the asset can be people details which must be confidential. The code through which the address book is being generated has to be write protected. The unknown details should be hided.
2) Threat analysis and risk assessment:

As mentioned above these possible threats has to be eliminated by possible means. The username and password of the address book user have to be encrypted using encryption techniques and the algorithm should be kept hidden, database has to hidden.
3) Threat assignment:

For an identified threat there should be an associated asset (here assets include the data/algorithm/user).
4) Technology analysis:

The available techniques of the modern technology has to be used. Technical assistance is must for any system to prevent it from misuse. Some of them are powerful anti-virus to protect the system from spyware and malware. Reliability

Software reliability specification:

Reliability is a complex concept that should be considered at the system level rather than the individual component level. Because the components of a system are independent, a failure in one component can cause a system failure. Here the system being a computer-based system we have to consider three dimensions when specifyin00g the overall system reliability. 1) Hardware reliability: We need to check the level of hardware failure in a system. In this system the probability of hardware failure is more compared to other systems but it should not be neglected. 2) Software reliability: How likely is that a software component will produce an incorrect output? Software failures are different from hardware failures in that software does not wear out. It can continue operating correctly after producing the incorrect result. In this system there can be failure in the system due to data errors, same names for persons, same pins can be assigned to the people , linking of the database with the system etc. 3) Operator reliability: The operators in this system can be a common man. Any one of them are not exposed to the usage of the system it is more likely to cause an error.As all these are closely linked and are interdependent of each other they should not be neglected at any level of system design.

Software Process Model:


Software Process Model is an abstract representation of a software process. Each process model represents a process from a particular perspective, and thus provides only partial information about that process. There are three Software Process Models. They are: 1) Waterfall model 2) Evolutionary development

3) Component-based software engineering The model used in this project is Component-based software engineering Because this approach is based on the existence of a significant number of reusable components. The system development process focuses on integrating these components into a system rather than developing them from scratch. The purpose of using this model approach is, The variables such as name, address, city, zip same for all persons are same. As a result the some part of the system remains constant. The basic requirements of this system is the database system.

The three important parts of component based software engineering are: 1)Component analysis: It takes into consideration the basic components required by any system for proper functionality and data flow. The components that can be taken into consideration in this system are Actors- The actors in our system is the user.

Database which includes the list of persons , the we going to sort the entries such as by name or by zip. 2) Requirements modification: As stated the basic requirement of this system is the database which holds the address details of the people details along with the name and zip. 3) System design with reuse: Here the concept of reusability is best utilized. The existing framework . Here the code used for interface design is reused along with the data linkage that is the data linked to the people can be edited any number of times and any number of new users can be edited and deleted.

System testing: Software testing process has 2 goals

1.To demonstrate to the developer and the customer that the software meets its requirements . 2.To discover faults and defects in the system where the behavior of the software is incorrect, undesirable or does not conform to its specification.

System Design and Architecture:


The system is designed based on the architectural and system characteristics: 1)Its designed such that it will produce better performance.

2)Offers better security through RSA-Encryption technique. 3)Its is a safety system no loss of life etc.. 4)Ease of maintenance through time to time updates of the system. The Architectural model used is the Repository model The repository model Sub-systems must exchange data. This may be done in two ways: Shared data is held in a central database or repository and may be accessed by all subsystems; Each sub-system maintains its own database and passes data explicitly to other sub-systems. When large amounts of data are to be shared, the repository model of sharing is most commonly used.

Software Testing:
A)Component Testing:

1) Test whether the software can hold high amount of data in its database. 2) Test the reaction time taken for a address to be stored. 3) Test the individual Software and Hardware components of the working system. 4) Testing all operations associated with an object 5) Setting and interrogating all object attributes 6) Composite components with defined interfaces used to access their functionality.

B) System Testing:

1) Test the login mechanism to check that only administrator can use when it is locked, else every one can access it when unlocked. 2) Test the search facility using different queries against known sources to check that the search mechanism is actually finding the required data relevant to the user input. 3) Test the mechanism to request permission for sharing and receiving data and business cards from other. 4) Test whether the data stored on a particular name is stored properly and can retrieve back when needed. 5) Test that whether it can be updated when ever a new changes takes place.

Performance testing:

Test the Performance of the System because performance is the only thing which most people will expect from any software more than the look and feel. Performance tests usually involve planning a series of tests where the load is steadily increased until the system performance becomes unacceptable. Verification &Validation: Verification and validation are not the same thing. They can be termed as Verification : Are we building the right product? Validation : Are we building the product right? Verification : Verification of user is done in a process by checking the verification question. Verify that the new,open,save,delete and other functions of the software is working properly. Verify does the software reaches specifications . Only the stored data members of system can edit or Delete the above mentioned several topics so, this should be verified. Verification involves checking that the software confirms to its specifications. We should check that the software meets its specified functional and non functional requirements. Here our project on address book meets all its specified functional and non functional requirements

Validation : The aim of validation is to ensure that the software system meets the customers expectations. It mainly reflects that did the software actually satisfies the user. The ultimate goal of the verification and validation process is to establish confidence that the software system is fit for purpose. This means that the software is good enough for the intended use. Algorithm:

The process involved is *After the person gets into the Address Book process *Then following options will be displayed for user *Add, Edit, Delete ,Sort By Name, Sort By ZIP *When the user chooses a ADD option the display book with the details to be stored for a new user will be displayed and it can be saved. * When the user chooses an EDIT option the display book With the details of the user to be edited is displayed and he can edit the details and it can be saved. * When the user chooses a DELETE option the display book with the details of the user to be deleted. * When the user chooses a SORT BY NAME option the display book with the details of the user sorted by name is displayed.

*When the user chooses a SORT BY ZIP option the display book with the details of the user sorted by zip is displayed. .
USE CASE: The various use cases work with these objects, as follows:

The Add a Person Use Case involves getting the new information from the user, and then telling the Address Book object to add a new person with this information to its collection

The Edit a Person Use Case involves displaying the current information about the desired person (obtained from the Address Book), then allowing the user to enter new information for the various fields, then telling the Address Book object to make the changes.

The Delete a Person Use Case involves asking the user to confirm deletion, and then telling the Address Book object to remove this person from its collection.

The Sort Entries by Name Use Case involves telling the Address Book object to rearrange its collection in order of name.

The Sort Entries by ZIP Use Case involves telling the Address Book object to rearrange its collection in order of ZIP. The Create New Address Book Use Case involves creating a new Address Book object.

The Open Existing Address Book Use Case involves getting a file specification from the user, and then telling the File System object to read in an Address Book object from this file.

The Save Address Book Use Case involves determining whether or not the current Address Book object has a file it was last read from / saved to; if so, telling the File System object to save the current Address Book object to this file. (If not, the Save Address Book As ... Use Case is done instead.)

The Save Address Book As ... Use Case involves getting a file specification from the user, and then telling the File System object to save the current Address Book object to this file.

The Print Address Book Use Case involves telling the Address Book object to print out its collection in order. (The Quit Program Use Case does not involve any of the other objects) (The Offer to Save Changes Extension may involve performing the Save Address Book Use Case.)

Use Case Diagram

Sequence Diagrams

Class Diagram

Activity Diagram

StateChart Diagram:

Note: all the above diagrams are drawn using online drawing (www.gliffy.com) tool and pasted here..

Conclusion: Thus the software address book system developed provides the user a basic address book which is used to store the details of the persons. It satisfies all the software requirements, system testings, it is validated and verified . We attested all our UML diagrams for the address book and also the algorithm was included.

Anda mungkin juga menyukai