Software Analysis and Design Case Study - Edited
Software Analysis and Design Case Study - Edited
Student’s Name
Institution of Affiliation
Class
Professor’s Name
Date
2
Deliverable 1
(Part 1)
Main Phases of SE life Cycle of the System
In the implementation and coding phase, the software teams start to build the legal
system code that will solve the problem at hand. The developers will use the design document to
translate the software into source code. At this phase, all the components of the legal software
system are implemented.
Testing
Once the coding is completed, testing of the legal software system begins. The modules
for the software are released for testing. In the testing phase, tests are performed on the
developed software to ensure if there are any issues or defects, they are fixed by the developers.
The system is tested according to the legal standards to ensure it meets the needs of the online
legal consultation system. Any bugs reported within the system are fixed to ensure their high
quality when the end-user uses them. Since the system will be used by many users who involve
the system admins, lawyers, and clients for legal consultation, the testing of the system will be
interactive. Interacting with the system will help determine its heterogeneity and robustness.
Deployment
After the software product has been tested, it is deployed in the production environment
after it has been tested to meet the customer's expectations. After the system has passed the
testing stage day and is in accordance with the legal consultations requirements, the system will
then be deployed. At this stage the software, the software is expected to be efficient and fast in
meeting the end-user needs. If an online legal consultation company is contented with the
system, it will proceed with using the system. Additional testing can also be implemented in the
live environment to ensure that the deployment phase is efficient and adequate.
Maintenance
After deploying the software product in the production environment, the following phase
is the maintenance of the product. The key essence of the maintenance phase is to ensure any
software issues that immerge are taken care of and fixed by the developers (Georgiou et al.,
2019). Since the end-product software will involve many users in the online legal consultation
process, there is the likeliness of low speed and non-functional requirements that can arise. In
case of any issues, the developers will fix them to ensure maximum software efficiency.
Software Engineering Methodologies
The software engineering models include the waterfall model, V-shaped model, prototype
model, spiral model, interactive incremental model, Bing Bang model, and Agile model.
i. Waterfall Model
Waterfall model is the first model to be introduced as a process. It is easy to understand and
apply. In waterfall model, one face must be finished before beginning the next phase (Kramer,
2018). It utilizes a sequential and linear flow.
4
Advantages
Easy to comprehend and apply
It is easy to manage due to its rigidity.
The results and processes are documented at any step.
It has clearly defined stages.
It is more effective for smaller projects.
Disadvantages
It is difficult to measure development within stages.
It is not suitable for projects that are at risk of change in requirements associated with
process model.
Not suitable for complex programs.
Advantages
Each phase of the model is performed one at a time.
It is well-defined hence suitable for simple projects.
Straightforward and simple to understand.
It is easy to manage
Disadvantages
It involves higher risk and uncertainty.
It is not suitable for complex systems.
Uncertainty and high risk.
It is difficult to update after the software has entered the testing stage.
It is not suitable for higher risk projects.
Advantages
Easy to break the development into smaller portions for earlier risk management.
Easy to capture requirements.
Users can interact with the system.
Extensive use of prototypes.
Easy to address changing needs.
Disadvantages
It is a complicated procedure.
Costly for small scale initiatives.
Project results are not known for some time.
Difficult to manage.
Advantages
It requires little resources.
It is easy and quick to build functionalities.
It promotes cross training and collaboration.
8
editors are appropriate for this since they do not format or change the text. Some text editors
have operating systems that allow you to modify the source code of a programming language,
which can be valuable throughout the implementation and maintenance phases.
iv. Python
Python is a programming language that enables programmers to create logical and succinct
code for software development projects. Python would be required throughout the
implementation phase when programmers develop the application and during the maintenance
phase if changes to the code were required.
v. Excel
Excel is a popular spreadsheet tool for organizing data in reporting, project management
tracking systems, and other tasks. Excel may be used during the requirements phase when the
project manager generates the required papers. In addition to doing calculations, Excel can store
and organize data and documents that may be used to build a report. It makes Excel handy when
software documentation is created throughout the deployment phase and may be resorted to
during the maintenance phase if a new developer needs to access the application code.
Ethical and Legal Issues Table
EL – Ethical and Legal Issues
EL Description Justification
Identifier
EL1 No unauthorized user will have The information submitted in the system
access to the legal consultation is private and can only be accessed by
data from clients and lawyers. the parties sharing the information. That
is a lawyer and client.
EL2 The system can track registered It will help the systems admins
accounts, consultations, user efficiently manage lawyers' and clients'
accounts management, payments legal tasks and transactions.
management, and users contacts.
EL3 The system will offer lawyers and Since the system involves legal
clients an efficient platform to consultation between lawyers and clients,
perform legal consultation tasks it will only serve their mutual
online. communication interests.
EL4 Only registered lawyers and Since the system admins are responsible
clients will be able to interact with for the lawyers' tasks in the legal
the system. consultation with their clients, the
admins should ensure the system
environment is secured.
EL5 The manager might adopt a fixed It can be unethical for the legal
budget for the system since it is a consultation organization to be charged a
new one; hence there is a high cost for the system. Their budget
possibility of not affording will be taken into account in developing
complex software. the system.
10
Process Re-Engineering
Process Re-engineering is a software development method used to increase the
maintainability of a software system. It is rearranging and altering existing software systems to
make them more manageable. It involves altering a system and reconstituting it in a new form. It
is carried out by developers as part of the maintenance process without disruptions to the existing
software. It involves adding functionalities that will ensure the efficiency of the system. The re-
engineering process is cost-effective compared to developing a full system.
In the case of the legal consultation system, new requirements need to be collected to
update the system by restructuring the source code to result in the desired software. Reversed
engineering will be implemented by the developers before process re-engineering, which is the
obtaining of software specifications. It will help to maintain the maintainability and reliability of
the software.
(Part 2)
Methodology for the Online Legal Consultation System
The Agile model can be considered the most suitable for the Online legal consultation
system. The main reason is that Agile is a combination of iterative and incremental approaches
that fit flexible requirements (Tripathi et al., 2021). At each phase of developing the online legal
consultation system, using the agile method, it is easy to test for each iteration. As a result, it is
easy for the developers' team to identify small issues that may develop into big challenges. The
lawyers who are intended users of the system will also be engaged to provide feedback
throughout the development process. The model is suitable for developing a complex system; the
development team will ensure it meets its requirements through close monitoring throughout the
development process. By using the agile methodology, the clients, managers, systems admins,
and the system owners will be able to interact regularly, resulting in faster development on the
system keeping in mind that COVID-19 has resulted in a shift in the use of information
technology. The system will timely be developed and provide maximum functionality to legal
consultation firms. Legal will be able to create profiles that system admins will approve to ensure
trusted lawyers are available in the system. The agile methodology will also provide an
interactive environment for both the clients and lawyers.
Online Legal Consultation System: Tool for Requirement Phase
The tool utilized to collect the online legal consultation system requirements involves
virtual interviews with lawyers and possible clients for legal consultation. The results will be
incorporated into the FCM model. Due to COVID-19, it is possible to perform formal interviews;
virtual interviews were preferred. Observation and research on the problem at hand were also
analyzed to come up with deliverables for the system requirements. The obtained requirements
help in the definition of the criteria for programming, which is the foundation for designing the
software.
There are various online modeling tools online that can be utilized, such as:
i. GenMyModel is more modeling than a drawing tool supporting teams, allowing
simultaneous and easy collaboration.
ii. Gliffy – is an online diagramming application that greatly supports UML diagrams.
11
iii. Draw.io – a web diagramming tool. It allows a user to draw and share a diagram.
iv. Lucid chart – a cloud program for diagramming. It allows collaboration in building,
modification, and distribution by users.
Foldable Concept Model (FCM):
12
Proxy Node:
Proxy Node:
References
Georgiou, S., Rizou, S., & Spinellis, D. (2019). Software development life-cycle for energy
efficiency: techniques and tools. ACM Computing Surveys (CSUR), 52(4), 1-33.
Kramer, M. (2018). Best practices in systems development life-cycle: An analysis based on the
waterfall model. Review of Business & Finance Studies, 9(1), 77-84.
Pinciroli, F., Justo, J. L. B., & Forradellas, R. (2020). Systematic Mapping Study: on the
coverage of aspect-oriented methodologies for the early phases of the software
development life cycle. Journal of King Saud University-Computer and Information
Sciences.
Piotrovskyi, Y. (2022). The most common software development methodologies. Top Ukrainian
IT Outsourcing Firm: Software Development Company | Yojji. https://yojji.io/blog/the-
most-common-software-development-methodologies
Shafiq, S., Mashkoor, A., Mayr-Dorn, C., & Egyed, A. (2021). A Literature Review of Machine
Learning and Software Development Life cycle Stages. IEEE Access.
Tripathi, V., Chattopadhyaya, S., Mukhopadhyay, A. K., Sharma, S., Singh, J., Pimenov, D. Y.,
& Giasin, K. (2021). An innovative, agile model of smart lean–green approach for
sustainability enhancement in Industry 4.0. Journal of Open Innovation: Technology,
Market, and Complexity, 7(4), 215.