Software Development Assignment: System Analysis & Design For Real Estate Business
Task: This software development assignmentis a report on System analysis and modelling. The report is designed to assess your practical understanding of system analysis and design within a system project. Having analyzed the project case study, you are assumed to have a clear insight into the scope of the system analysis within a system development project. Students are required to analyse system requirements and draw diagrams such as Activity diagram, Use case, Domain model, System Sequence modeling diagram and user interfaces for the given case study. The assessment aims to develop your understanding of relevant skills and issues in various aspects of system analysis and design.
Case Study: Community Board of Realtors
In any community or metropolitan area there are normally many different real estate offices, each with many different real estate agents. Each of the offices will have a clientele of sellers who list their properties with the real estate office. Each office will also have a clientele of buyers who are looking to buy a property. Since these real estate offices are independent there is a need to have a common database of all properties available for sale within the entire metropolitan area. This service is usually provided by a centralized organization, often called the Community Board of Realtors.
Centralized information is required of all properties with detailed descriptions. This information needs to be available to all real estate offices and agents, as well as to buyers. The system needs to support adding and updating property information by the offices and agents. The system also must keep track of information about the real estate offices and the agents. The development of this system will benefit the centralized board, real estate offices and agents, the sellers and the buyers. Overall the system is required to have the following features for a variety of users.
o Easy to maintain real estate information and a smaller number of staffs will be required to manage that Offices and agents:
o Current information on all listings
o Automated updates and changes to listing information
o Listing books for perusing listings and for advertising
o Better able to serve clientele
o Broad listing of property listing ‘
o Wide advertising of property listing
o Availability of listing information throughout the area
o Detailed information and images available
o Easily able to schedule property visits
The system should also allow authorized access to the staff and management to generate and view customized reports for the proposed system.
You may also add other possible functions and make necessary assumptions that you deem necessary to function in this business case. You need to document all the assumptions in your report. Make sure to provide the appropriate references for the information that is accessed from the external resources.
The report must contain at least the following sections
1. Introduction: Introduce the important aspects of the case study.
2. Methodologies: Briefly describe the System development Life Cycle (SDLC) and discuss different approaches to SDLC. You are then required to choose one model that you find suitable for the system given in the case study and justify your choice.
3. Information gathering techniques: Choose a suitable information gathering technique to gather specific requirements and design at least 4 questions that can be asked from relevant stakeholders to capture the system requirements. Also list all functional and non-functional requirements gathered from different stakeholders and discussed in the case study.
4. Use Case Diagram: Provide the name and complete description of a use case for the proposed system and draw a use case diagram.
5. Activity Diagram: Provide an activity diagram the use case identified above.
6. Sequence Diagram: Provide a sequence diagram related to the case study.
7. Domain Model Class Diagram: Provide the domain model class diagram for the proposed system.
8. User Interface: Provide a final user interface design using dialog and screen prototypes for any of the use case listed above.
Conclusion: Write a brief conclusion by clearly defining and describing the findings in your own words related to the given case study
Software Development Life Cycle (SDLC) is a modern technique for creating compelling and working business models for more profitable results. The software development assignment discusses the process and methodology of the SDLC program based on a case study. The case study defines the need for a real estate business for a suitable SDLC model. The company requires the development of a more comfortable and effective program that would simplify the property dealing and leasing problem for dealers, sellers, and agents. The paper begins with a methodology section that explains the SDLC technique, its phases, and its types. Next, it discusses the different information collecting techniques and outlines the most suitable method for the business. The paper contains necessary data models such as the Use case diagram, Activity diagram, and Sequence diagram, which describes the module functioning in detail. Also, a user interface diagram gives a rough idea for the resulting module. Building SDLC models help in streamlining the operation and management of the business.
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC) is a concept-based model containing approaches and techniques for developing systems throughout their life cycles. SDLC model helps analysts in designing an information system that describes the operational functioning of the business (Kumar, 2018). Following is the list of activities listed in the SDLC model:
SDLC uses an approach of breaking down the work into systematic phases helpful in implementing a new or a modified Information System. The stages in the SDLC are:
1. Planning- The planning phase defines the problem and the existing system scope. It helps in overviewing the new system to determine its objectives and goals. The step considers threats, integration, constraints, and system security for consideration. The project feasibility report and schedule created at the end of the phase helps in taking decisions in further stages.
2. Analysis and Specifications- This phase involves information gathering, analysis, and validation. In this stage, requirements for the new system get specified, and new prototypes are formed accordingly. Alternative approaches get evaluated based on the requirements priority. It helps in examining the end-user needs and making modifications to system goals. Moreover, in the end, a Software Requirement Specification (SRS) document is created for specifying the hardware, software, and network requirements of the system.
3. System Design- This step involves the application, user interfaces, network, system interfaces, and database designing. The SRS document formed in the previous stage gets transformed into a logical structure, containing specifications and actions detail required to implement in the program. Also, plans for contingency, training, maintenance, and operations are formed. After that, the final design drafted gets reviewed to check whether it meets the requirements listed in the SRS document.
4. Implementation- In this stage, coding embeds the created design into the source code. All the modules detecting errors get combined for finding the defects. After test runs, a test report is created, containing test-related tasks such as testing criteria, test case generation, and resource allocation. At last, the information system is integrated into the environment for installing into the system.
5. Maintenance or Support- This step includes all the support, such as phone, online, or physical support, available for the users during the installation and operation of the program. Software changes based on user demand and additional features get updated over the period. It also includes resolving errors and bugs that appear during the software operation (Egasheva and Kruglov, 2020).
There are numerous SDLC models followed in the developmental stage. Each model differentiates from the other based on its unique series of phases for its success (Gupta, Jain, et. al 2021). Following is the list of SDLC models:
1. Waterfall Model
2. RAD Model
3. Spiral Model
5. Incremental Model
6. Agile Model
7. Iterative Model
8. Bigbang Model
For the given case study, the model that suits the best is the Agile Model. The Agile model promotes continuous iteration for the development and testing of the program during the SDLC project. In the Agile model, the entire program divides into small incremental builds, which can be developed separately. There is an iteration for each build divided, and each iteration lasts from one to three weeks. The characterization of an Agile model software phase occurs such that it addresses several fundamental assumptions made for the bulk of the software projects.
The problem statement in the case study is developing a software model for maintaining real estate information easily. The desired software requires various functions and features that can get resolved easily using the Agile model (Umudova, 2019). Also, it will help in easy building and rollover of updates in the program.
Information Gathering Techniques
The most suitable technique to collect information for creating the model is Questionnaires and Documentation review. Questioning the end-users will help identify the essential features that the model must have. Moreover, it will help the management better understand the required elements. Documentation review of the modules of the other organizations will allow the analysis team to study their management programs. The analysis will help in building a more sustainable and advanced module. It will help eliminate the flaws and have new features for a better experience.
Questions to be asked from the stakeholders for capturing system requirements are:
1. "How might we meet the business need"
2. "Who will learn the results of someone using the software for a longer time"
3. "What more features does the system require"
4. "Where would the results be visible"
Functional requirements gathered from different stakeholders, and the case study includes:
1. A verification email must be sent whenever a user logs in for the first time on a machine.
2. The systems must get shut immediately when cyber-attacks occur.
3. The user must get authenticated while logging in.
Non-Functional requirements gathered from different stakeholders, and the case study includes:
1. The delay in sending the emails should be no longer than 6 hours.
2. Each request processing must occur within 15 seconds.
3. The site must load within 3 seconds whenever there are simultaneous users >15000.
Use Case Diagram
A Use Case Diagram is a graphical method of summarizing the interaction of the user with the system. The diagram describes the accessibility of various functions for different people in the company (Fauzan, Siahaan, et. al 2021).
For the given case study, the system will get operated by the buyer, seller, admin, and office/agent.
A buyer can access the login module from which it can access different options such as account management, edit, and delete. Also, a buyer can search for the listed properties using the search () function.
A seller can access through the login and list their property on the web. A seller can also select different advertisement plans as per their interest to display their site. A seller can also manage the posts made by them.
Office/Agent- Agents will operate through the office, accessing all the data available in the system, but cannot manually delete any person's profile and property advertisement without admin command.
Admin- An admin monitors all the actions and can amend changes as per the requirements.
Activity diagram is the graphical representation of the system's behavior. It displays the internal operation procedure of the software based on commands. Different shapes are present to represent distinct conditions. A circle represents the beginning and end of the program, a rectangle represents the statement, and a diamond represents the condition (Arora and Bhatia, 2018).
The above diagram represents the activity diagram while a user registers and logs into the system. The program begins with a user registering for the company's service. Next, the system asks for the login ID and password as a set. It matches the input values with the database values and returns yes or no. The invalid condition returns the user to the login page. On successful authentication of the details, the user moves to the next window for accessing necessary features. The activity above ends when the user gets into their profile for management and operation.
The above diagram represents the activity diagram when a user logs into the system to operate internal functions. The program begins with a user login to the management application. Next, based on the user selection, the program checks whether the user has permission to access it. The program continues in a loop until the user logs out from the system.
A sequential diagram is an interaction model that represents the functions interchange in a time sequence. The arrows from top to bottom are the sequence of the functional operation (Triandini, Fauzan, et. al, 2019).
The above diagram explains the login sequence of the user. When a user logs in, it first sends their user ID. Then they enter their password for authentication. The system verifies the values entered and then permits the user to access the profile.
The above diagram explains the registration sequence of the user. The user enters the required details on the interface. The system verifies the username to be unique and confirms it to the user. The register () function helps in completing the procedure.
Personal Information Modification
The above diagram explains the personal information modification sequence of the user. The user enters its new details on the interface. The system verifies the username and updates it in the profile. The personal information modification () function helps in completing the procedure.
Property Information Modification
The above diagram explains the information modification sequence of the property. The user enters the property’s new details on the interface. The system verifies the username and updates it in the post. The property information modification () function helps in completing the procedure.
Display Property Details
The above diagram explains the sequence for displaying property details. The user enters the required property information such as location, size, and area. The system tallies these details from the database and displays the resulting values through the result show () function.
Domain Model Class Diagram
A domain model class diagram is a graphical representation of conceptual classes in the real world rather than software components. It establishes a relationship between the business classes, defining the data and information flow in the structure. The modeling provides better problem understanding and translates the requirements into software components for a quicker solution (Assunção, Vergilio, et, al, 2020).
The diagram above displays the domain class model for the given case study. The primary and independent classes contain the essential information of the end-users, such as their names, contact numbers, addresses, email addresses, and unique identification codes. The Office class can access the details of the agent. The Agent, Buyer, and Seller have access to the property listing class, which contains the necessary information of the property. The listing class has two sub-classes, Lease and Sale. The lease class contains the information of the properties that the seller has agreed to rent. The sale table class holds the details of the properties being sold.
User Interface Design is helpful for designers in making interactive and attractive interfaces for their software. It focuses more on the style and design of the interface, making it more interactive and easier to use for the users. These designs include computers, home appliances, software, and other electronic devices. The designer aims to satisfy the usability experience of the operator, making it more relaxing and compatible with the system (Bødker, 2021).
The management and operation of any business via the internet need proper planning and strategy for better outcomes. SDLC modules create the perfect module that software requires, streamlining its performance for higher results. For the real estate company described in the case study, the Agile model suits best as it divides the program into iterations that can get developed and tested individually. Such a model makes the program open to recommendations, so easy and quick modifications can happen.
The use case model developed clarifies the user-function operation. It outlines the functions that each user can access in the module. The sequence diagram explains the sequential operation of commands requested by the user from the system. It highlighted the functions responsible for each task in the software. The domain class model explained the data flow procedure of the module. These modules simplify the business operation, which helps the operators to take effective decisions.
Kumar, M., 2018. A Comparative Study of Universally Accepted SDLC Models for Software Development. vol, 4, p.31. https://www.academia.edu/download/57069594/2908.pdf
Dhir, S., Asthana, M., Gupta, K.D. and Jain, A., 2021. Comparison of SDLC Models Based on Software Estimation Techniques. Advanced Computing Techniques: Implementation, Informatics and Emerging Technologies, 12, p.91. https://books.google.com/bookshl=en&lr=&id=SoROEAAAQBAJ&oi=fnd&pg=PA91&dq=sdlc+models&ots= ZIaqdjrUDS&sig=Gh6N5dZyg4lFcGes5xHoG6AYxsQ
Ergasheva, S. and Kruglov, A., 2020, December. Software Development Life Cycle early phases and quality metrics: A Systematic Literature Review. In Journal of Physics: Conference Series (Vol. 1694, No. 1, p. 012007). IOP Publishing. https://iopscience.iop.org/article/10.1088/1742-6596/1694/1/012007/meta
Umudova, S. (2019). Analysis of software maintenance phases. Noble International Journal of Scientific Research, 3(6), 62-66. https://napublisher.org/pdf-files/NIJSR-3(6)-62-66.pdf
Fauzan, R., Siahaan, D., Rochimah, S. and Triandini, E., 2021. A Different Approach on Automated Use Case Diagram Semantic Assessment. Software development assignmentInternational Journal of Intelligent Engineering and Systems, 14(1), pp.496-505. http://www.inass.org/2021/2021022846.pdf
Triandini, E., Fauzan, R., Siahaan, D.O. and Rochimah, S., 2019, July. Sequence diagram similarity measurement: a different approach. In 2019 16th International Joint Conference on Computer Science and Software Engineering (JCSSE) (pp. 348-351). IEEE. https://ieeexplore.ieee.org/abstract/document/8864207/
Arora, P.K. and Bhatia, R., 2018. Agent-based regression test case generation using class diagram, use cases and activity diagram. Procedia Computer Science, 125, pp.747-753. https://www.sciencedirect.com/science/article/pii/S1877050917328648 Assunção, W.K., Vergilio, S.R. and Lopez-Herrejon, R.E., 2020. Automatic extraction of product line architecture and feature models from UML class diagram variants. Information and Software Technology, 117, p.106198. https://www.sciencedirect.com/science/article/pii/S0950584919302058
Bødker, S., 2021. Through the interface: A human activity approach to user interface design. CRC Press. https://www.taylorfrancis.com/books/mono/10.1201/9781003063971/interface-susanne-b%C3%B8dker