For use cases: You have an Actor, with a Goal, and the Busiess Processes to deliver.
“Attracting and Retaining Customers” is too large and vague to be a Goal in a Use Case”.
A good heuristic to identify whether a Statement is a Well Formulated Goal, is:
Can you specify in a simple narrative how to make it work?
Use Case for Amazon:
Purchasing a Book: Every one of the Steps can be programmatically executed in an Algorithm set of instructions.
Search for product
Drop a product into the Shopping Cart.
Click on “Order NOW”
Provide Payment information.
Provide Shipping Information.
Click on “Confirm Order”
The System completes the Use Case Transaction by sending a confirmation Email with order details and shipping date.
Learning Activity 1 6%
Write a Java Program from a SSD
Your Job:
Write Test Cases for this Program
HOW do you create Test Cases?
Creating TEST Oracles
Guarantee 100% Code Coverage
HOW do you KNOW that you have put test cases in all the Points in the program that you should test?
Learning Activity 1: Building an Enterprise Application - From Ideation to Implementation
Weight : 6%
Journal and chronicle your work into Markdown in GitBooks:
Put your URL into a text file named as StudentName_StudentID.txt and upload to
Note: My system is automated with Text file. Cannot Word, which most of you uploaded.
Please follow instructions carefully! If I wanted a Word File, I would have asked for a Word File!!!!
Learning Activity 1: Building an Enterprise Application - From Ideation to Implementation
Weight : 6%
Objective
In today's rapidly evolving IT industry, the ability to ideate, design, and implement solutions is paramount. This activity will walk you through the process of envisioning a problem domain and building a software solution for it, all while emphasizing best practices. By the end of this activity, you will not only have a grasp on the Unified Process methodology but also understand its significance in the cutting-edge domains of cloud computing and AI-driven economies.
Instruction Sheet
1. Ideate a Problem Domain
Think about a real-world problem that businesses face today, particularly in areas like cloud computing or AI integration.
For instance: "How can a large-scale enterprise ensure data integrity across multiple cloud service providers?"
Your aim is to design an enterprise application as a solution to this problem.
2. Create User Stories from the Problem Domain
Transform your problem domain into user stories, breaking down the needs and requirements.
Example: "As a database administrator, I want to have a unified dashboard where I can monitor data integrity across multiple platforms."
3. Apply Lexical Analysis to User Stories
Break down your user stories to identify key components:
Nouns: These often become the data elements in your UML entities.
Verbs: Translate these into intentions, actions, and behaviors in your UML entities.
From the previous example, database administrator might become an entity, while monitor could indicate an action associated with that entity.
4. Create UML Entities
Based on your lexical analysis, sketch the UML diagrams. This will serve as the blueprint for your enterprise application.
5. Develop a Traceability Matrix
Ensure that every user story and corresponding UML entity/component can be tracked back to the original problem domain.
This matrix ensures consistency in your design and ensures that all user requirements are met.
6. Write a Java Program from a System Sequence Diagram (SSD)
Develop the application logic for your solution.
7. Write Test Cases for Your Program
Creating Test Oracles: Define the expected outputs or behaviors for a given set of inputs or initial conditions.
Guaranteeing 100% Code Coverage: Make sure every part of your code is tested. Tools like JaCoCo can be utilized to measure code coverage.
Reflection & Value in the Industry
Understanding and implementing the Unified Process methodology is an invaluable skill. It's a foundation in areas like cloud computing, where there's a need for organized, iterative development and deployment. Similarly, in the AI-enabled cognition economy, being able to methodically plan, design, and execute solutions can set you apart.
Today, businesses seek graduates who don't just code, but understand the lifecycle of software development and the methodologies that streamline this process. By mastering these steps and creating well-documented, efficient solutions, you position yourself as an asset in the modern IT job market.
Documentation & Submission
Journal your progress, reflections, challenges faced, and solutions found.
Use Markdown to chronicle your journey, including code snippets, UML diagrams, and the traceability matrix.
Compile your documentation on GitBooks, making sure it's organized and easily navigable.
This will not only serve as your submission but also as a portfolio piece for future endeavors.
End Note
Treat this activity as a real-world project. The skills and methodologies you apply here have a direct application in numerous high-demand roles in the IT industry. Best of luck, and remember to keep iterating and refining your approach!
UML Knowledge Principle: The Dance & Song
Section 1: Introduction to Knowledge Principle
Lyrics:
(Verse 1) In a world where systems intertwine, The knowledge principle, it does shine. Objects know their role, and they stand tall, For in UML, they're at the heart of it all. (Chorus) The one that knows, holds the key, To the methods and process, as they should be. Unified in design, so clear and so crisp, Appropriate assignment, with a methodical twist.
Choreography:
Verse 1:
Dancers form interlocking circles, representing intertwined systems.
As "stand tall" is sung, dancers in the center rise, representing the central objects in UML.
Chorus:
Dancers disperse into individual spots, highlighting the importance of each object.
Hands outstretched to the side, showing how each object holds a method.
Section 2: Appropriate Assignment & Business Process
Lyrics:
(Verse 2) In every business process that we find, The one who knows most, leads the line. Assigning the tasks, the where and the when, In the dance of design, it happens again and again. (Chorus) For cohesion we aim, tightly knit and precise, Low coupling we champion, avoiding the vice. The object that knows, takes the charge in this dance, Leading the process, given the chance.
Choreography:
Verse 2:
Dancers form a line, with the leader (or the main singer) at the front.
The leader points to the side designating tasks to each dancer as the line moves forward.
Chorus:
Dancers come close together, representing high cohesion.
Then they disperse maintaining distance but still in sync, depicting low coupling.
Section 3: Solidifying the Principle with SOLID
Lyrics:
(Verse 3) Solid principles guide us so, High cohesion, the strength does grow. Low coupling, the freedom it gives, In the harmony of design, the principle lives. (Chorus) So dance with knowledge, and you'll see, The beauty of UML, and all it can be. With appropriate assignment, so clear and so free, Our systems will thrive, like a dance, in glee.
Choreography:
Verse 3:
Dancers form a solid block, representing the SOLID principles.
They gradually spread out but maintain a connection, illustrating high cohesion and low coupling.
Chorus:
All dancers come together, moving in harmony and celebrating the beauty of UML.
Ending in a grand pose with all hands reaching out, signifying the outreach and impact of the principle.
Costume Design Recommendation:
Main Singer: A sleek futuristic outfit, possibly metallic in hue, representing the cutting-edge nature of UML. A sash or a badge with the UML symbol would be a great touch.
Dancers: Outfits with binary code patterns, symbolizing the underlying code and systems they represent. Each dancer could have a unique color to signify the uniqueness of each object in a system.
Note: Ensure that the performance highlights the seamless interaction between the singer and the dancers, symbolizing the harmony between the knowledge principle and the business processes.